
Итак, я настроил прокси-сервер Squid на сервере Ubuntu и теперь хочу настроить таргетинг пользователей на свой домен. Я хотел бы иметь возможность устанавливать списки контроля доступа для групп безопасности в AD. Возможно ли это и как это сделать?
Пользователи также должны пройти аутентификацию с помощью прокси, поскольку в данный момент он широко открыт, я установил прокси с групповой политикой. Я хочу, чтобы прокси был связан с AD, чтобы пользователи входили в систему и получали определенные списки контроля доступа. Все руководства, которые я видел, представляют собой всплывающие сообщения с запросом имени пользователя и пароля. Я хотел бы, чтобы это происходило автоматически, чтобы при входе пользователя он автоматически проходил аутентификацию. Как мне этого добиться? Я думал, что NTLM будет играть в этом определенную роль? И тогда группы безопасности, в которые входит пользователь, будут иметь набор заблокированных веб-сайтов, которые Squid принудительно применяет
заранее спасибо
решение1
Вот пример конфигурации, которая делает то, что вам нужно:
## Active Directory Authentication
auth_param basic program /usr/lib/squid/basic_ldap_auth -R -b "dc=example,dc=com" -D [email protected] -W /etc/squid/conf.d/ldap.pass -f sAMAccountName=%s -h example.com
auth_param basic children 100 startup=5 idle=5
auth_param basic realm Windows Logon
auth_param basic credentialsttl 2 hours
## Group Membership Lookup
external_acl_type ldap_group children-max=1000 children-startup=100 children-idle=50 %LOGIN /usr/lib/squid/ext_ldap_group_acl -d -R -b "dc=example,dc=com" -D [email protected] -W /etc/squid/conf.d/ldap.pass -K -f "(&(objectclass=person)(sAMAccountName=%u)(memberof=CN=%g,OU=Squid_Users,DC=example,DC=com))" -h example.com
# Defines the networks which are allowed to use the proxy
acl allowed-networks src 192.168.1.0/24
# Defines the Active Directory Groups as Squid ACLs (i.e. `InternetGeneralUsers` is a group in AD)
acl users-general external ldap_group InternetGeneralUsers
# Defines the filter ACLs
acl domains-allowed dstdomain "/etc/squid/conf.d/domains/domains-allowed"
# Actual Allow/Deny rules
http_access allow allowed-networks users-general domains-allowed
# And finally deny all other access to this proxy
http_access deny all
Это немного больше, чем просто Active Directory, но общая концепция такова:
- Определите подключение к Active Directory для пользователей.
- Определите, как искать группы в AD.
- Определите ACL, включающий членов группы AD (в этом примере группа AD называется ,
InternetGeneralUsers
а ACL Squid называетсяusers-general
. - Определите разрешающее правило, которое позволяет ACL Squid
users-general
проходить через прокси-сервер.