URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 95052
[ Назад ]

Исходное сообщение
"Squid + win2008r2 kerberos: suqid_kerb_auth не видит keytab"

Отправлено selivan , 29-Сен-13 00:54 
Пытаюсь настроить в 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.RU

encrypt 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 off

http_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 запустить.


Содержание

Сообщения в этом обсуждении
"Squid + win2008r2 kerberos: suqid_kerb_auth не видит keytab"
Отправлено mcshel , 29-Сен-13 09:15 
>[оверквотинг удален]
> 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 запустить.

Я использовал 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-имя сервера]


"Squid + win2008r2 kerberos: suqid_kerb_auth не видит keytab"
Отправлено selivan , 29-Сен-13 11:26 
> Я использовал 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 + win2008r2 kerberos: suqid_kerb_auth не видит keytab"
Отправлено mcshel , 29-Сен-13 13:04 
>[оверквотинг удален]
>> хорошо, но иногда она просто не нужна, например в моем случаи
>> хватало прозрачной авторизации для 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-имя сервера]


"Squid + win2008r2 kerberos: suqid_kerb_auth не видит keytab"
Отправлено selivan , 01-Окт-13 08:56 
Заработало вот так:

/etc/default/squid3:

KRB5_KTNAME=/etc/squid3/HTTP_webproxy.keytab
export KRB5_KTNAME