Б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 сервера.

Атрибут

Описание

Значение по умолчанию

base-dn

DN объекта, относительно которого осуществляется поиск.

Значение атрибута rootDomainNamingContext объекта Root DSE

cacertfile

Файл корневых сертификатов (только UNIX).

host

Адрес LDAP-сервера.

Доменный контроллер для сервера под ОС Windows.

127.0.0.1 для сервера под ОС семейства UNIX.

Допускается указание нескольких тегов <server /> с адресами разных LDAP-серверов. Первым следует указывать адрес главного сервера, на который предполагается основная нагрузка. В случае неудачи будет предпринята попытка аутентификации на следующем сервере и далее по порядку в указанной последовательности.

scope

Область поиска. Допустимые значения:

sub-tree — вся область ниже базового DN,

one-level — прямые потомки базового DN,

base — базовое DN.

sub-tree

tls

Устанавливать TLS для подключения к LDAP.

no

ssl

Использовать протокол LDAPS при подключении к LDAP.

no

<set /> — задание переменных поиском в LDAP.

Атрибут

Описание

Значение по умолчанию

attribute

Имя атрибута, значение которого присваивается переменной. Отсутствие недопустимо.

filter

RFC4515 фильтр поиска в LDAP.

scope

Область поиска. Допустимые значения:

sub-tree — вся область ниже базового DN,

one-level — прямые потомки базового DN,

base — базовое DN.

sub-tree

search

DN объекта, относительно которого осуществляется поиск.

При отсутствии используется base-dn тега <server />

variable

Имя переменной. Должно начинаться с буквы и содержать только буквы и цифры. Отсутствие недопустимо.

Переменные могут быть использованы в значениях атрибута add тегов <mask /> и <expr />, в значении атрибута value тега <filter /> в форме \varname, а так же в значении атрибута search тега <set />. Допустимый уровень рекурсии при раскрытии переменных — 16.

Если поиск возвращает несколько найденных объектов, то используется только первый.

<mask /> — шаблоны имени пользователя.

Атрибут

Описание

add

Строка, добавляемая к фильтру поиска по операции И с элементами подстановки.

user

Маска имени пользователя с использование DOS-образных метасимволов * и #. Отсутствие недопустимо.

Например:

<mask user="*@#"  add="sAMAccountName=\1" />

<mask user="*\*"  add="sAMAccountName=\2" />

\1 и \2 — ссылки на совпадающие маски в атрибуте user.

<expr /> — шаблоны имени пользователя с использованием регулярных выражений (атрибуты идентичны <mask />).

Например:

<expr user="^(.*)@([^.,=@\s\\]+)$"  add="sAMAccountName=\1" />

<expr user="^(.*)\\(.*)"            add="sAMAccountName=\2" />

Соответствие масок и регулярных выражений:

Маска

Регулярное выражение

*

.*

#

[^.,=@\s\\]+

<filter /> — фильтр поиска в LDAP.

Атрибут

Описание

value

Строка, добавляемая к фильтру поиска по операции И с элементами подстановки.

Конкатенация фильтров

<set variable="admingrp" filter="&amp;(objectclass=group)(cn=ESuite Admin)" attribute="dn" />
<mask user="*\*" add="sAMAccountName=\2" />
<filter value="&amp;(objectClass=user)(memberOf=\admingrp)" />

Если admingrp в результате поиска примет значение "CN=ESuite Admins,OU=some name,DC=example,DC=com", а пользователь ввел domain\user, тогда в итоге получается фильтр:

"(&(sAMAccountName=user)(&(objectClass=user)(memberOf=CN=ESuite Admins,OU=some name,DC=example,DC=com)))"

Пример настройки LDAP/AD-аутентификации

Далее приведен пример типовых настроек для аутентификации с использованием LDAP. Настройки задаются в Центре управления, раздел Администрирование → Аутентификация → LDAP/AD-аутентификация (для варианта Упрощенные настройки).

Исходные параметры администраторов, которые должны пройти аутентификацию:

домен: dc.test.local

группа в Active Directory: DrWeb_Admins

Настройки Центра управления:

Название настройки

Значение

Тип сервера

Microsoft Active Directory

Адрес сервера

dc.test.local

Шаблоны имен пользователей для подтверждения авторизации

Маска учeтной записи

test\* или *@test.local

Имя пользователя

\1

Членство пользователей для подтверждения авторизации

Название

DrWeb_Admins

Тип

группа