The OpenNET Project / Index page

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

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

"squid3+krb auth+AD"  +/
Сообщение от nokogerra email on 18-Апр-13, 06:58 
Доброго времени суток.
Есть Debian 6 + squid 3.1 +rejik, авторизация в AD (win 2008 R2) работает через krb5 + keytab на основе spn (без самбы и винбинда). Работает нормально, но не на всех браузерах (тестировал на mozilla firefox frontmotion, g chrome и IE), + наткнулся еще на несколько специфических проблем, посему вопросов будет несколько.
1.Не работает прозрачная авторизация в IE (пробовал 8,9,10, назначал прокси политикой и вручную - эффект один, причем меня терзает сомнение что вначале работала, но я проводил много тестов, откатывался к снапшотам и делал заново, поэтому не помню точно). Если назначить прокси вручную, то прозрачная авторизация перестает работать и в google chrome (если хрому назначить политикой через adm шаблоны - все ок), для firefox история тоже отчасти странная - при назначении через gpo (также adm) все нормально, при назначении руками работает пока не переместить пользователя в другую AD группу с другими правами в acl сквида, после этого перестает работать, хотя однако это не беда -назначать вручную не собираюсь (через gpo), но вот IE волнует - кто сталкивался - отпишите пожалуйста.
вот что в cache.log по поводу авторизации:
2013/04/18 09:03:40| authenticateNegotiateHandleReply: Error validating user via Negotiate. Error returned 'BH received type 1 NTLM token'

2. Решил добавить базовую авторизацию из файла в случае если не отработает negotiate, не работает, в cache -тоже самое что в вопросе 1(и это логично что не отработал negotiate ведь и тестируем базик, логинился не доменным пользователем, но при чем тут ntlm token не понятно).
лог сквида:

#negotiate krb аутентификация
auth_param negotiate program /usr/lib/squid3/squid_kerb_auth -s HTTP/SquidErgo.mfk-22.local@MFK-22.LOCAL
auth_param negotiate children 15
auth_param negotiate keep_alive on
#basic из файла аутентификация
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/local_squid_users
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
#external acl для крб
external_acl_type ldap_verify %LOGIN /usr/lib/squid3/squid_ldap_group -R -b "dc=mfk-22,dc=local" -f "(&(objectclass=user)(sAMAccountName=%v)(memberOf=cn=%a,ou=squidtest_u,ou=MFC,dc=mfk-22,dc=local))" -D forldap@mfk-22.local -K -W /etc/squid3/aduser dc.mfk-22.local
..............................................................
acl allusers proxy_auth REQUIRED
acl internet_allow external ldap_verify inet_allow
acl internet_deny external ldap_verify inet_deny
acl mfc22 dstdomain www.mfc22.ru
#acl для basic аутентификации
acl basic_users proxy_auth "/etc/squid3/local_squid_users_list"
acl CONNECT method CONNECT
http_access allow internet_allow
http_access allow internet_deny !mfc22
http_access allow basic_users
...........................................

local_squid_users создан с помощью htpasswd из apache-utils, а в local_squid_users_list просто список тех же пользователей что и в local_squid_users но без паролей.
/etc/squid3/local_squid_users

root@SquidErgo:/usr/src/rejik# cat /etc/squid3/local_squid_users
squiduser1:41RpB4kcoXwTc
squiduser2:nqZAfyd3McLxA
squiduser3:qrK8lckm1MZ5c

/etc/squid3/local_squid_users_list

root@SquidErgo:/usr/src/rejik# cat /etc/squid3/local_squid_users_list
squiduser1
squiduser2
squiduser3

может кто подсказать почему не работает базик?
3. Проблема с добавлением исключений при назначении прокси для google chrome через gpo. Использовал шаблоны, взятые отсюда http://dl.google.com/dl/edgedl/chrome/p … ates.zip., задал исключения в виде просто ip адресов (чтобы локальные http ресурсы не проксировались), но в режике у меня есть секция резать станицы если в браузере был введен ip адрес (например если юзер отnslookup`ил адрес siski.com, а адреса в бан листе нет), и при посещении локального ресурса режик меня завернул, я был удивлен, ведь на этот ресурс я не должен был идти через прокси - так и выяснил что исключения не работает. Видел такое описание gpo для хрома http://www.chromium.org/developers/desi … roxy-sett, там есть раздел --proxy-bypass-list где можно конфигурть исключения командами, но не догнал где эти команды писать то  у кого есть опыт с gpo chrome - как решали?
Заранее спасибо.
Ответить | Правка | Cообщить модератору

Оглавление

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

1. "squid3+krb auth+AD"  +/
Сообщение от ruata on 18-Апр-13, 11:06 
Некоторое время назад настраивал под CentOS 6
были проблемы с системным kerberos патч нашел здесь http://code.google.com/p/msktutil/
https://github.com/krb5/krb5-anonsvn/commit/1c885dbaab63c29f...
Нужно на debian или нет сказать не могу но стоит проверить

Есть хотфикс для Win 2008 http://support.microsoft.com/kb/951191/en-us

Пересмотрите еще раз настройки по документации
http://wiki.squid-cache.org/ConfigExamples/Authenticate/Wind...
Проблема м.б. при неправильном SPN
Возможно стоит пересоздать УЗ почистить кешированные тикеты и т.п.

Мое мнение лучше использовать NTLM меньше проблем с разными клиентами и для локальных УЗ

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

2. "squid3+krb auth+AD"  +/
Сообщение от nokogerra email(ok) on 18-Апр-13, 11:38 
> Некоторое время назад настраивал под CentOS 6
> были проблемы с системным kerberos патч нашел здесь http://code.google.com/p/msktutil/
> https://github.com/krb5/krb5-anonsvn/commit/1c885dbaab63c29f...
> Нужно на debian или нет сказать не могу но стоит проверить

Патч на тот случай если крб ломает msktutil, я ей не пользовался при настройке - я так полагаю этот менеджер для создания и управления spn`ами? Если так - я использовал ktpass в win2008R2 и перелил кейтаб на squid машину, к тому же если бы проблема была в spn - не работала бы авторизация вообще, а она работает в chrome & firefox, и модуль squid_ldap_group отрабатывает как надо и присутствие пользователя в группе подтверждает.

> Есть хотфикс для Win 2008 http://support.microsoft.com/kb/951191/en-us

Хотфикс на тот случай если тикеты не получаются же, у меня kinit по spn работает нормально.

> Проблема м.б. при неправильном SPN
> Возможно стоит пересоздать УЗ почистить кешированные тикеты и т.п.

всегда делаю kdestroy, но spn попробую пересоздать, правда без особой надежды.

> Мое мнение лучше использовать NTLM меньше проблем с разными клиентами и для
> локальных УЗ

Да согласен, и делается в три-пятнадцать :D но я неудачник - уменя не работает и все, конфиги как у всех, wbinfo --authenticate работает а вот ntlm_auth - не хочет и все, кому только конфиги не показывал - все разводили руками и говорили "должно работать" - в итоге плюнул и сделал на krb.

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

3. "squid3+krb auth+AD"  +/
Сообщение от nokogerra email(ok) on 18-Апр-13, 13:34 
Так по поводу вопроса 1:
я идиотъ, сделал еще 1 spn (та же машина но еще 1 доменное имя, еще 1 учетная запись) и все заработало. Но не из-за spn а из-за того что указал fqdn, блин рассказывал всем вокруг что крб работает только с fqdn в данном случае, хрому и мозилле в gpo указывал fqdn, а ишаку какого-то рожна 2й день уже в тестах указывал ip. Вывод - нужно голову проветривать. Но 2й и 3й вопросы актуальны.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "squid3+krb auth+AD"  +/
Сообщение от nokogerra email(ok) on 19-Апр-13, 06:52 
По поводу вопроса 2:
если оставить только базик авторизацию и убрать negotiate - работает нормально (форма запроса логина/пароля выдает только плашку squid proxy-caching web server,т.е. которая прописана в squid.conf, но не выдает опознавательных знаков домена), и из файла тоже, но если присутствует и negotiate - предполагается что вводиться будут доменные учетные данные и запись типа SquidErgo\squiduser1, где SquidErgo - имя прокси, а squiduser1 - пользователь из файла - не помогает. Грубо говоря как заставить различать когда я ввожу доменные учетные данные, когда из файла - не понятно. Продолжаю тесты.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "squid3+krb auth+AD"  +/
Сообщение от Аноним (??) on 19-Апр-13, 10:06 
> По поводу вопроса 2:
> если оставить только базик авторизацию и убрать negotiate - работает нормально (форма
> запроса логина/пароля выдает только плашку squid proxy-caching web server,т.е. которая
> прописана в squid.conf, но не выдает опознавательных знаков домена), и из
> файла тоже, но если присутствует и negotiate - предполагается что вводиться
> будут доменные учетные данные и запись типа SquidErgo\squiduser1, где SquidErgo -
> имя прокси, а squiduser1 - пользователь из файла - не помогает.
> Грубо говоря как заставить различать когда я ввожу доменные учетные данные,
> когда из файла - не понятно. Продолжаю тесты.

А у клиентов в браузере прокси указан именно так, как в билет в кербероса выдан или просто IP адрес указывают? Если в браузере указан IP, то используется NTLM

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

6. "squid3+krb auth+AD"  +/
Сообщение от nokogerra email(ok) on 19-Апр-13, 10:27 
>[оверквотинг удален]
>> запроса логина/пароля выдает только плашку squid proxy-caching web server,т.е. которая
>> прописана в squid.conf, но не выдает опознавательных знаков домена), и из
>> файла тоже, но если присутствует и negotiate - предполагается что вводиться
>> будут доменные учетные данные и запись типа SquidErgo\squiduser1, где SquidErgo -
>> имя прокси, а squiduser1 - пользователь из файла - не помогает.
>> Грубо говоря как заставить различать когда я ввожу доменные учетные данные,
>> когда из файла - не понятно. Продолжаю тесты.
> А у клиентов в браузере прокси указан именно так, как в билет
> в кербероса выдан или просто IP адрес указывают? Если в браузере
> указан IP, то используется NTLM

fqdn
Вообще посоветовали окостылить это дело по портам, для negotiate 3128, для базика 3129 например, попробую - отпишу

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

7. "squid3+krb auth+AD"  +/
Сообщение от nokogerra email(ok) on 19-Апр-13, 12:27 
Попробовал развести авторизацию по портам, с помощью acl myportname, для базик 3129, для negotiate 3128 - не работает. Хочу попробовать 2 инстанса squid на одной машине - подскажите как задать порядок загрузки и опдеделять альтернативные файлы конфигурации при том, что ставил из репов, не вручную собирал. И по поводу режика сразу вопрос - будет ли работать если оба сквида будут использовать 1 модуль режика, но с разными конфигами режика?

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

8. "squid3+krb auth+AD"  +/
Сообщение от nokogerra email(ok) on 25-Апр-13, 06:41 
Вобщем вопросы 2 и 3 также можно считать закрытыми.
по вопросу 2 поднял 2й инстанс сквида и развел negotiate авторизацию с модулем squid_kerb_auth и модулем для групп squid_ldap_group и отдельно basic авторизацию из файла. как поднять 2й инстанс - http://xrotwang.wordpress.com/2008/12/03/running-multiple-sq... http://adminlog.ru/?p=763.
По поводу 3го вопроса: исключения в гугл хроме через gpo работают, закрыл отдельно локальный ресурс по fqdn, короткому имени и ip, а в политике задал игнорировать прокси при переходе на эти же адреса (fqdn, короткое имя и ip). Отработало нормально, не знаю что за шаманство и почему отдельно по ip не работало.
Остался 1 вопрос - поставил lightsquid и он неплохо интерпретирует access.log (мне нужны именно посещения по пользователям), но в access.log попадают доменные имена на которые пользователь прямо не переходил, кто подскажет как можно в lightsquid резать страницы с которых было закачано например меньше 30кб (чтобы они вообще не отображались в статистике), вот скрин http://www.imageup.ru/img247/1305551/light.png.html, 10 доменных имен, и реально переходил только на mfc22.ru 2 раза, т.е. 8 - это всякие гугл шрифты и прочее, и даже mail.ru который зарезан режиком, но 3кб как то подтянулось. Подскажите как фильтровать по размеру или еще каким то образом?
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору


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

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




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

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