Всем привет.
Использую связку squid+kerberos для аутентификации юзеров из АД. squid
собран с поддержкой
AUTH_LDAP
AUTH_SASL
GSSAPI_MIT
Из необходимых пакетов стоит:
openldap-sasl-client-2.4.44
krb5-1.14.1
cyrus-sasl-2.1.26_12
cyrus-sasl-gssapi-2.1.26_7
squid-3.5.15_1
Билет от кербероса получаю (через keytab-файл, сгенерённый на
контроллере домена). Но вот аутентицировать юзера не могу. В логах ошибка:
ERROR: Negotiate Authentication validating user. Result: {result=BH,
notes={message: received type 1 NTLM token; }}
Гугление вообще мало что знает, а то, что знает от разряда "у меня вот в
такой конфигурации работает". Перепробовал много чего, в том числе и
пересборка squid'a с системным/heimdal керберосом, но ничего не поменялось.
Рядом, на Debian'e с теми же конфигами работает. Вот конфиги:
squid.conf:
...
auth_param negotiate program
/usr/local/libexec/squid/negotiate_kerberos_auth -s
HTTP/proxy.domain.local@DOMAIN.LOCAL
auth_param negotiate children 50 startup=10 idle=5
auth_param negotiate keep_alive on
...
/etc/krb5.conf
[libdefaults]
default_realm = DOMAIN.LOCAL
default_keytab_name = /usr/local/etc/squid/squid.keytab
[realms]
OVOSTAR.LOCAL = {
kdc = srvad.domain.local
kdc = srvad2.domain.local
admin_server = srvad.domain.local
default_domain = domain.local
}
[domain_realm]
.domain.local = DOMAIN.LOCAL
domain.local = DOMAIN.LOCAL
[logging]
kdc = FILE:/var/log/kerberos/kdc.log
admin_server = FILE:/var/log/kerberos/kadmin.log
default = FILE:/var/log/kerberos/default.log
# kinit -k HTTP/proxy.domain.local@DOMAIN.LOCAL
# klist
Credentials cache: FILE:/tmp/krb5cc_0
Principal: HTTP/proxy.domain.local@DOMAIN.LOCAL
Issued Expires Principal
Apr 2 18:36:22 2016 Apr 3 04:36:22 2016 krbtgt/DOMAIN.LOCAL@DOMAIN.LOCAL