Настройка LDAP-сервера с OpenLDAP


Общие сведения

Avanpost FAM обладает встроенной функциональностью LDAP-синхронизации и LDAP-аутентификации. В статье описывается настройка интеграции с OpenLDAP в качестве поставщика учётных данных и в качестве средства проверки паролей. Интеграция осуществляется посредством протокола LDAP.

Механизм интеграции Avanpost FAM с OpenLDAP посредством LDAP может применяться при решении следующих задач:

Avanpost FAM поддерживает одновременную интеграцию с неограниченным количеством доменов, в качестве которых могут выступать несколько LDAP-каталогов как на базе OpenLDAP, так и на базе других служб каталогов (MS AD, FreeIPA, Avanpost DS и т.д.).

Системные требования для интеграции Avanpost FAM:

  • Сервер с установленным OpenLDAP.
  • Сервер Avanpost FAM 1.3+.

Настройка

Настройка на стороне OpenLDAP

Необходимо создать служебную УЗ с установленным паролем.

Также на стороне OpenLDAP необходимо зафиксировать значения параметров, которые потребуются для настройки: 

  • IP-адрес или DNS-имя сервера OpenLDAP;
  • порт LDAP-интерфейса сервера OpenLDAP;
  • Base Distinguished Name (Base DN).

Настройка на стороне Avanpost FAM

  1. В разделе «Настройки LDAP-провайдеров» создать новый провайдер, указав следующие параметры (более подробно параметры внешних LDAP-провайдеров описаны в разделе Управление LDAP-источниками): 

    Наименование параметраОписание параметра

    Пример значения

    Шаг 1. Основные настройки

    ИмяПроизвольное наименование LDAP-провайдера.OpenLDAP
    Домен

    Домен LDAP-провайдера (одному домену должен соответствовать один LDAP-провайдер). Следует указывать NetBIOS-имя домена (без суффиксов .local, .corp и т.д.). Создание нескольких LDAP-провайдеров в одном домене нежелательно.

    Имя домена. Например, avanpost

    Группы по умолчанию

    Группы, в которые по умолчанию добавляются пользователи, загружаемые с LDAP-провайдера. В текстовое поле требуется ввести существующие в Avanpost FAM группы.

    Имя группы, созданной в Avanpost FAM: lk-client

    Доменный пароль

    Установить флаг в чекбокс "Создать метод аутентификации Доменный пароль":

    • при установленном чекбоксе создается отдельный метод типа "Доменный пароль", привязанный к данному LDAP-провайдеру;
    • при выключенном чекбоксе отдельный метод типа "Доменный пароль" для создаваемого LDAP-провайдера не создается.
    Установить флаг, если планируется использовать метод "Доменный пароль".

    Наименование

    Наименование автоматически создаваемого метода типа "Доменный пароль". Поле появляется при установке флага в чекбокс "Создать метод аутентификации Доменный пароль".

    Avanpost OpenLDAP Password

    Шаг 2. Настройки подключения

    Служба каталогов

    Тип службы каталогов LDAP-сервера. Выбрать из выпадающего списка.

    OpenLDAP
    ХостIP-адрес или DNS имя контроллера домена OpenLDAP

    Пример IP-адреса: 10.10.17.91,

    Пример имени контроллера домена: openldap.avanpost.demo

    ПортПорт подключения к LDAP-каталогу

    Без TLS: 389.

    С TLS: 636.

    SSL

    Переключатель "Использовать защищенное соединение" для включения поддержки подключения к LDAP-каталогу по протоколу LDAPS:

    • при включенном переключателе () соединение с LDAP-провайдером осуществляется с использованием протокола безопасности;
    • при выключенном переключателе () соединение с LDAP-провайдером протокол безопасности не используется.
    Включить переключатель
    Пропустить проверку TLS-сертификата

    Переключатель "Пропустить проверку TLS-сертификата" (используется при включенном переключателе SSL):

    • при включенном переключателе () проверка сертификата TLS пропускается при использовании SSL;
    • при выключенном переключателе () проверка TLS-сертификата выполняется.
    Выключить перелючатель
    Версия TLS

    Выбрать версию протокола TLS.

    None
    BaseDN

    Объект каталога, начиная с которого производится поиск. Можно указать несколько баз для поиска, используя точку с запятой в качестве разделителя.

    Формат ввода: dc=example,dc=com, где dc = Domain Component.

    dc=open,dc=ldap

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

    Имя технической (служебной) учетной записи в виде DN, используемая для импорта учетных записей, а также для проверки существования учетной записи в LDAP при попытке аутентифицироваться с использованием пароля от учетной записи в домене. Может быть добавлен только один пользователь.

    Формат ввода: cn=admin,cn=users,dc=example,dc=com, где dc = Domain Component, cn = Common Name.

    uid=ldapauth, dc=open, dc=ldap

    ПарольПароль от технической (служебной) учетной записи.P@ssw0rd!
    Расписание синхронизации (Cron или Quartz)

    Частота выполнения синхронизации. Формат временного интервала задается в Cron-выражении или в формате Quartz.

    0 30 12 * * *
    Управление паролями

    Разрешить задавать доменные пароли:

    • при включенном переключателе () разрешается задавать пароли для домена LDAP-провайдера;
    • при выключенном переключателе () запрещается задавать пароли для домена LDAP-провайдера.
    Включить/выключить переключатель

    Шаг 3. Настройки интеграции 

    Настройки импорта пользователей
    Фильтр поиска пользователей

    Фильтр, ограничивающий зону поиска пользователей для импорта пользователя из LDAP-провайдера в FAM. Допускается использовать несколько плейсхолдеров.

    (&(objectClass=posixAccount)(ou:dn:=Users))
    Фильтр поиска аутентифицируемого пользователя

    LDAP-фильтр для поиск пользователей, чей пароль будет проверен на стороне OpenLDAP. Допускается использовать несколько плейсхолдеров.

    (&(objectClass=posixAccount)(uid=%v))

    LDAP-атрибут, содержащий логин пользователя

    Наименование атрибута на стороне LDAP-провайдера, содержащего логин импортируемого пользователя.

    uid
    Внешний ключ учетной записиУникальный ключ (атрибут пользователя) в OpenLDAP.uidNumber
    Атрибут для связывания учетной записи из LDAP c учетной записью IDP

    Параметр для проверки уникальности учетной записи между FreeIPA и FAM. Наименование атрибута, по которому осуществляется идентификация и привязка данных пользователя из LDAP-провайдера к IdP Avanpost FAM. Атрибут на стороне LDAP-провайдера.

    dn
    Атрибут пользователя (или DN), перечисляемый в поле member группы LDAP

    Наименование атрибута пользователя, по которому будет производится поиск пользователей по группам. Например за факт наличия пользователей в группе отвечает атрибут группы memberUid, он в свою очередь является атрибутом uid у пользователя.

    uid
    Импорт дополнительных атрибутов учетной записи

    Список дополнительных атрибутов, которые импортируются из LDAP-каталога в Avanpost FAM. Следует настроить импорт дополнительных атрибутов из AD в FAM.

    Согласно приложению B

    Настройки импорта групп

    Синхронизировать группы

    Флаг включения процесса синхронизации групп пользователей на стороне Avanpost FAM и LDAP-провайдера.

    Включить флаг
    Искать группу с учётом домена

    Параметр используется в ситуации, когда из двух или более различных доменов импортируются группы с одинаковыми названиями.

    Включить/выключить флаг
    Фильтр поиска групп

    LDAP-фильтр для импорта групп. Если в  данной настройке будут найдены пользователи из "Фильтр поиска пользователей", то их учетные записи автоматически попадут в эту группу в FAM.

    (&(objectClass=posixGroup)(cn=OpenLDAP_FAMusers))

    Атрибут наименования группыНаименование атрибута, содержащего наименование импортируемой группы. Атрибут на стороне LDAP-провайдера.cn
    Фильтр для поиска пользователей для привязки к группам

    Фильтр предназначен для добавления/удаления из групп пользователей, по какой-либо причине отсутствующих в фильтре "Фильтр поиска групп", но при этом уже существующих в Avanpost FAM. Фильтр ускоряет привязку импортированных пользователей и групп.

    (&(objectClass=krbPrincipal)(uid=*))
    Атрибут для поиска существующего пользователя

    Атрибут пользователя, добавленного в Avanpost FAM. Атрибут на стороне Avanpost FAM, который связывается с атрибутом для связывания учетной записи из LDAP c учетной записью IDP на стороне LDAP-провайдера. По связанному атрибуту осуществляется поиск пользователя в LDAP-каталоге для синхронизации данных (актуализации членства в группах).

    Выбрать из выпадающего списка
    Атрибут для связывания учетной записи из LDAP c учетной записью IDP

    Атрибут пользователя на стороне LDAP-каталога, при помощи которого осуществляется поиск в LDAP-каталоге и синхронизация данных (актуализации членства в группах). Параметр используется для проверки уникальности учетной записи между LDAP-каталогом и FAM. 

    dn

    Наименование атрибута пользователя, по которому будет производится поиск пользователей по группам. Например за факт наличия пользователей в группе отвечает атрибут группы memberUid, он в свою очередь является атрибутом uid у пользователя.

    uid
    Атрибут описания группыАтрибут на стороне LDAP-каталога, содержащий описание группы.cn
    Атрибут со списком участников группыАтрибут на стороне LDAP-каталога, содержащий перечень участников группы.member
    Шаг 4. Завершение
    Сделать активным

    Установить/убрать флажок из чекбокса:

    • при установленном флажке LDAP-провайдер включается сразу после создания;
    • при выключенном флажке приложение LDAP-провайдер выключен: для включения потребуется включить синхронизацию в профиле LDAP-провайдера.
    Включить флаг
  2. Убедиться, что провайдер находится в статусе «Active».

Проверка настройки

  1. Открыть журнал событий безопасности.
  2. Убедиться в наличии сообщений об успешно выполненной синхронизации с openldap.

Сценарии использования

Первичная загрузка/импорт пользователей из домена на базе OpenLDAP в Avanpost FAM

Система Avanpost FAM может выполнить первичную загрузку и создание пользователей, импортировав данные из домена OpenLDAP. Загрузка всех пользователей будет выполнена в результате первой синхронизации в соответствии с заданным расписанием.

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

Автоматическое создание пользователя в Avanpost FAM при его добавлении в домене OpenLDAP

При добавлении пользователей в OpenLDAP, подключенном к Avanpost FAM, система будет автоматически создавать пользователей, которые попадают под правила заданного LDAP-фильтра поиска пользователей.

Обновление атрибутов пользователя при их изменении в домене OpenLDAP

При изменении атрибутов пользователя в домене OpenLDAP, подключенном к Avanpost FAM, система будет автоматически обновлять значения атрибутов, которые настроены в правилах маппинга.

Аутентификация с проверкой пароля через LDAP BIND в домене OpenLDAP

Если пользователь найден в домене OpenLDAP, подключенном к Avanpost FAM, в соответствии с заданным фильтром поиска аутентифицируемого пользователя, то пароль проверяется в LDAP-каталоге. Иначе проверка пароля пользователя выполняется внутренними средствами Avanpost FAM.

Приложение А. Примеры LDAP-фильтров для выборки пользователей, синхронизируемых из OpenLDAP в Avanpost FAM

Выгрузка пользователей из нескольких групп:

(&(objectClass=posixAccount)(|(ou:dn:=Users)(ou:dn:=Extension)))

Приложение Б. Примеры LDAP-фильтров для выборки групп, синхронизируемых из OpenLDAP в Avanpost FAM

Выгрузка нескольких групп:

(&(objectClass=posixGroup)(|(cn=OpenLDAP_FAMusers)(cn=OpenLDAP_VPNUsers)))

Приложение В. Примеры импортируемых атрибутов пользователей при синхронизации из OpenLDAP в Avanpost FAM

Таблица с указанием наиболее часто импортируемых атрибутов пользователя в OpenLDAP:

Атрибут

Значение

Пример значения

displayNameФИОПетров Иван Сергеевич
givenNameИмяИван
snФамилияПетров
displayNameФИОПетров Иван Сергеевич
mailE-mailpetrovis@avanpost.ru
uidИмя входа пользователяpetrovIS
oНаименование организацииАванпост
DNУникальное имя (Distinguished Name)uid=petrovis,OU=ИТ отдел,DC=open,DC=ldap

Исчерпывающий перечень доступных для загрузки атрибутов содержится в документации на OpenLDAP.


Обсуждение