28 июл. 2008 г.

Squid + LDAP note

Если требуется, чтобы сквид авторизовал пользователей с помощью openldap-сервера, то в его конфиге требуется отразить что-то вроде этого:
auth_param basic program /usr/lib/squid/ldap_auth -b "ou=squiders,dc=server,dc=ru" -v 3 -u uid 127.0.0.1
acl ldap_auth proxy_auth REQUIRED
http_access allow ldap_auth
При этом /usr/lib/squid/ldap_auth - так называемый helper, который идет в комплекте с прокси-сервером и соединяется по его запросу с ldap-базой. Им можно воспользоваться для проверки работоспособности последней и правильности вписанных параметров. Если вбить в консоль
/usr/lib/squid/ldap_auth -b "ou=squiders,dc=server,dc=ru" -v 3 -u uid 127.0.0.1
то никакого приглашения вы не получите, однако скрипт будет ожидать ввода пары логин\пароль ldap-пользователя через пробел. Если такой пользователь существует и хелперу удалось прицепиться к означенной базе с означенными параметрами, он вернет OK, иначе Success Error.
Следующие две строки описывают ACL группу ldap_auth и разрешают ей доступ к инету. Если LDAP-сервер расположен не на локалхосте, то хелперу следует дать адрес удаленной машины.
Ну и конечно, какие еще могут быть ключи параметров, кроме использованных в примере (-b - где искать, -v - версия ldap, -u - фильтр поиска), можно справиться помощью ldap_auth --help