Настройка LDAP с OpenLDAP - Avanpost FAM/MFA+

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

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-провайдераOpenLDAP
    Группы по умолчаниюНачать ввод имён групп, которые должны быть выданы новым пользователям, создаваемым в результате LDAP-синхронизацииИмя группы, созданной в Avanpost FAM: lk-client
    HostIP-адрес или DNS имя контроллера домена OpenLDAP

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

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

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

    Без TLS: 389.

    С TLS: 636.

    SSLФункция включения поддержки подключения к LDAP-каталогу по протоколу LDAPS
    BaseDNОбъект каталога, начиная с которого производится поискdc=open,dc=ldap
    Имя пользователяИмя служебной учетной записи в виде DN, используемая для импорта учетных записей, а также для проверки существования учетной записи в LDAP при попытке аутентифицироваться с использованием пароля от учетной записи в доменеuid=ldapauth,dc=open,dc=ldap
    ПарольПароль от служебной учетной записиP@ssw0rd!

    Расписание запуска синхронизации (Cron с секундами)

    5-ти символьный формат cron  / 6-ти символьный формат quartz (с секундами)0 30 12 * * *
    Вкладка/шаг визарда «Интеграция»
    Фильтр поиска пользователейLDAP-фильтр для импорта пользователей(&(objectClass=posixAccount)(ou:dn:=Users))
    Фильтр поиска аутентифицируемого пользователяLDAP-фильтр для поиск пользователей, чей пароль будет проверен в openLDAP(&(objectClass=posixAccount)(uid=%v))
    LDAP атрибут, содержащий логин пользователяПараметр, на основании которого будет сформирован логин в FAM . Атрибут пользователяuid
    Внешний ключ учетной записиУникальный ключ (атрибут пользователя) в OpenLDAPuidNumber
    Атрибут для связывания учетной записи из LDAP c учетной записью IDPПараметр для проверки уникальности учетной записи между OpenLDAP и FAM. Атрибут пользователяDN
    Атрибут пользователя(или DN), перечисляемый в поле member группы LDAPНаименование атрибута пользователя, по которому будет производится поиск пользователей по группам. Например за факт наличия пользователей в группе отвечает атрибут группы memberUid, он в свою очередь является атрибутом uid у пользователяuid
    Импорт дополнительных атрибутов учетной записиНастройка импорт дополнительных атрибутов из AD в FAMПриложение B
    Фильтр поиска группLDAP-фильтр для импорта групп. Если в  данной настройке будут найдены пользователи из "Фильтр поиска пользователей", то их учетные записи автоматически попадут в эту группу в FAM(&(objectClass=posixGroup)(cn=OpenLDAP_FAMusers))
    Атрибут наименования группыАтрибут группы в OpenLDAP с наименование группыcn
    Атрибут описания группыАтрибут группы в OpenLDAP с описанием группыcn
    Атрибут со списком участников группыАтрибут группы в OpenLDAP со списком пользователей группыmemberUid
  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.


Обсуждение