Пытаюсь настроить в squid авторизацию через Kerberos. Контроллер домена win2008r2, уровень домена win2008r2.Ubuntu 12.04
Squid 3.1
AppArmor выключенПолучаю keytab на контроллере домена:
ktpass -princ HTTP/webproxy.domain.ru@DOMAIN.RU -mapuser webproxy_auth@DOMAIN.RU -crypto ALL -pass "******" -ptype KRB5_NT_PRINCIPAL -out HTTP_webproxy.domain.ru.keytabКопирую на сервер, меняю владельца на proxy:proxy и права на 640, проверяю:
kinit -V -k -t /etc/squid3/HTTP_webproxy.keytab HTTP/webproxy.domain.ru
...
Authenticated to Kerberos v5/etc/krb5.conf:
[libdefaults]
default_realm = DOMAIN.RU
dns_lookup_kdc = yes
dns_lookup_realm = yes
default_keytab_name = HTTP_webproxy.domain.ru.keytab
kdc_timesync = 1
ticket_lifetime = 24h
forwardable = true
proxiable = true# for win2008
default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5[realms]
DOMAIN.RU = {
kdc = dc2.domain.ru
default_domain = domain.ru
admin_server = dc2.domain.ru
}[domain_realm]
.domain.ru=DOMAIN.RU
domain.ru=DOMAIN.RU/etc/samba/smb.conf:
[global]security = ads
workgroup = DOMAIN
realm = DOMAIN.RUencrypt passwords = yes
netbios name = %h
server string = %h server (Samba, Ubuntu)
...
dns proxy = no
socket options = TCP_NODELAY/etc/squid3/squid.conf:
# GSS_C_NO_NAME = any entry from keytab is allowed
auth_param negotiate program /usr/local/bin/negotiate_wrapper -d --ntlm /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp --domain=DOMAIN.RU --kerberos /usr/lib/squid3/squid_kerb_auth -d -i -s GSS_C_NO_NAME
# maximum number of authenticator processes to spawn
auth_param negotiate children 10
auth_param negotiate keep_alive offhttp_access allow AUTH
http_access deny all/etc/default/squid3(не было - создал):
KRB5_KTNAME=/etc/squid3/HTTP_webproxy.keytab/etc/init/squid3.conf:
env KRB5_KTNAME="/etc/squid3/HTTP_webproxy.keytab"/etc/init.d/squid3:
KRB5_KTNAME=/etc/squid3/HTTP_webproxy.keytab
export KRB5_KTNAMEВ консоли, где я это проверяю:
export KRB5_KTNAME=/etc/squid3/HTTP_webproxy.keytabЗапускаю
squid3 -d -NВ браузере(IE10 на Windows 2008r2) получаю постоянные окошки аутентификации, в cache.log:
squid_kerb_auth: ERROR: gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information.
authenticateNegotiateHandleReply: Error validating user via Negotiate. Error returned 'BH gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information.Делаю
su proxy -c 'kinit -V -k -t /etc/squid3/HTTP_webproxy.keytab HTTP/webproxy.domain.ru'- всё начинает работать.Где я ещё, мать его @#$%^&$#, не указал ему откуда брать keytab? 15 часов на работе просидел, пока догадался от имени пользователя proxy klist запустить.
>[оверквотинг удален]
> code may provide more information.
> authenticateNegotiateHandleReply: Error validating user via Negotiate. Error returned
> 'BH gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide
> more information.
>
su proxy -c 'kinit -V -k -t /etc/squid3/HTTP_webproxy.keytab HTTP/webproxy.domain.ru'
Я использовал kerb, чтобы уйти от ввода linux в домен. Samba работает хорошо, но иногда она просто не нужна, например в моем случаи хватало прозрачной авторизации для SQUID.
Для работы с билетами использовал msktutil, лично мне вот эта статья очень помогла:
http://www.howtoforge.com/debian-squeeze-squid-kerberos-ldap...
Посмотрите статью, возможно в хелпере /usr/lib/squid/squid_kerb_auth -r -i -s HTTP/[fqdb-имя сервера]
> Я использовал kerb, чтобы уйти от ввода linux в домен. Samba работает
> хорошо, но иногда она просто не нужна, например в моем случаи
> хватало прозрачной авторизации для SQUID.
> Для работы с билетами использовал msktutil, лично мне вот эта статья очень
> помогла:
> http://www.howtoforge.com/debian-squeeze-squid-kerberos-ldap...
> Посмотрите статью, возможно в хелпере /usr/lib/squid/squid_kerb_auth -r -i -s HTTP/[fqdb-имя
> сервера]То есть они в /etc/default/squid3 ещё сделали export KRB5_KTNAME? Попробую. mskutil, судя по всему, удобнее winbind, но последний из коробки ставится, ничего левого качать/собирать не надо.
>[оверквотинг удален]
>> хорошо, но иногда она просто не нужна, например в моем случаи
>> хватало прозрачной авторизации для SQUID.
>> Для работы с билетами использовал msktutil, лично мне вот эта статья очень
>> помогла:
>> http://www.howtoforge.com/debian-squeeze-squid-kerberos-ldap...
>> Посмотрите статью, возможно в хелпере /usr/lib/squid/squid_kerb_auth -r -i -s HTTP/[fqdb-имя
>> сервера]
> То есть они в /etc/default/squid3 ещё сделали export KRB5_KTNAME? Попробую. mskutil, судя
> по всему, удобнее winbind, но последний из коробки ставится, ничего левого
> качать/собирать не надо.Да в default. mskutil это аналог ktpass. Еще если не получиться попробуйте в хелпере сделать такие параметры /usr/lib/squid/squid_kerb_auth -r -i -s HTTP/[fqdb-имя сервера]
Заработало вот так:/etc/default/squid3:
KRB5_KTNAME=/etc/squid3/HTTP_webproxy.keytab
export KRB5_KTNAME