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

Исходное сообщение
"squid и ldap+kerberos аутентификация в домене Active Directory"

Отправлено Man , 05-Ноя-14 13:04 
Здравствуйте!
Настроена и работает LDAP авторизация Squid 3.1.10 на основе групп в AD на Windows Server 2003 R2 SP2 посредством модулей squid_kerb_auth + squid_ldap_auth + squid_ldap_group
CentOS release 6.5 (Final)
Squid 3.1.10
http://pastebin.com/jFG9iGq4 squid -v
http://pastebin.com/nbS1z97P squid.conf
Но по разным причинам есть необходимость применять acl типа «src» (например
acl Myorganization src «/usr/local/squid/acc-list-all») для не авторизованных в домене клиентов.
Проблема в том, что если клиент не авторизован в домене, то браузер циклично запрашивает у него логин и пароль и squid, как будто не переходит к обработке следующего http_access. (Если ввести логин и пароль доменной учетки, то запрашиваемая страница в браузере отображается, но это не подходит)
Кусок лога cache.log в отладочном режиме:
http://pastebin.com/UJFuTxH7
Здесь логирована попытка открыть страницу в браузере под локальным пользователем на доменной машинке, в результате чего запрошен логин и пароль.
Можно ли сделать так, чтобы в описанной ситуации никакие пароли у клиентов не запрашивались, а чтобы squid просто переходил к обработке следующих правил?

Содержание

Сообщения в этом обсуждении
"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено ruatra , 05-Ноя-14 14:10 
Нельзя
У squid логика first match wins
Срабатывает первый подходящий http_access
Если до правила с auth ничего не сработало, то оно либо разрешит, либо запретит

Можно использовать вариант с NTLM  и сохранить пароль у пользователя.
Либо вариант с IDENT, но он требует ПО на клиенте и ненадежен.

http://wiki.squid-cache.org/Features/Authentication


"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено Man , 05-Ноя-14 14:25 
Так в том и дело, что если даже подходящий (не ldap) http_access гарантированно имеется, то до него дело не доходит.
Другими словами, если первым стоит правило
"http_access allow ad-... " (ldap)
а за ним
"http_access allow Myorganization" , (IP)
То второе правило никогда не сработает, даже если не сработало первое(!), что противоречит логике "first match wins"

> Нельзя
> У squid логика first match wins
> Срабатывает первый подходящий http_access
> Если до правила с auth ничего не сработало, то оно либо разрешит,
> либо запретит
> Можно использовать вариант с NTLM  и сохранить пароль у пользователя.
> Либо вариант с IDENT, но он требует ПО на клиенте и ненадежен.
> http://wiki.squid-cache.org/Features/Authentication


"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено ruatra , 06-Ноя-14 06:06 
Чтобы проверить ad-* нужно имя пользователя.
Браузер может передать данные локальной УЗ, но она не соответствует записи в AD
Поэтому squid и запрашивает авторизацию



"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено Man , 06-Ноя-14 07:20 
> Чтобы проверить ad-* нужно имя пользователя.
> Браузер может передать данные локальной УЗ, но она не соответствует записи в
> AD
> Поэтому squid и запрашивает авторизацию

Это-то понятно. Вот и нужно, чтоб не запрашивал ничего, а следующие правила проверял.


"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено ruatra , 06-Ноя-14 08:05 
Это правила доступа.
Если не хватает входных данных для проверки то они запрашиваются
Изменить не получится



"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено Сергей , 06-Ноя-14 18:27 
> Это правила доступа.
> Если не хватает входных данных для проверки то они запрашиваются
> Изменить не получится

А может лучше попробовать srcdom_regex -i ... вместо просто src


"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено Man , 07-Ноя-14 11:00 
>> Это правила доступа.
>> Если не хватает входных данных для проверки то они запрашиваются
>> Изменить не получится
>  А может лучше попробовать srcdom_regex -i ... вместо просто src

что это даст?


"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено Man , 07-Ноя-14 11:23 
Возникла еще проблема с подключением QIP Infium. Лог:
========================================================
192.168.4.60 - - [07/Nov/2014:14:04:22 +0600] "CONNECT api.login.icq.net:443 HTTP/1.0" 407 3784 TCP_DENIED:NONE
192.168.4.60 - User@DOMAIN.LOC [07/Nov/2014:14:04:23 +0600] "GET http://api.icq.net/aim/startOSCARSession? HTTP/1.1" 200 977 TCP_MISS:DIRECT
192.168.4.60 - - [07/Nov/2014:14:04:23 +0600] "CONNECT 178.237.19.96:443 HTTP/1.0" 407 3701 TCP_DENIED:NONE
192.168.4.60 - User@DOMAIN.LOC [07/Nov/2014:14:04:28 +0600] "CONNECT api.login.icq.net:443 HTTP/1.0" 200 1446 TCP_MISS:DIRECT
192.168.4.60 - - [07/Nov/2014:14:04:45 +0600] "CONNECT api.login.icq.net:443 HTTP/1.0" 407 3784 TCP_DENIED:NONE
192.168.4.60 - - [07/Nov/2014:14:04:45 +0600] "GET http://api.icq.net/aim/startOSCARSession? HTTP/1.1" 407 4216 TCP_DENIED:NONE
192.168.4.60 - User@DOMAIN.LOC [07/Nov/2014:14:04:45 +0600] "GET http://api.icq.net/aim/startOSCARSession? HTTP/1.1" 200 1236 TCP_MISS:DIRECT
192.168.4.60 - - [07/Nov/2014:14:04:46 +0600] "CONNECT 178.237.19.96:443 HTTP/1.0" 407 3701 TCP_DENIED:NONE
192.168.4.60 - - [07/Nov/2014:14:04:46 +0600] "CONNECT api.login.icq.net:443 HTTP/1.0" 407 3784 TCP_DENIED:NONE
192.168.4.60 - User@DOMAIN.LOC [07/Nov/2014:14:04:46 +0600] "GET http://api.icq.net/aim/startOSCARSession? HTTP/1.1" 200 977 TCP_MISS:DIRECT
192.168.4.60 - - [07/Nov/2014:14:04:46 +0600] "CONNECT 178.237.19.96:443 HTTP/1.0" 407 3701 TCP_DENIED:NONE
========================================================
Если в настройках подключения QIP`а включить галку Аутентификация прокси и прописать доменные логин и пароль, то соединяется успешно. Но это небезопасно, т.к. пароли оттуда легко выдергиваются.
Это сам QIP криво авторизуется или я что-то не так делаю?

"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено koblin , 07-Ноя-14 12:42 
Что значит криво авторизуется? Вы вводите логин/пароль и он работает. У вас задача какая стоит?

"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено Man , 07-Ноя-14 20:58 
> Что значит криво авторизуется? Вы вводите логин/пароль и он работает. У вас
> задача какая стоит?

Задача рулить (контент, скорость, порты, адреса и т.д) интернетом на основе доменных групп AD. И чтобы на рабочих станциях у доменных пользователей любая "разрешенная" софтина (Браузер, ICQ, Skype, TeamViewer, AmmyAdmin и др..) имела доступ в интернет без необходимости вводить (в том числе и сохранять в этих софтинах) логины и пароли.
В домене около 400 пользователей.

Пока что нормально работают только браузеры.
TeamViewer, кстати, тоже очень странно себя ведет. При его запуске в лог падают строки:
192.168.4.60 - - [07/Nov/2014:23:41:11 +0600] "CONNECT ping3.teamviewer.com:443 HTTP/1.1" 407 3822 TCP_DENIED:NONE
И выскакивает окно с запросом логина и пароля. Если его просто закрыть, ничего не вводя, то он успешно соединяется со своим сервером, получает ID и одноразовый пароль.


"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено Сергей , 09-Ноя-14 22:18 
> TeamViewer, кстати, тоже очень странно себя ведет. При его запуске в лог
> падают строки:
> 192.168.4.60 - - [07/Nov/2014:23:41:11 +0600] "CONNECT ping3.teamviewer.com:443 HTTP/1.1"
> 407 3822 TCP_DENIED:NONE
> И выскакивает окно с запросом логина и пароля. Если его просто закрыть,
> ничего не вводя, то он успешно соединяется со своим сервером, получает
> ID и одноразовый пароль.

А вам не приходило в годову, что он рекламу запрашивает, которая подпадает под правила с аутенфикацией


"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено Man , 10-Ноя-14 06:57 
>  А вам не приходило в годову, что он рекламу запрашивает, которая
> подпадает под правила с аутенфикацией

1) "CONNECT ping3.teamviewer.com:443 HTTP/1.1" - похоже на рекламу?
2) В любом случае, что ему мешает аутентифицироваться, зачем спрашивает логин-пароль? И почему он все-таки проходит аутентификацию, когда я нажимаю отмену?
===============================================================
192.168.4.60 - - [10/Nov/2014:10:28:29 +0600] "GET http://ping3.teamviewer.com/din.aspx? HTTP/1.1" 407 3975 TCP_DENIED:NONE
192.168.4.60 - User@DOMAIN.LOC [10/Nov/2014:10:28:29 +0600] "GET http://ping3.teamviewer.com/din.aspx? HTTP/1.1" 200 587 TCP_MISS:DIRECT
===============================================================
Логика где?
3) Под правила с аутентификацией, если посмотреть конфиг, подпадают абсолютно все запросы от доменных компов.


"squid и ldap+kerberos аутентификация в домене Active Directory"
Отправлено Man , 10-Ноя-14 06:58 
А могут запросы авторизации в вышеуказанных программах быть как-то связаны с перечисленными в krb5.conf типами шифрования (rc4-hmac des-cbc-crc des-cbc-md5)?
http://pastebin.com/7Uh05y6E - /etc/krb5.conf