суббота, 12 ноября 2011 г.

Squid + OpenLDAP


Настройка Squid на аутентификацию и авторизацию по данными из OpenLDAP. Резолвятся логин, пароль, членство в группе.
Аутентификация:
Добавляем в /etc/squid/squid.conf:
auth_param basic program /usr/lib/squid/squid_ldap_auth -v 3 -b "dc=company,dc=lan" -f sn=%s localhost
auth_param basic children 5
auth_param basic realm Web-Proxy
auth_param basic credentialsttl 1 minute
Смотрим группу:
Добавляем в /etc/squid/squid.conf:
external_acl_type ldap_group %LOGIN /usr/lib/squid/squid_ldap_group -P -v 3 -b "dc=company,dc=lan" -f "(&(objectClass=posixGroup)(cn=%a)(memberUid=%v))" localhost
Настройка соответствия групп openldap и ACL squid
acl full_access external ldap_group full_access
acl simple_access external ldap_group simple_access
acl simple_access_and_messagers external ldap_group simple_access_and_messagers
acl only_work_sites external ldap_group only_work_sites
ACL
acl list_work_sites dstdomain .ru.wikipedia.org
acl list_negative_sites dstdomain .vkontakte.ru .odnoklassniki.ru .youtube.com
ACL skype & icq
acl icq dstdomain .icq.com
acl numeric_IPs dstdom_regex ^(([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)|(\[([0-9af]+)?:([0-9af:]+)?:([0-9af]+)?\])):443
acl Skype_UA browser ^skype^
Раздача прав
http_access allow simple_access !list_negative_sites !icq !numeric_IPs !Skype_UA
http_access allow simple_access_and_messagers !list_negative_sites
http_access allow only_work_sites list_work_sites
http_access allow full_access
В openldap соответственно создаем группы и делаем их членами нужные нам учетные записи, сейчас схема такая:
simple_access - обычный доступ к инет
simple_access_and_messagers - доступ в инет + доступ к isq, skype
only_work_sites - доступ к рабочим сайтам
full_access - доступ в инет без ограничений
(вместо company.lan подставляем имя вашего домена в openldap)

Комментариев нет:

Отправить комментарий