Всем доброго времени суток!Настроил squid на аутентификацию пользователей AD через ntlm.
1. Все замечательно работает, в AD есть группы пользователей.
2. В качестве редиректора используется squidGuard, в нем определяется приадлежность пользователей группам AD и есть правила доступа к URL.Вопрос заключается в следующем: возможно ли настроить squid таким образом, чтобы сначала он проверял, разрешен ли доступ конкретному IP, а затем, если доступа нет требовал доменную аутентификацию? (Соответственно, если доступ по IP есть - разрешить доступ в инет без AD-авторизации, а если явно указан запрет по IP не разрешать выход и не требовать авторизации AD)
Режим работы домена - 2008
FreeBSD 8.0-RELEASE
squid-3.0.25_2
squidGuard-1.4_2
samba34-3.4.8Настройки прокси:
tstprox# egrep -v '^$|^#' /usr/local/etc/squid/squid.conf | more
http_port 192.168.0.129:3128
maximum_object_size_in_memory 102400
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
cache_dir ufs /usr/local/squid/cache 4096 16 256
refresh_pattern ^ftp: &n... 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
dns_nameservers 192.168.0.33 192.168.0.104
auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param ntlm children 10
auth_param ntlm keep_alive on
auth_param ntlm use_ntlm_negotiate on
auth_param basic children 10
auth_param basic realm TEST Squid Proxy-server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl all src 0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1
acl to_localhost dst 127.0.0.0/8
acl DOMAIN proxy_auth REQUIRED
acl SSL_ports port 443
acl purge method PURGE
acl CONNECT method CONNECT
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access allow localhost
http_access allow DOMAIN
http_access deny all
http_reply_access allow all
htcp_access deny all
visible_hostname prox.DOMAIN.ru
access_log /usr/local/squid/logs/access.log squid
url_rewrite_program /usr/local/bin/squidGuard -c /usr/local/etc/squid/squidGuard.conf
и что мешает поставить проверку IP выше правил авторизации?
acl ips src 192.168.0.2 192.168.0.101-192.168.0.200
http_access deny all ! ips
>и что мешает поставить проверку IP выше правил авторизации?
>acl ips src 192.168.0.2 192.168.0.101-192.168.0.200
>http_access deny all ! ipsСпасибо! Такое исключение адресов из запрета действительно работает как нужно - тачки из домена можно принудительно закрыть, если задать их в "http_access deny all ! ips". Если в редиректоре они не помещены в правила, разрешающие интернет, то попадают в бан по-умолчанию. Если в squidGuard'e разрешить доступ, то фильтры контента работают.
Без указания машины в "http_access deny all ! ips" прокси просит аутентификации.
Вроде не сложно, а сам не допер. Спасибо еще раз!
>>и что мешает поставить проверку IP выше правил авторизации?
>>acl ips src 192.168.0.2 192.168.0.101-192.168.0.200
>>http_access deny all ! ips
> Спасибо! Такое исключение адресов из запрета действительно работает как нужно - тачки
> из домена можно принудительно закрыть, если задать их в "http_access deny
> all ! ips". Если в редиректоре они не помещены в правила,
> разрешающие интернет, то попадают в бан по-умолчанию. Если в squidGuard'e разрешить
> доступ, то фильтры контента работают.
> Без указания машины в "http_access deny all ! ips" прокси просит аутентификации.
> Вроде не сложно, а сам не допер. Спасибо еще раз!Здравствуйте, не понял:
> "Спасибо! Такое исключение адресов из запрета действительно работает как нужно - тачки
> из домена можно принудительно закрыть, если задать их в "http_access deny
> all ! ips""этоже наоборот исключения, прописав тачки в этот acl вы даете им доступ, "запретить все кроме тех кто в этом acl"