The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Squid kerberos AD 2008"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Настройка Squid и других прокси серверов (Аутентификация)
Изначальное сообщение [ Отслеживать ]

"Squid kerberos AD 2008"  +/
Сообщение от DarK email(ok) on 31-Окт-11, 16:12 
настраиваю связку Squid AD авторизация через протокол kerberos. На данный момент работаю с NTLM. Но хочу попробовать c kerberos так как есть проблемы с NTLM.
AD 2008 - ABC.LOCAL
Squid 2.7 stable 9
Пробовал вот это
ktpass -princ HTTP/proxy.adc.local@ABC.LOCAL -mapuser admin@abc -crypto rc4-hmac-nt pass squid-pass -ptype KRB5_NT_SRV_HST -out proxy.abc.local.keytab
Дает вот это
Targeting domain controller: dc1.abc.local
Using legacy password setting method
Successfully mapped HTTP/proxy.abc.local to admin.
WARNING: pType and account type do not match. This might cause problems.
Key created.
Output keytab to proxy.abc.local.keytab:
Keytab version: 0x502
keysize 73 HTTP/proxy.abc.local@ABC.LOCAL ptype 3 (KRB5_NT_SRV_HST
9 etype 0x17 (RC4-HMAC) keylength 16 (0x7835c079c3561c28e66259ca2b9a8b98)

Копирую этот proxy.abc.local.keytab в /etc/squid

далее ввожу команду
kinit -V -k -t proxy.abc.local.keytab.pdc HTTP/proxy.abc.local
Using default cache: /tmp/krb5cc_0
Using principal: HTTP/proxy.abc.local@ABC.LOCAL
Using keytab: proxy.abc.local.keytab
kinit: Client 'HTTP/proxy.abc.local@ABC.LOCAL' not found in Kerberos database while getting initial credentials

Помогите в чем проблема ???

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Squid kerberos AD 2008"  +/
Сообщение от DarK email(ok) on 01-Ноя-11, 11:00 

> kinit: Client 'HTTP/proxy.abc.local@ABC.LOCAL' not found in Kerberos database while getting
> initial credentials
> Помогите в чем проблема ???

Хотя после создания keytab-а. У пользователя admin вход в домен изменился на HTTP/proxy.abc.local

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Squid kerberos AD 2008"  +/
Сообщение от Cristian (ok) on 01-Ноя-11, 13:02 
Вот вариант того, как работает у меня.
ktpass -princ HTTP//squidname.domain.name.loc@DOMAIN.NAME.LOC -mapuser squid_user@DOMAIN.NAME.LOC -crypto rc4-hmac-nt -pass "12345678" -out c:\krb5.keytab
(у пользователя, на которого генерируется билет, необходимо запретить смену пароля и срок действия пароля неограничен)

После чего "krb5.keytab" размещаем в /etc/krb5.keytab (FreeBSD 8.2) и назначаем такие права:
============================================
-r-xr-xr-x   1 nobody  nobody krb5.keytab
============================================

Проверяем:
============================================
% kinit -t /etc/krb5.keytab -k HTTP/squidname.domain.name.loc
% klist
Credentials cache: FILE:/tmp/krb5cc_0
        Principal: HTTP//squidname.domain.name.loc@DOMAIN.NAME.LOC

  Issued           Expires          Principal
Nov  1 11:06:09  Nov  1 21:06:09  krbtgt/DOMAIN.NAME.LOC@DOMAIN.NAME.LOC
============================================


в конфиге Squid-a:
============================================
auth_param negotiate program /usr/local/libexec/squid/squid_kerb_auth -d -s HTTP//squidname.domain.name.loc@DOMAIN.NAME.LOC
#-d debug режим, смотрим в cache.log (можно убрать после отладки)

auth_param negotiate children 10
auth_param negotiate keep_alive on

acl REQUIRED proxy_auth REQUIRED           #REQUIRED - все пользователи, которые прошли авторизацию
http_access    allow REQUIRED
============================================

В DNS на серверах необходимо создать запись squidname.domain.name.loc, которая будет соответствовать IP-адресу вашему прокси.

В браузерах клиентов необходимо указывать адрес прокси "squidname.domain.name.loc", по IP работать не будет!!!!

Надеюсь данная информация поможет вам в решение ваших проблем


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Squid kerberos AD 2008"  +/
Сообщение от DarK email(ok) on 01-Ноя-11, 17:11 
>[оверквотинг удален]
> auth_param negotiate keep_alive on
> acl REQUIRED proxy_auth REQUIRED        
>   #REQUIRED - все пользователи, которые прошли авторизацию
> http_access    allow REQUIRED
> ============================================
> В DNS на серверах необходимо создать запись squidname.domain.name.loc, которая будет соответствовать
> IP-адресу вашему прокси.
> В браузерах клиентов необходимо указывать адрес прокси "squidname.domain.name.loc",
> по IP работать не будет!!!!
> Надеюсь данная информация поможет вам в решение ваших проблем

Большое спасибо! Протестирую и сразу отпишусь))

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Squid kerberos AD 2008"  +/
Сообщение от DarK email(ok) on 01-Ноя-11, 21:27 
> Большое спасибо! Протестирую и сразу отпишусь))

C:\Users\Администратор.DC1>ktpass -princ HTTP//proxy.babilon.local@BABILON.LOCAL
-mapuser squid_user@BABILON.LOCAL -crypto rc4-hmac-nt -pass "Uzel963" -out c:\k
rb5.keytab
Targeting domain controller: dc1.babilon.local
Using legacy password setting method
Successfully mapped HTTP//proxy.babilon.local to squid_user.
WARNING: pType and account type do not match. This might cause problems.
Key created.
Output keytab to c:\krb5.keytab:
Keytab version: 0x502
keysize 75 HTTP//proxy.babilon.local@BABILON.LOCAL ptype 0 (KRB5_NT_UNKNOWN) vno
3 etype 0x17 (RC4-HMAC) keylength 16 (0xde0e25a54cb8ed52daa6ca713e59b9d4)


Копирую krb5.keytab в /etc/

-r-xr-xr-x 1 nobody nobody 81 Nov  1 22:16 /etc/krb5.keytab

proxy ~ #  kinit -t /etc/krb5.keytab -k HTTP/proxy.babilon.local
kinit: Client 'HTTP/proxy.babilon.local@BABILON.LOCAL' not found in Kerberos database while getting initial credentials

В примере HTTP//domain.name.loc т.е. два слеша если делаю так
proxy ~ #  kinit -t /etc/krb5.keytab -k HTTP//proxy.babilon.local
kinit: No key table entry found for HTTP//proxy.babilon.local@BABILON.LOCAL while getting initial credentials

все равно гдето ошибка, что опять не так ?

и да у меня не FreeBSD а Gentoo если конечно это на что то влияет

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Squid kerberos AD 2008"  +/
Сообщение от DarK email(ok) on 02-Ноя-11, 09:38 
Все делаю по примеру. У созданного пользователя логин меняется на HTTP/proxy.babilon.local
Но такая фигня  
proxy ~ #  kinit -t /etc/squid/proxy.babilon.local.keytab -k HTTP/proxy.babilon.local
kinit: No key table entry found for HTTP/proxy.babilon.local@BABILON.LOCAL while getting initial credentials

Я так понял keytab неправильно создается.  

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Squid kerberos AD 2008"  +/
Сообщение от Cristian (ok) on 02-Ноя-11, 11:36 
> Все делаю по примеру. У созданного пользователя логин меняется на HTTP/proxy.babilon.local
> Но такая фигня
> proxy ~ #  kinit -t /etc/squid/proxy.babilon.local.keytab -k HTTP/proxy.babilon.local
> kinit: No key table entry found for HTTP/proxy.babilon.local@BABILON.LOCAL while getting
> initial credentials
> Я так понял keytab неправильно создается.

Прошу прощения. Действительно, в строке генерации ключа необходимо указывать один слеш (ktpass -princ HTTP/domain)

С генерируйте снова keytab, с одним слешем и попробуйте проверить (kinit)
Заранее проверьте, резолвиться ли ваш "babilon.local" на сервере прокси где вы запускаете kinit.

Какая у вас операционная система, где установлен Squid? На разных OS могут отличаться ключи запуска, для kinit.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Squid kerberos AD 2008"  +/
Сообщение от DarK email(ok) on 02-Ноя-11, 13:05 
>[оверквотинг удален]
>> kinit: No key table entry found for HTTP/proxy.babilon.local@BABILON.LOCAL while getting
>> initial credentials
>> Я так понял keytab неправильно создается.
> Прошу прощения. Действительно, в строке генерации ключа необходимо указывать один слеш
> (ktpass -princ HTTP/domain)
> С генерируйте снова keytab, с одним слешем и попробуйте проверить (kinit)
> Заранее проверьте, резолвиться ли ваш "babilon.local" на сервере прокси где вы запускаете
> kinit.
> Какая у вас операционная система, где установлен Squid? На разных OS могут
> отличаться ключи запуска, для kinit.

Да я менял. HTTP/proxy.babilon.local тоже не работает. Ошибка
kinit -t /etc/squid/proxy.babilon.local.keytab -k HTTP/proxy.babilon.local
kinit: No key table entry found for HTTP/proxy.babilon.local@BABILON.LOCAL while getting initial credentials
Gentoo OS, Squid 2.7 установлен на нем.
Домен контроллер windows server 2008 R2 enterprise. AD + DNS


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Squid kerberos AD 2008"  +/
Сообщение от DarK email(ok) on 03-Ноя-11, 08:30 
>[оверквотинг удален]
>> Заранее проверьте, резолвиться ли ваш "babilon.local" на сервере прокси где вы запускаете
>> kinit.
>> Какая у вас операционная система, где установлен Squid? На разных OS могут
>> отличаться ключи запуска, для kinit.
> Да я менял. HTTP/proxy.babilon.local тоже не работает. Ошибка
> kinit -t /etc/squid/proxy.babilon.local.keytab -k HTTP/proxy.babilon.local
> kinit: No key table entry found for HTTP/proxy.babilon.local@BABILON.LOCAL while getting
> initial credentials
> Gentoo OS, Squid 2.7 установлен на нем.
> Домен контроллер windows server 2008 R2 enterprise. AD + DNS

Проблема решилась, просто при создании Keytaba использовал шифрование AES, теперь
proxy ~ # kinit -V -k -t /etc/squid/proxy.babilon.local.keytab HTTP/proxy.babilon.local
Using default cache: /tmp/krb5cc_0
Using principal: HTTP/proxy.babilon.local@BABILON.LOCAL
Using keytab: /etc/squid/proxy.babilon.local.keytab
Authenticated to Kerberos v5

Но теперь не проходит авторизация в cache.log
2011/11/03 09:26:32| squid_kerb_auth: Got 'YR TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAHIXAAAADw==' from squid (length: 59).
2011/11/03 09:26:32| squid_kerb_auth: parseNegTokenInit failed with rc=101
2011/11/03 09:26:32| squid_kerb_auth: received type 1 NTLM token
2011/11/03 09:26:32| squid_kerb_auth: Got 'YR TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAHIXAAAADw==' from squid (length: 59).
2011/11/03 09:26:32| squid_kerb_auth: parseNegTokenInit failed with rc=101
2011/11/03 09:26:32| squid_kerb_auth: received type 1 NTLM token
C этим как бороться :) ?


Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Squid kerberos AD 2008"  +/
Сообщение от Cristian (ok) on 03-Ноя-11, 11:16 
Вы на верном пути реализации Kerberos авторизации =)

Будет полезным прочесть это "http://wiki.squid-cache.org/ConfigExamples/Authenticate/Kerb..., если не читали.

Я не знаю откуда вы взяли и собрали из исходников SQUID, а потому рекомендую добавить в исполняемый файл запуска это:
KRB5_KTNAME=/dir/to/HTTP.keytab
export KRB5_KTNAME

Второй момент который нужно учесть, это синхронизация времени. Время между серверами прокси, АД и пользователем, не должно отличатся более чем 5 минут.

В браузере пользователя указываться не IP-proxy а FQDN, кроме того kerberos авторизация работает в explorer-версиях начиная с 7-й. На 6-й и ниже не работает!!!

auth_param negotiate program /dir/to/squid/squid_kerb_auth -d -s HTTP//proxy.babilon.local@BABILON.LOCAL

Надеюсь у Вас все получиться!

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Squid kerberos AD 2008"  +/
Сообщение от DarK email(ok) on 03-Ноя-11, 13:48 
>[оверквотинг удален]
> потому рекомендую добавить в исполняемый файл запуска это:
> KRB5_KTNAME=/dir/to/HTTP.keytab
> export KRB5_KTNAME
> Второй момент который нужно учесть, это синхронизация времени. Время между серверами прокси,
> АД и пользователем, не должно отличатся более чем 5 минут.
> В браузере пользователя указываться не IP-proxy а FQDN, кроме того kerberos авторизация
> работает в explorer-версиях начиная с 7-й. На 6-й и ниже не
> работает!!!
> auth_param negotiate program /dir/to/squid/squid_kerb_auth -d -s HTTP//proxy.babilon.local@BABILON.LOCAL
> Надеюсь у Вас все получиться!

Ок. Все равно спасибо вам. буду смотреть дальше надеюсь когда нибудь получиться настроить эту связку ))


Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Squid kerberos AD 2008"  +/
Сообщение от DarK email(ok) on 04-Ноя-11, 08:11 
при перезапуске сквида, командой klist что должно показывать может в этом проблема ??
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Squid kerberos AD 2008"  +/
Сообщение от Cristian (ok) on 04-Ноя-11, 13:15 
> при перезапуске сквида, командой klist что должно показывать может в этом проблема
> ??

kinit & klist ни как не связаны с squid-om.
Данные команды нужны Вам только для проверки работы ключа.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру