Б3. Аутентификация при использовании LDAP/AD |
Конфигурационный файл Настройки приводятся в файле конфигурации auth-ldap-rfc4515.conf. Также предоставляются конфигурационные файлы с типовыми настройками: •auth-ldap-rfc4515-check-group.conf — шаблон конфигурационного файла внешней авторизации администраторов через LDAP по упрощенной схеме с проверкой принадлежности к группе Active Directory. •auth-ldap-rfc4515-check-group-novar.conf — шаблон конфигурационного файла внешней авторизации администраторов через LDAP по упрощенной схеме с проверкой принадлежности к группе Active Directory с использованием переменных. •auth-ldap-rfc4515-simple-login.conf — шаблон конфигурационного файла внешней авторизации администраторов через LDAP по упрощенной схеме. Основные теги конфигурационного файла auth-ldap-rfc4515.conf: •<server /> — определение LDAP сервера.
•<set /> — задание переменных поиском в LDAP.
Переменные могут быть использованы в значениях атрибута add тегов <mask /> и <expr />, в значении атрибута value тега <filter /> в форме \varname, а так же в значении атрибута search тега <set />. Допустимый уровень рекурсии при раскрытии переменных — 16. Если поиск возвращает несколько найденных объектов, то используется только первый. •<mask /> — шаблоны имени пользователя.
Например:
\1 и \2 — ссылки на совпадающие маски в атрибуте user. •<expr /> — шаблоны имени пользователя с использованием регулярных выражений (атрибуты идентичны <mask />). Например:
Соответствие масок и регулярных выражений:
•<filter /> — фильтр поиска в LDAP.
•<user-dn/> определяет правила трансляции имен в DN с использованием DOS-подобных масок. В теге <user-dn/> допускается использование символов подстановки: ▫* заменяет последовательность любых символов кроме . , = @ \ и пробелов; ▫# заменяет последовательность любых символов. •<user-dn-expr/> определяет правила трансляции имен в DN с использованием регулярных выражений. Например, одно и то же правило в разных вариантах:
\1 .. \9 определяют место подстановки в шаблоне значений *, # или выражений в скобках. Исходя из данного принципа: если указано имя пользователя в виде login@example.com, то после трансляции получится DN: "CN=login,DC=example,DC=com". •<user-dn-extension-enabled/> разрешает выполнение Lua-скрипта ldap_user_dn_translate.ds (пользовательская процедура Трансляция имен пользователей в LDAP DN) для выполнения трансляции имени пользователя в DN. Данный скрипт выполняется после попыток применения всех правил user-dn, user-dn-expr, если не найдено ни одно подходящее правило. У скрипта один параметр — введенное имя пользователя. Скрипт возвращает строку, содержащую либо DN, либо ничего. Если не подошло ни одно правило и скрипт не разрешен или не вернул ничего, то введенное имя пользователя используется как есть. •<bind dn/> определяет DN пользователя, который используется для подключения к серверу LDAP, и <bind password/> определяет пароль пользователя, который используется для подключения к серверу LDAP (возможны пустые DN и password для анонимного подключения). Например:
Конкатенация фильтров
Если admingrp в результате поиска примет значение "CN=ESuite Admins,OU=some name,DC=example,DC=com", а пользователь ввел domain\user, тогда в итоге получается фильтр:
Пример настройки LDAP/AD-аутентификации Далее приведен пример типовых настроек для аутентификации с использованием LDAP. Настройки задаются в Центре управления, раздел Администрирование → Аутентификация → LDAP/AD-аутентификация (для варианта Упрощенные настройки). Исходные параметры администраторов, которые должны пройти аутентификацию: •домен: dc.test.local •группа в Active Directory: DrWeb_Admins Настройки Центра управления:
|