LINUX.ORG.RU
ФорумAdmin

SQUID kerberos and failback LDAP auth

 


1

1

Всем привет!

Имею конфигу:

# egrep -v '^(#|$)' /etc/squid3/squid.conf 
auth_param negotiate program /usr/lib/squid3/negotiate_kerberos_auth
auth_param negotiate children 10
auth_param negotiate keep_alive on
auth_param basic program /usr/lib/squid3/basic_ldap_auth -R -b "CN=Users,DC=xxxx,DC=ru" -f sAMAccountName=%s -h xxx -D "CN=reader,CN=Users,DC=xxx,DC=ru" -w xxx
auth_param basic children 5
auth_param basic realm Weclome!
auth_param basic credentialsttl 2 hours
acl auth proxy_auth REQUIRED
acl SSL_ports port 443
acl Safe_ports port 80		# http
acl Safe_ports port 21		# ftp
acl Safe_ports port 443		# https
acl Safe_ports port 70		# gopher
acl Safe_ports port 210		# wais
acl Safe_ports port 1025-65535	# unregistered ports
acl Safe_ports port 280		# http-mgmt
acl Safe_ports port 488		# gss-http
acl Safe_ports port 591		# filemaker
acl Safe_ports port 777		# multiling http
acl CONNECT method CONNECT
http_access deny !auth
http_access allow auth
http_access deny all
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access deny all
http_port 3128
coredump_dir /var/spool/squid3
refresh_pattern ^ftp:		1440	20%	10080
refresh_pattern ^gopher:	1440	0%	1440
refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern .		0	20%	4320

При таком конифге, Linux работает адекватно (firefox)! Если нет kerberos билета, предлагает BASIC AUTH - c ldap. Всё ок. Windows клиенты - не важно, firefox, IE: если нет kerberos билета, выкидывают окно аутотентификации BASIC AUTH - c ldap, при вводе пароля, окно снова вылетает (и так до бесконечности). При том в логе squid такое:

TCP_DENIED/407 4702 GET http://www.google.ru/url? - HIER_NONE/- text/html

Удалось нагуглить, что Windows посылает похоже не только Kerberos, LDAP, но и NTLM запрос. От чего squid сходит с ума... http://serverfault.com/questions/544858/http-proxy-authentication-kerberos-fa... - очень походит на правду.

Что собственно делать в таком случае? Потыкал палочкой: /usr/lib/squid3/ntlm_fake_auth - но это не то, что нужно насколько я понимаю.

Как быть?

# squid3 -v
Squid Cache: Version 3.3.8
Ubuntu
configure options:  '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--enable-inline' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,rock' '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-underscores' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-auth-basic=DB,fake,getpwnam,LDAP,MSNT,MSNT-multi-domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB' '--enable-auth-digest=file,LDAP' '--enable-auth-negotiate=kerberos,wrapper' '--enable-auth-ntlm=fake,smb_lm' '--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '--enable-icmp' '--enable-zph-qos' '--enable-ecap' '--disable-translation' '--with-swapdir=/var/spool/squid3' '--with-logdir=/var/log/squid3' '--with-pidfile=/var/run/squid3.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--enable-linux-netfilter' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security'
★★★★★

Последнее исправление: cetjs2 (всего исправлений: 3)

Не совсем понял что ты хочешь - просто чтобы клиенты не из домена могли авторизоваться через basic auth?

У меня бейсик сделан тоже через керберос, работает без проблем:

squid.conf

auth_param basic program /opt/squid/libexec/basic_pam_auth -n squid -t 300 -o
auth_param basic children 30 startup=5 idle=5
auth_param basic credentialsttl 10800 seconds
auth_param basic realm squid.domain.ru

/etc/pam.d/squid

auth sufficient pam_krb5.so alt_auth_map=%s@DOMAIN.RU
account required pam_krb5.so

Ну и сам pam_krb5 поставить, krb5.conf у тебя настроен уже я так понимаю.

Клиенты из домена авторизуются прозрачно, остальные через окно с логином-паролем.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Не совсем понял что ты хочешь - просто чтобы клиенты не из домена могли авторизоваться через basic auth?

Да. Ты совершенно прав. Хочу, чтобы те, кто не в домене, могли придти браузером через LDAP. Я настроил раздачу настроек через wpad, вполне вроде не плохо смотрится.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle

Спасибо тебе огромное! Завтра попробую!

DALDON ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle

Подскажи, а где в твоих конфигах keytab файл? krb5.conf настроен. С этим нет проблем. Судя по описанию оно вообще не требует его... Я прав?

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 2)
Ответ на: комментарий от DALDON

Да, pam_krb5 работает без кейтаба вроде отлично, кейтаб нужен только для проксирования тикетов от клиента к домен-контроллеру при прозрачной авторизации.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Блин, я плоховато если честно понимаю роль keytab в полной мере. Но,

pam_krb5 - Kerberos 5 authentication

When a user logs in, the module's authentication function performs a simple password check and, if possible, obtains Kerberos 5 and Kerberos IV credentials, caching them for later use.

С этим ясно. На то он и PAM, чтобы так хитрить.

Но если браузер у меня ему отдаст тикет... Что он делать то с ним будет... Не понятно. - Если не трудно, можешь объяснить? - Тут вот уже видимо нужен-же keytab.

keytab=FILE:/etc/krb5.keytab

tells pam_krb5.so the location of a keytab to use when validating credentials obtained from KDCs.

Может оно? Может ты не пользуешься этим, так-как твоя машинка со squid уже полноценный член домена?

С трудом понимаю как этот момент работает...

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

По поводу алгоритма работы кербероса у сквидов в вики есть хорошая статья, пошагово: http://wiki.squid-cache.org/ConfigExamples/Authenticate/Kerberos

Ну или http://blogs.sans.org/computer-forensics/files/2012/09/netauth-6.png

Я не сказал бы что на 100% понимаю его, но в общем и целом ясно.

Но если браузер у меня ему отдаст тикет...

Если браузер будет поддерживать negotiate авторизацию через тикет, то до pam_krb5 дело не дойдёт - он авторизуется через negotiate_kerberos_auth

tells pam_krb5.so the location of a keytab to use when validating credentials obtained from KDCs.

Тут имеется в виду именно проверка валидности самого керберосовского сервера ключей, к которому мы обращаемся, т.е. удостоверяемся что нам не подсунули что-то левое, какой-нибудь man-in-the-middle.

Там же есть опция, отключающая эту валидацию:

no_validate

tells pam_krb5.so to not attempt to use the local keytab to verify that the TGT obtained from the realm's servers has not been spoofed.

Может ты не пользуешься этим, так-как твоя машинка со squid уже полноценный член домена?

Нет, у меня сервак сам по себе, там никакой самбы нет чтобы в домен входить. Я там только делал один раз kinit на кейтаб для проверки его и всё.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

С твоим конфигом, у меня возможна аутотентификация только по BASIC окну... - Но если ввести правильные данные, то сразу же пускает. Стало быть не работает как надо. :( Похоже всё же нужен Keytab.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON
[appdefaults]
    pam = {
        debug = false
        alt_auth_map = %s
        force_alt_auth = true
        ticket_lifetime = 24h
        renew_lifetime = 24h
        forwardable = true
    }

[libdefaults]
    default_realm = DOMAIN.RU
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true
    ticket_lifetime = 24h
    dns_lookup_realm = false
    dns_lookup_kdc = false
    rdns = false

    default_tgs_enctypes = rc4-hmac
    default_tkt_enctypes = rc4-hmac
    permitted_enctypes = rc4-hmac

[realms]
    DOMAIN.RU = {
        kdc = 10.1.0.9
        kdc = 10.1.0.10
        admin_server = 10.1.0.9
        admin_server = 10.1.0.10
        default_domain = DOMAIN.RU
    }

[domain_realm]
    .domain.ru = DOMAIN.RU
    domain.ru = DOMAIN.RU
blind_oracle ★★★★★
()
Последнее исправление: blind_oracle (всего исправлений: 1)
Ответ на: комментарий от blind_oracle

Всё сделал как ты описал. По-прежнему вылазит BASIC окно с вводом логина/пароля.

Надо бы наверно как-то подебажить pam_krb5.so. Ты его дебажил когда-нибудь?

Однако, я всё равно прямо таки удивлён, что у тебя в такой схеме всё работает...

В klist то у тебя точно нету ничего?

Посмотри пожалуйста мой конфиг, я буду очень рад, если подскажешь:

root@gateway:~# egrep -v '^(#|$)' /etc/squid3/squid.conf 
auth_param basic program /usr/lib/squid3/basic_pam_auth -n squid -t 300 -o
auth_param basic children 1000 startup=5 idle=5
auth_param basic credentialsttl 10800 seconds
auth_param basic realm COMPANY.RU
acl auth proxy_auth REQUIRED
acl SSL_ports port 443
acl Safe_ports port 80		# http
acl Safe_ports port 21		# ftp
acl Safe_ports port 443		# https
acl Safe_ports port 70		# gopher
acl Safe_ports port 210		# wais
acl Safe_ports port 1025-65535	# unregistered ports
acl Safe_ports port 280		# http-mgmt
acl Safe_ports port 488		# gss-http
acl Safe_ports port 591		# filemaker
acl Safe_ports port 777		# multiling http
acl CONNECT method CONNECT
http_access deny !auth
http_access allow auth
http_access deny all
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access deny all
http_port 3128
coredump_dir /var/spool/squid3
refresh_pattern ^ftp:		1440	20%	10080
refresh_pattern ^gopher:	1440	0%	1440
refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern .		0	20%	4320
root@gateway:~# egrep -v '^(#|$)' /etc/krb5.conf 
[appdefaults]
    pam = {
        debug = false
        alt_auth_map = %s
        force_alt_auth = true
        ticket_lifetime = 24h
        renew_lifetime = 24h
        forwardable = true
    }
[libdefaults]
    default_realm = COMPANY.RU
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true
    ticket_lifetime = 24h
    dns_lookup_realm = false
    dns_lookup_kdc = false
    rdns = false
    default_tgs_enctypes = rc4-hmac
    default_tkt_enctypes = rc4-hmac
    permitted_enctypes = rc4-hmac
[realms]
        COMPANY.RU = {
        kdc = domainsrv.COMPANY.RU
        admin_server = domainsrv.COMPANY.RU
	default_domain = COMPANY.RU
}
[domain_realm]
domainsrv.company.ru = COMPANY.RU
.domainsrv.company.ru = COMPANY.RU
root@gateway:~# egrep -v '^(#|$)' /etc/pam.d/squid 
auth sufficient pam_krb5.so alt_auth_map=%s@COMPANY.RU
account required pam_krb5.so
DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

Ну а зачем ты стёр auth_param negotiate из конфига? Конечно оно теперь только по паролю будет. Надо оставить negotiate как было и всё будет работать.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle
auth_param negotiate program /usr/lib/squid3/negotiate_kerberos_auth -r
auth_param negotiate children 200 startup=20 idle=20
auth_param negotiate keep_alive on

Ой... Вестимо затупил. Ну я игрался... Сейчас это у меня написано первым пунктом. Теперь я тебя понял, почему у тебя Kerberos то работает без keytab.

auth_param basic program /usr/lib/squid3/basic_pam_auth -n squid -t 300 -o
auth_param basic children 200 startup=20 idle=20
auth_param basic credentialsttl 10800 seconds
auth_param basic realm COMPANY.RU

Вот это вторым.

На Linux - всё замечательно. Если нет билета - проходим по BASIC AUTH. На Winodws - всё плохо.

Браузер выкидывает окно (IE/ff). Ввожу логин/пасс - и тут же вылетает аналогичное окно. В лог cache.log ИНОГДА сыпется:

  ERROR: Negotiate Authentication validating user. Error returned 'BH received type 1 NTLM token'

Я думаю, что браузер если не имеет билета, получает BASIC запрос, но отчего-то игнорирует в итоге BASIC, и пытается по NTLM. Вестимо обламывается.

В общем у меня точно такое же поведение, как и с LDAP helper. Буду рад любым идеям!

C Windows всё по-прежнему плохо.

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 3)
Ответ на: комментарий от DALDON

Браузер выкидывает окно (IE/ff). Ввожу логин/пасс - и тут же вылетает аналогичное окно. В лог cache.log ИНОГДА сыпется:

Это если комп не в домене? Т.е. тикета нет? Или на доменном тоже?

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Не важно где. Будь то в домене или нет. Если нет тикета, то вот такое происходит. :( Не важно версия браузера, версия ОС (ХР/7/2008).

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

Так, давай определимся - в домене, доменный юзер - есть билет. Не в домене - не доменный юзер - нет билета. Так? Или у тебя там какая-то более сложная петрушка?

Если доменный юзер - то авторизует? Т.е. negotiate проходит?

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Смотри:

Домен - samba4 (4.1.9). Только не надо прям сразу фу-фу. Думаю, она тут не при чём. :)

  • PC1 Windows - Вне домена.
  • PC2 Windows - В домене.
  • PC3 Linux - Вне домена.
  • PC4 Linux - В домене.

Включили PC1, залогинились под локальным пользователем. Запустили браузер: появилось BASIC окно. - Ввели доменные логин+пасс. появилось BASIC окно. - Ввели доменные логин+пасс. - и так до бесконечности. Поставили утилиту MIT kerberos клиент. - Получили билет на любого доменного пользователя. - Перезапустили браузер. - Интернет есть. В логах сыпет имя пользователя для которого получили билет.

Включили PC2, залогинились под доменным пользователем. Интернет сразу есть. В логах сыпет имя пользователя под которым вошли в систему. Сделали klist purge - см. абзац с PC1.

Включили PC3, залогинились. Запустили браузер: появилось BASIC окно. - Ввели доменные логин+пасс. - Интернет есть. Сделали kinit на любого доменного пользователя. - Перезапустили браузер. - Интернет есть. В логах сыпет имя пользователя для которого получили билет.

Включили PC4, залогинились. - Интернет сразу есть. Сделали kdestroy - появилось BASIC окно. - Ввели доменные логин+пасс. - Интернет есть.

Я хочу, чтобы: на PC1, вёл себя по аналогии с PC3.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Вот же не любишь ты сниферы. Хотя здесь и снифер-то не нужен, средств браузера хватит.
Или что-то чорное и страшное мешает тебе вдумчиво сравнить трафик с basic auth успешного клиента с фейлящим?

thesis ★★★★★
()
Ответ на: комментарий от thesis

Поснифать можно конечно. С трудом только понимаю чего я там увижу. Поставлю wireshark. Посмотрю. Просто я думаю, что там весьма всё не так просто, чтобы вот так просто что-то наснифать. Это не LDAP снифать открытый. :) Поставлю - отпишусь.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Это не LDAP снифать открытый. :)

А чего там такого? хттп васик - простой же. По идее, достаточно глянуть трафик прямо средствами фокса.

thesis ★★★★★
()
Ответ на: комментарий от thesis

Средствами фокса - ничего не углядел вроде такого... У меня складывается стойкое чувство, что не в васике дело. Ибо на linux то работает исправно... И тут каким-то образом подмешивается отчаянная попытка Windows попробовать NTLM. Я думаю, что squid можно как-то подкрутить к этому делу. Если бы гнал васик, то у меня не работало бы ничего из linux...

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Ты представляешь дело так, как будто твоя ситуация какая-то уникальная, хотя это просто стандартная схема.

У меня из винды через FF или осла (все последних версий если что) без домена всё работает без проблем, вот кусок лога:

1408700722.065      0 10.1.0.255 TCP_DENIED/407 4218 GET http://yandex.ru/ - HIER_NONE/- text/html
1408700723.213    117 10.1.0.255 TCP_MISS/302 494 GET http://yandex.ru/ test HIER_DIRECT/93.158.134.11 text/html

Лезем, получаем 407, лезем еще раз с авторизацией и вуаля.

Часть конфига, ответственная за авторизацию:

auth_param basic program /opt/squid/libexec/basic_pam_auth -n squid -t 300 -o
auth_param basic children 30 startup=5 idle=5
auth_param basic credentialsttl 10800 seconds
auth_param basic realm squid.domain.ru

auth_param negotiate program /opt/squid/libexec/negotiate_kerberos_auth -r -s GSS_C_NO_NAME
auth_param negotiate children 100 startup=10 idle=10
auth_param negotiate keep_alive on

authenticate_cache_garbage_interval 1 hour
authenticate_ttl 1 hour

...

acl proxy_authorized proxy_auth REQUIRED

...

http_access deny !proxy_authorized

Сквида рукотворная:

Squid Cache: Version 3.3.12 configure options: '--prefix=/opt/squid' '--sysconfdir=/etc/squid' '--disable-loadable-modules' '--disable-wccp' '--disable-wccpv2' '--disable-eui' '--disable-htcp' '--disable-select' '--disable-poll' '--with-pthreads' '--disable-storeio' '--disable-disk-io' '--disable-removal-policies' '--enable-delay-pools' '--disable-useragent-log' '--disable-referer-log' '--enable-ssl' '--enable-ssl-crtd' '--disable-cache-digests' '--enable-icap-client' '--disable-snmp' '--disable-ident-lookups' '--enable-auth' '--enable-auth-basic=LDAP,PAM' '--enable-auth-ntlm=smb_lm' '--enable-auth-negotiate=kerberos' '--enable-auth-digest=LDAP,file' '--enable-external-acl-helpers=LDAP_group' '--enable-zph-qos' '--with-openssl' '--disable-ipv6'

3.4 не советую, очень грузит проц даже при минимальных нагрузках.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Да понимаю, что моя ситуация не уникальна... По этому очень и удивлён.

1408702591.610      0 192.168.11.209 TCP_DENIED/407 4179 GET http://linux.org.ru/ - HIER_NONE/- text/html
1408702591.616      0 192.168.11.209 TCP_DENIED/407 4282 GET http://linux.org.ru/ - HIER_NONE/- text/html
1408702607.750      0 192.168.11.209 TCP_DENIED/407 4282 GET http://linux.org.ru/ - HIER_NONE/- text/html
1408702607.767      0 192.168.11.209 TCP_DENIED/407 4282 GET http://linux.org.ru/ - HIER_NONE/- text/html

Вот мой лог, BASIC аутотентификаци с Windows без kerberos...

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

# squid3 -v

Squid Cache: Version 3.3.8 Ubuntu

configure options: '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--enable-inline' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,rock' '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-underscores' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-auth-basic=DB,fake,getpwnam,LDAP,MSNT,MSNT-multi-domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB' '--enable-auth-digest=file,LDAP' '--enable-auth-negotiate=kerberos,wrapper' '--enable-auth-ntlm=fake,smb_lm' '--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '--enable-icmp' '--enable-zph-qos' '--enable-ecap' '--disable-translation' '--with-swapdir=/var/spool/squid3' '--with-logdir=/var/log/squid3' '--with-pidfile=/var/run/squid3.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--enable-linux-netfilter' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security'

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

Я оставлю только BASIC AUTH , и попробую зайти с Windows. О результатах отпишу. Максимально почищу конфиг. Постараюсь сделать его таким же как у тебя.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle

Ок! У меня как народ с работы убежит, посмотрю вечерком.

Слушай, а почему у тебя так мало helperов от kerberos?

# ps aux|grep negotiate_kerberos_auth -c

39

Это у меня на четверых вот... Чтобы не вылетало окно с BASIC авторизации.

При том, у меня idle 20 стоит.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Хз, у меня:

# ps aux | grep negotiate_kerberos_auth -c
21
Никаких окон не вылазит ни у кого, юзеров ~300 голов. Сквид сервер почти не грузит (5-10%). У меня, правда, выключено кеширование вообще ибо нафиг не надо и диск не грузит.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Я тоже хочу выключить его нафиг... Кеширование в современном Интернет на фиг не надо? Ты со мной согласен?

А можешь мне скинуть весь конфиг squid?

DALDON ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle

Погоди, погоди... Что-то тут не то... Выложи пожалуйста весь конфиг squid.

Смотри, разве такое возможно: у тебя сначало идет:

auth_param basic

А потом:

auth_param negotiate

У тебя в таком случае же вообще не смогут по идее пройти аутотентификацию пользователи с kerberos. Я точно читал, что порядок должен быть строго наоборот. Я попробовал поменять местами - и у меня теперь даже при наличии билета, выскакивает BASIC.

И как обещал: я убрал kerberos helper - у меня на Windows клиентах BASIC хелпер отрабатывать стал корректно.... Вот блин не задача то.

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

У меня именно сначала бейсик, потом негошиейт.

И хотя да, в доках пишут:

The order in which authentication schemes are presented to the client is
	dependent on the order the scheme first appears in config file. IE
	has a bug (it's not RFC 2617 compliant) in that it will use the basic
	scheme if basic is the first entry presented, even if more secure
	schemes are presented.
Но у меня именно так всё работает отлично. Может баг в осле уже поправили давно и инфа устарела?

У тебя, случаем, логины-пароли не в кириллице? А то

IF HAVE_AUTH_MODULE_BASIC
	=== Basic authentication parameters ===

	"utf8" on|off
		HTTP uses iso-latin-1 as character set, while some
		authentication backends such as LDAP expects UTF-8. If this is
		set to on Squid will translate the HTTP iso-latin-1 charset to
		UTF-8 before sending the username and password to the helper.

Полный конфиг:

debug_options ALL,1 rotate=1
logfile_rotate 0

cache_mgr admin@domain.ru
visible_hostname squid.domain.ru

http_port 0.0.0.0:3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=64MB cert=/etc/squid/ssl/ca-squid.domain.ru.pem options=NO_SSLv2,NO_SSLv3 dhparams=/etc/squid/ssl/dh2048.pem cipher=ECDH+AESGCM:DH+AESGCM:ECDH+AES:DH+AES:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS

server_persistent_connections on
client_persistent_connections on

cache_effective_user squid
cache_effective_group squid

# ICAP ACL
acl icap_whitelisted dstdomain "/etc/squid/lists/icap_domains_whitelisted.txt"

# ICAP scanning
icap_enable on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_encode off
icap_client_username_header X-Authenticated-User
icap_connect_timeout 1 second
icap_preview_enable on
icap_preview_size 1024
icap_206_enable on
icap_persistent_connections on

icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_req deny icap_whitelisted
adaptation_access service_req allow all

icap_service service_resp respmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_resp deny icap_whitelisted
adaptation_access service_resp allow all

forwarded_for delete
httpd_suppress_version_string on

### Error messages ###
error_directory /etc/squid/errors/ru

### Cache options ###
cache_mem 1024 MB
cache deny all

auth_param basic program /opt/squid/libexec/basic_pam_auth -n squid -t 300 -o
auth_param basic children 30 startup=5 idle=5
auth_param basic credentialsttl 10800 seconds
auth_param basic realm squid.domain.ru

auth_param negotiate program /opt/squid/libexec/negotiate_kerberos_auth -r -s GSS_C_NO_NAME
auth_param negotiate children 100 startup=10 idle=10
auth_param negotiate keep_alive on

authenticate_cache_garbage_interval 1 hour
authenticate_ttl 1 hour

external_acl_type squid_ldap ttl=30 negative_ttl=30 children-max=100 children-startup=10 children-idle=5 %LOGIN /opt/squid/libexec/ext_ldap_group_acl -b "OU=Пользователи,DC=domain,DC=ru" -s sub -D CN=service_ldap_ro,CN=Users,DC=domain,DC=ru -W /etc/squid/ldap.password -R -H ldap://10.1.16.10 -v 3 -S -K -f "(&(sAMAccountName=%u)(memberOf=%g))"
acl proxy_full_access external squid_ldap CN=proxy_full_access,OU=Proxy,OU=Groups,DC=domain,DC=ru
acl proxy_email_access external squid_ldap CN=proxy_email_access,OU=Proxy,OU=Groups,DC=domain,DC=ru
acl proxy_hr_access external squid_ldap CN=proxy_hr_access,OU=Proxy,OU=Groups,DC=domain,DC=ru
acl proxy_no_access external squid_ldap CN=proxy_no_access,OU=Proxy,OU=Groups,DC=domain,DC=ru
acl proxy_no_access_expired external squid_ldap CN=Expired_Passwords,OU=Groups,DC=domain,DC=ru

### Delay Pools ###
delay_pools 1
delay_class 1 4
delay_access 1 deny all
delay_parameters 1 -1/-1 -1/-1 -1/-1 8000/16000

### File lists ###
include "/etc/squid/lists.conf"

### File ACLs ###
## Lists ##
acl lists_block_dom dstdomain "/etc/squid/lists/domains_blocked.txt"
acl lists_fun_dom dstdomain "/etc/squid/lists/domains_fun.txt"
acl lists_job_dom dstdomain "/etc/squid/lists/domains_job.txt"

## Custom Lists ##
acl domains_whitelisted dstdomain "/etc/squid/lists/domains_whitelisted.txt"
acl domains_ssl_direct dstdomain "/etc/squid/lists/domains_ssl_direct.txt"
acl domains_mail dstdomain "/etc/squid/lists/domains_mail.txt"
acl domains_no_auth dstdomain "/etc/squid/lists/domains_no_auth.txt"
acl ip_ssl_direct dst "/etc/squid/lists/ip_ssl_direct.txt"

# SSL exceptions
acl domains_ssl_error dstdomain "/etc/squid/lists/domains_ssl_error.txt"

# SSL Proxying
ssl_bump none domains_ssl_direct
ssl_bump none ip_ssl_direct
ssl_bump client-first domains_ssl_error
ssl_bump server-first all
sslproxy_options NO_SSLv2,NO_SSLv3
sslproxy_cipher ECDH+AESGCM:DH+AESGCM:ECDH+AES:DH+AES:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
sslproxy_cert_error allow domains_ssl_error
sslproxy_cert_error deny all
sslcrtd_program /opt/squid/libexec/ssl_crtd -s /etc/squid/ssl/ssl_db -M 128MB
sslcrtd_children 50 startup=10 idle=10
always_direct allow all

### Port based ACLs ###
acl ports_allowed port 20
acl ports_allowed port 21
acl ports_allowed port 80
acl ports_allowed port 443
acl ports_allowed port 9000

acl ports_connect port 443
acl ports_connect port 9000

### Time period ACLs ###
acl time_fun time MTWHF 13:00-14:00 18:30-23:00
acl time_weekends time SA 00:00-23:59

### Other ACLs ###
acl net_internal src 10.0.0.0/8
acl net_internal src 192.168.20.0/24

acl svc_chk src 10.1.16.11
acl svc_chk src 10.1.16.12

acl method_connect method CONNECT
acl proxy_authorized proxy_auth REQUIRED

# Do not log requests to these domains
acl skip_logging dstdomain "/etc/squid/lists/skip_logging.txt"

# Statistics page
acl manager url_regex -i ^cache_object:// /squid-internal-mgr/
http_access allow manager svc_chk
http_access deny manager

follow_x_forwarded_for allow svc_chk
follow_x_forwarded_for deny all

icap_uses_indirect_client on
delay_pool_uses_indirect_client on
acl_uses_indirect_client on
log_uses_indirect_client on

### Access lists ###
http_access allow svc_chk
http_access deny !net_internal
http_access allow domains_no_auth ports_allowed
http_access deny !proxy_authorized
http_access deny proxy_no_access
http_access deny proxy_no_access_expired
http_access deny !proxy_full_access !time_fun lists_fun_dom
http_access deny !proxy_full_access lists_block_dom !domains_whitelisted
http_access deny !proxy_email_access !proxy_full_access !domains_whitelisted lists_mail_dom
http_access deny !proxy_hr_access !proxy_full_access lists_job_dom
http_access deny method_connect !ports_connect
http_access deny !ports_allowed
http_access allow all

deny_info https://support.domain.ru/pass_change proxy_no_access_expired

### Other parameters ###
access_log stdio:/var/log/squid/access.log squid !skip_logging
cache_log /var/log/squid/cache.log
cache_store_log none

logfile_rotate 90
mime_table /etc/squid/mime.conf

request_header_max_size 20 KB
request_body_max_size 0 KB

via off

shutdown_lifetime 3 seconds

blind_oracle ★★★★★
()
Последнее исправление: blind_oracle (всего исправлений: 1)
Ответ на: комментарий от blind_oracle

Пока прикидываю конфигу твою.

По последовательности аутотентификаторов: смотри, если я ставлю первым аутотентификатором BASIC, вторым ставлю negotiate - то у меня АБСОЛЮТНО ВСЕ браузеры начинают настаивать на BASIC и забивают на negotiate (даже при наличии kerberos билета!). То есть: Linux: ff - упорно начинает сыпать окнами BASIC. Windows: FF, IE - аналогично. Я тоже считаю, что squid должен выдавать все методы проверки подлинности, а браузер на основе этого, должен выбирать наиболее безопасный (в моём случае - очевидно kerberos). Однако, этого не происходит.

Может где-то их надо перечислить в конфиге..? У тебя вроде ничего такого не вижу...

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

В общем поменял порядок местами. - Теперь BASIC заработал и в Windows, и можно его игнорить - то есть закрывать крестиком, что приведёт к открытию страниц, но уже по kerberos. ОЧЕВИДНО, что браузер не выбирает типы аутотентификации, а использует первый что ему предлагает squid!

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

http://wiki.squid-cache.org/Features/Authentication :

When multiple authentication schemes are offered by the server (Squid in this case), it is up to the User-Agent to choose one and authenticate using it. By RFC it should choose the safest one it can handle; in practice usually Microsoft Internet Explorer chooses the first one it's been offered that it can handle, and Mozilla browsers are bug-compatible with the Microsoft system in this field.

Конечно это wiki, тут может быть не самая свежая информация, однако это официальная wiki... Надо посмотреть на других браузерах, и понять, о каком RFC идёт собственно речь!

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от blind_oracle

Ну что..? Посмеёмся? :)

Поставил google chrome - всё заработало как нужно! Прям с ходу! Очевидно, что оно перебирает схемы! Вошёл тупо в домен под учёткой которой ещё не входили ни раза. Запустил chrome - всё сразу побежало по kerberos! Хотя первым аутотентификатором стоял BASIC

Каким это таким чудным образом это корректно работает у тебя? - Лично для меня очень большой вопрос... Да и тебе я думаю станет интересно...

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 2)
Ответ на: комментарий от DALDON

Вот даж не знаю, у меня все компы на обычной Win7 с IE11, месяца два назад был IE9 - без разницы, всё работало и тогда отлично. С XP были какие-то косяки редко, помню, но мы его везде в конторе убрали уже давно. Такая схема работает еще со времен сквида 2.6 - 2.7 (или даже раньше) без принципиальных изменений.

Вот счас подключился по впн к офису, запустил у себя файрфокс на ноуте, прописал офисную проксю, лезу в инет - бейсик авторизация - вбил логин пасс, вуаля всё работает.

IE11 вообще провалился сразу без авторизации, хотя ноут не в домене ни разу, похоже как-то авторизация на VPN сработала (klist кажет тикет), хотя VPN-сервер цыска, авторизующаяся в домене через радиус. Чудеса да и только :)

Доменный Firefox/Chrome пока проверить не могу, но вроде у нас они где-то в офисе встречаются и работают без проблем.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Даже не знаю чего сказать... Не уж-то как то samba в качестве DC может на это влиять? Ну я прям не поверю в это и в жизнь... Сейчас посмотрел версию IE с которой я пробую - 9. Chrome прям с ходу как надо заработал. Всё бы простил, если бы не сей факт. Ещё остаётся конечно момент, на косячную сборку squid в репозитариях последней ubuntu... Блин, проверить чтоль на другом дистрибутиве?

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Ну вот кагбе ты про дц на самбе то не упоминал, может как раз и в нем дело, хрен знает насколько оно винде соответствует. Керберос то как бы вроде достаточно универсальная вещь, конечно, но мало ли. Я таким секасом как дц на самбе не занимался и не собираюсь пока :) так что не в курсе как оно дружит.

Косячная сборка вряд-ли, но попробуй скомпилить последнюю с моими параметрами, там правда кеш уже на этапе сборки выпилен, так что имей в виду. Но я сумневаюсь что в этом дело, а то бы в багтрекерах бубунты был бы уже хай на эту тему.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Ну я упоминал про самбу тут раньше (в этом треде). В общем рано я обрадовался... - Chrome тоже не проглатывает аутотентификацию. Но способен выбрать аутотентификатор при неправильном их порядке.

Мы пока мест смотрим на самбу, чтобы не покупать серверные винды. Нам по сути от неё нужен SSO (потому как Microsoft отказалась хранить basic пароли в своём password storage начиная с Vista (не очень правда понятно зачем тогда вообще он нужен?)). В целом всё что нам нужно вроде как работает (а именно: делегирование тикетов, SSO на нужные нам сервисы)... Но есть нюансы, есть... В частности как раз вот этот, и нюанс с автообновлением билетов. - Билеты не продлеваются в linux (автоматом имею ввиду). В Windows вроде как получше с продлением, но тоже на мой взгляд есть странности. Вот думаю, не уж-то может co squid быть такой косяк косячный из-за криворукой samba.

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 2)
Ответ на: комментарий от DALDON

Конкретно, эта проблема со squid она в общем то не страшная. Это третьестепенный сервис. И насколько я понял, все те приложения, которые хотят ходить в Интернет, минуя настройки винды - могут авторизоваться. Ну и вообще, в целом давать Интернет только по тикетам - не самая ужасная проблема. Да и в linux вроде как работает squid по паролю. Надо попробовать правда копнуть поточнее.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Мы пока мест смотрим на самбу, чтобы не покупать серверные винды.

Странная экономия, учитывая что купить пару копий win server standard для контроллеров будет стоить вроде тысяч 40-50 - и никакого гемора с самбой.

потому как Microsoft отказалась хранить basic пароли в своём password storage начиная с Vista (не очень правда понятно зачем тогда вообще он нужен?

Не понял о чем ты - об обратимом шифровании чтоль? Чтобы пароли можно было прочитать из лдапа? Вроде там можно галку поставить «хранить в обратимом виде», но не пробовал. Я пароли храню в отдельной бд куда они заносятся автоматом после создания юзеров.

Вот думаю, не уж-то может co squid быть такой косяк косячный из-за криворукой samba.

Ну, я других отличий вроде не вижу от своей схемы, так что дедуктивным методов приходим к выводу... :) Я бы на твоем месте поднял мини-лабу в виртуалках из контроллера домена на винде и прокси для проверки.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Странная экономия, учитывая что купить пару копий win server standard для контроллеров будет стоить вроде тысяч 40-50 - и никакого гемора с самбой.

Две версии Windows Server 2012 R2 Std - 60 тысяч.

Лицензии клиентского доступа на наш парк (Windows CAL license): 138 тысяч.

Железо где всё это крутить (облака не рассматриваю, так-как это всё же AD, а оно в облаках как-то не очень): пусть даже по 30к на тазики- 60 тысяч. Ну или виртуализация, что также не отменяет расходов.

Итого: 60+138+60 = 258 тысяч.

Шеф сказал: давай попробуем samba. Мы сейчас вообще без домена живём, и в целом успешно живём. У нас крайне большой круг задач, хоть и мало народу. Так что всё равно очень много чего приходится делать руками. Так же у нас очень много легаси ПО и сервисов.

Не понял о чем ты - об обратимом шифровании чтоль?

Нет, нет... Что ты. Я смотри об чём: когда у тебя где-либо вылетает окно с BASIC AUTH - там есть птичка - сохранить пароль. Так вот по факту эта птичка не работает начиная с WinVista. - Нам это нужно при доступе по sharepoint. Так вот они там отключили хранение пароля. И таким образом, если у тебя нету kerberos, при каждом открытии документа через протокол sharepoint у тебя будет вылезать окно - введи логин+пароль.

Ну, я других отличий вроде не вижу от своей схемы, так что дедуктивным методов приходим к выводу... :) Я бы на твоем месте поднял мини-лабу в виртуалках из контроллера домена на винде и прокси для проверки.

Да, ты прав. Просто я удивлён вот чему: формально, я могу сделать сервер kerberos, не только на samba. Могу его сделать на: Windows/samba/MIT kerberos server/389 Directory Server (хоть это тот же MIT но всё же). И т.п. Исходя из моего представления: SQUID вообще не должен ходить на kerberos сервер. Он при запуске (ну и видимо когда истекает срок жизни билета), по keytab авторизуется на kerberos сервере. Затем он ожидает билетов от клиентов. Клиент ему предъявил билет - билет валидный. - Всё, он пропустил. Тут я правда не до конца всё же понял, на счёт сессионых ключей kerberos. Но tcpdump на SQUID не показывает никакой активности в сторону samba, когда люди ходят по Интернету.

Более того: формально, мне домен тоже не нужен. Можно поставить на Windows HOME - клиент MIT Kerberos, получить билет, положить его в хранилище MSLSA: , и иметь SSO. Другое дело, что для конечного пользователя это не очень удобно, и есть там моменты с продлением билета. Но всё же. Удобнее конечно залогиниться в ОС, и сразу иметь SSO. Но формально - и такая схема работает.

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

Итого: 60+138+60 = 258 тысяч.

Да, про клиентские лицензии я подзабыл, давно это добро не покупал.

Насчёт серверов - у меня лично всё давно и прочно виртуализовано, физических серверов почти нет. Так что пару виртуалок поднять обычно не проблема :)

У нас крайне большой круг задач, хоть и мало народу.

Такая же фигня, поэтому я стараюсь везде где можно всё автоматизировать, и виндовое АД в этом плане очень сильно помогает. Плюс стопицот скриптов) Руками почти ничего не делается, в итоге. Щас вот на VDI перейдём и будет вообще лафа :)

Я смотри об чём: когда у тебя где-либо вылетает окно с BASIC AUTH - там есть птичка - сохранить пароль. Так вот по факту эта птичка не работает начиная с WinVista. - Нам это нужно при доступе по sharepoint.

А, это. А почему у вас нет сквозной авторизации в домене? Потому что домена по-сути нет? :) Так сделайте его и проблема сама уйдёт. У меня даже апач юзеров на странице создания тикетов авторизует керберосом абсолютно прозрачно (всё точно также как в сквиде), юзер вводит пароль только при входе в винду.

Но tcpdump на SQUID не показывает никакой активности в сторону samba, когда люди ходят по Интернету.

Так и есть. Это принцип кербероса - служба никогда напрямую не обращается к авторизационному серверу. Когда клиент хочет получить доступ к службе HTTP/squid.domain.ru, то сервер авторизации после проверки прав клиента генерирует ему тикет с сессионным ключом, который зашифрован ключом службы, т.е. тем, который в кейтабе. Поэтому если сквид смог расшифровать своим кейтабом твой запрос (там симметричная криптография, ключ на шифровку и дешифровку один и тот же), то он автоматически считает тебя авторизовавшимся.

Он при запуске (ну и видимо когда истекает срок жизни билета), по keytab авторизуется на kerberos сервере.

Хуже того, он там вообще не авторизуется :)

# klist -l
Principal name                 Cache name
--------------                 ----------

Можно получить тикет службы, но на авторизацию это никак не влияет:
# kinit -k -t /etc/squid/keytabs/squid.domain.ru.keytab HTTP/squid.domain.ru@DOMAIN.RU

# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: HTTP/squid.domain.ru@DOMAIN.RU

Valid starting    Expires           Service principal
24/08/2014 23:19  25/08/2014 09:19  krbtgt/DOMAIN.RU@DOMAIN.RU
        renew until 25/08/2014 09:19

Ну а резюмируя про домены - я так считаю, что раз у тебя клиенты виндовые, то домен нужен виндовый. Самба таки отстает прилично от паровоза мелкомягких и гемора с ней прилично. А виндовый дц просто работает и хрен бы ему будет. Если б клиенты были линух или макось какой, то можно что-то другое городить, а так - непонятно, ну пусть 200 тыщ на это, для почти любой конторы это небольшие деньги. А тем, для кого большие есть Windows Essentials (<=25 юзеров).

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Насчёт серверов - у меня лично всё давно и прочно виртуализовано, физических серверов почти нет. Так что пару виртуалок поднять обычно не проблема :)

У нас нету соответствующей инфраструктуры. :(

Такая же фигня, поэтому я стараюсь везде где можно всё автоматизировать, и виндовое АД в этом плане очень сильно помогает. Плюс стопицот скриптов) Руками почти ничего не делается, в итоге. Щас вот на VDI перейдём и будет вообще лафа :)

У нас недавно праздник был, мы убрали последнюю WinNT. Теперь убираем Win2k. VDI это хорошо. Но есть там много моментов. Кладя все яйца в одну корзину встаёт ряд вопросов: начиная от профессиональности системного администратора, до увеличения пропускной способности сети. VDI это можно сказать домен для железяк. Всё это ОЧЕНЬ круто, но у нас VDI на все места не сгодится. К сожалению полностью гомогенную инфраструктуру не получится сделать. И бизнес не совсем понимает: зачем нам VDI, когда и так всё работает... - К слову, нам VDI насчитали на 12 млн. руб.

А, это. А почему у вас нет сквозной авторизации в домене? Потому что домена по-сути нет? :) Так сделайте его и проблема сама уйдёт.

Ну да... Но тут возникает ряд моментов, начиная с того, что часть Windows HOME версий. Есть часть ноутбуков, есть удалёнщики со своим хомячковым оборудованием...

Это принцип кербероса - служба никогда напрямую не обращается к авторизационному серверу. Когда клиент хочет получить доступ к службе HTTP/squid.domain.ru, то сервер авторизации после проверки прав клиента генерирует ему тикет с сессионным ключом, который зашифрован ключом службы, т.е. тем, который в кейтабе. Поэтому если сквид смог расшифровать своим кейтабом твой запрос (там симметричная криптография, ключ на шифровку и дешифровку один и тот же), то он автоматически считает тебя авторизовавшимся.

Спасибо за более подробное пояснение, в целом я так себе всё это и представлял.

Хуже того, он там вообще не авторизуется :)

Вооот. Это я как раз и отметил. И по сему не до конца понимаю роль keytab на сервере squid.

Можно получить тикет службы, но на авторизацию это никак не влияет:

Да, это я тоже подметил.

Ну а резюмируя про домены - я так считаю, что раз у тебя клиенты виндовые, то домен нужен виндовый.

В целом согласен. У меня 90 процентов это Win клиенты. Другое дело, что они несколько разных версий все и разных поколений... HOME/PRO. 2000/Vista/7/XP.

А тем, для кого большие есть Windows Essentials (<=25 юзеров).

Ага, в курсе про эту штуку. Не дорогая совсем.

В общем резюмируя наш разговор: я так и не понимаю, почему SQUID может себя так странно вести... Или не SQUID а его клиенты... Вот в чём дело. Что может такого делать косячного samba, что вот ТАК ВОТ это сбоит..? Прям не понимаю.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

И по сему не до конца понимаю роль keytab на сервере squid.

Ну дык как раз для дешифровки сессионного ключа, который клиент передает. Если он дешифровался - клиент авторизован, все довольны.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Спасибо! Понял. Пока мест поковыряю это добро ещё малость. :) Может чего и выйдет ещё толкового.

DALDON ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.