Назад | Перейти на главную страницу

Ошибка фильтра поиска LDAP pfsense + squid

Только что установил pfsense и squid на запасной машине. Я пытаюсь заставить Squid аутентифицировать пользователей AD через LDAP.

Сначала я попробовал это: http://vicryhc.wordpress.com/2013/07/08/how-to-setting-squid-on-pfsense-with-authentiaction-ldap-windows/

Мое доменное имя - ads.example.local. Я создал пользователя "squid" в контейнере "Пользователи" в AD.

К моему ужасу, это не сработало; поэтому я немного поэкспериментировал и изменил базовый домен:

Базовый домен LDAP: **cn=Users,**dc=ads,dc=example,dc=local

И бинго! Это сработало. Однако эта настройка предназначена для аутентификации только одного пользователя - «squid», который находится в контейнере Users в моем AD.

Итак, я продолжил с тем же руководством, которое также показывает, как аутентифицировать группу пользователей.

Я создал группу с именем «InternetUsers» в контейнере «Пользователи» в AD и добавил в нее некоторых пользователей.

Затем я изменил настройки:

Согласно руководству, я ввел следующее значение для фильтра поиска LDAP:

(&(memberOf=CN=InternetUsers,CN=Users,DC=ads,DC=example,DC=local)(sAMAccountName=%s))

Это не могло аутентифицировать ни одного пользователя. Поэтому я немного поэкспериментировал с этим ... Также попробовал базовый домен LDAP: cn=Users,dc=ads,dc=example,dc=local

Но вообще не повезло. Записи журнала Squid показывают "Операционная ошибка" - ничего конкретного.

Значит, что-то не так с моим поисковым фильтром LDAP или значением базового домена.

Есть предложения по исправлению моей ошибки? Или любой инструмент анализатора LDAP, который я могу установить на сервере AD, который может помочь мне отладить мои настройки?

Заранее спасибо.

Обновить:

Группа «InternetUsers» - это группа безопасности, которая находится в контейнере «Пользователи» в AD. Я добавил всех своих пользователей в эту группу. Эти пользователи распределены по AD в различных подразделениях.

Трое из этих пользователей - «squid», «test» и «administrator» находятся в контейнере Users, и я могу проверить их, используя следующие значения:

LDAP base domain: cn=Users,dc=ads,dc=example,dc=local
(Doesn't work if I set base domain to dc=ads,dc=example,dc=local)
LDAP username DN attribute: samAccountName
LDAP search filter:(&(memberOf=CN=InternetUsers,CN=Users,DC=ads,DC=example,DC=local)(sAMAccountName=%s))

Но пользователи, которые находятся в других OU, не могут быть аутентифицированы, даже если они являются членами группы InternetUsers. Поиск не является рекурсивным и, похоже, не выходит за пределы одного уровня. Так что либо мне нужно найти способ включить несколько значений базового домена, либо вручную отредактировать какой-нибудь файл конфигурации, чтобы сделать его рекурсивным.

в LDAP username DN attribute измените его на то, что существует в вашей базе данных AD. В целом uid оставлен пустым, за исключением случаев, когда системные администраторы заботятся об атрибутах UNIX, хранящихся в базе AD.

Просто замените это на sAMAccountName и проверьте, будет ли это работать.