Настроил у себя squid с аутентификацией по kerberos. Доменные пользователи аутентифицируются прозрачно, для пользователей не из АД - включена аутентификация по LDAP. В процессе реализации пришлось прикрутить еще и NTLM.
Код: Выделить всё
# KERBEROS and NTLM authentication
auth_param negotiate program /usr/local/libexec/squid/negotiate_wrapper_auth --ntlm /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --kerberos /usr/local/libexec/squid/negotiate_kerberos_auth
auth_param negotiate children 10
auth_param negotiate keep_alive off
# NTLM basic or LDAP
#auth_param basic program /usr/local/libexec/squid/basic_ldap_auth -R -D Administrator@meahost.net -w passw -b "dc=meahost,dc=net" -f sAMAccountName=%s" -h 10.10.1.2 -p 389 -v 3
auth_param basic program /usr/local/bin/ntlm_auth -d --helper-protocol=squid-2.5-basic
auth_param basic children 20
auth_param basic realm Web-Proxy
auth_param basic credentialsttl 1 minute
# ACL's
acl user_auth proxy_auth REQUIRED
acl user_admin proxy_auth zi killer
# HTTP_ACCESS
http_access allow user_admin
http_access deny all
http_port 10.10.1.1:3128
dns_nameservers 127.0.0.1
cache_mem 32 MB
shutdown_lifetime 5 seconds
cache_log /var/log/squid/cache.log
cache_access_log /var/log/squid/access.log
hierarchy_stoplist cgi-bin ?
cache_dir ufs /var/squid/cache 2048 16 256
coredump_dir /var/squid/cache
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
1. Если пользователь из АД аутентифицируется по kerberos, в сквиде он известен за таким именем: user@доменное.имя, если через BASIC - то просто user, без имени домена. Очень неудобно осуществлять контроль доступа. Можно ли как-то убрать доменное имя?
2. kerberos раз в несколько дней отваливается, не могу выяснить почему. Помогает пересоздание кейтаб-файла
Код: Выделить всё
setenv KRB5_KTNAME FILE:/etc/krb5.keytab
net ads keytab CREATE
net ads keytab ADD HTTP
Буду очень признателен, если кто-то поделится своими мыслями по этих вопросах.