Итак!
Всем доброго здравия.
Звучал вопрос, в одном из сообщений, как у меня успехи с моей задачей, вот я готов написать.Заработало, что я могу сказать.
В Active Directory:
Созданы 3 дополнительные группы:
InetUs - нельзя запрещенные
InetVIP - нельзя запрещенные, кроме небольшого списка разрешенных
InetFull - Можно все.
На FreeBSD сделано следующее:
Ну естественно поднята самба, настроен керберос и конечно же сквид. Описывать полностью конфиги не буду, не к чему, все прекрасно понимают и знают что там написать, а те кто не знают, курите маны или читайте статьи, их полно и все на русском.
В squid.conf были удалены все acl-ы и добавлены следующие:
# Авторизация в домене по NTLM и Basic для тех, что не смог авторизоваться по ntlm, так происходит.
auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 150
auth_param ntlm keep_alive on
auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 50
auth_param basic realm DeltaPlans's Squid Beast
auth_param basic credentialsttl 8 hours
auth_param basic casesensitive off
..........
# Описываю acl-ы, комментарии излишни, итак все понятно
acl _acl_Access_Denied url_regex -i "/usr/local/etc/squid/regulations/Access.Denied"
acl _acl_Access_Allow_VIP url_regex -i "/usr/local/etc/squid/regulations/Access.Allow.VIP"
acl _sams_local_ip dst "/usr/local/etc/squid/local_ip.sams"
# Получаем группы из AD
external_acl_type nt_group %LOGIN /usr/local/libexec/squid/wbinfo_group.pl
# Описываю acl-ы для групп
acl Full external nt_group InetFull
acl Medium external nt_group InetVIP
acl Low external nt_group InetUs
...........
acl nt_group proxy_auth REQUIRED
...........
# Описываю доступы и запреты групп AD по спискам сайтов
http_access deny Low _acl_Access_Denied
http_access allow Medium _acl_Access_Allow_VIP
http_access deny Medium _acl_Access_Denied
http_access allow Low
http_access allow Medium
http_access allow Full
http_access allow localnet
http_access deny !Safe_ports
...........
Далее все стандартно.
После этого /usr/local/etc/rc.d/squid reload и проверяем, Все работает.