Avanpost FAM/MFA+ : Настройка LDAP с FreeIPA

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

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

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

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

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

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

Настройка

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

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

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

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

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

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

    ПараметрЧто указатьПримеры значений
    Вкладка/шаг визарда «Подключение»
    ИмяПроизвольное имя LDAP-провайдераFreeIPA
    Группы по умолчаниюНачать ввод имён групп, которые должны быть выданы новым пользователям, создаваемым в результате LDAP-синхронизацииИмя группы, созданной в Avanpost FAM: lk-client
    HostIP-адрес или DNS имя контроллера домена FreeIPA

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

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

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

    Без TLS: 389.

    С TLS: 636.

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

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

    5-ти символьный формат cron  / 6-ти символьный формат quartz (с секундами)0 30 12 * * *
    Вкладка/шаг визарда «Интеграция»
    Фильтр поиска пользователейLDAP-фильтр для импорта пользователей(&(objectClass=posixAccount)(ou:dn:=Users))
    Фильтр поиска аутентифицируемого пользователяLDAP-фильтр для поиск пользователей, чей пароль будет проверен в FreeIPA(&(objectClass=posixAccount)(uid=%v))
    LDAP атрибут, содержащий логин пользователяПараметр, на основании которого будет сформирован логин в FAM. Атрибут пользователяuid
    Внешний ключ учетной записиУникальный ключ (атрибут пользователя) в FreeIPAuidNumber
    Атрибут для связывания учетной записи из LDAP c учетной записью IDPПараметр для проверки уникальности учетной записи  между FreeIPA и FAM. Атрибут пользователяuidNumber
    Атрибут пользователя(или DN), перечисляемый в поле member группы LDAPНаименование атрибута пользователя, по которому будет производится поиск пользователей по группам. Например за факт наличия пользователей в группе отвечает атрибут группы memberUid, он в свою очередь является атрибутом uid у пользователяDN
    Импорт дополнительных атрибутов учетной записиНастройка импорт дополнительных атрибутов из AD в FAMПриложение B
    Фильтр поиска группLDAP-фильтр для импорта групп. Если в  данной настройке будут найдены пользователи из "Фильтр поиска пользователей", то их учетные записи автоматически попадут в эту группу в FAM(&(objectClass=ipausergroup)(cn=FreeIPA_FAMusers))
    Атрибут наименования группыАтрибут группы в FreeIPA с наименование группыcn
    Атрибут описания группыАтрибут группы в FreeIPA с описанием группыdescription
    Атрибут со списком участников группыАтрибут группы в FreeIPA со списком пользователей группыmember
  2. Убедиться, что провайдер находится в статусе «Active».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(&(objectClass=posixAccount)(|(ou:dn:=Users)(ou:dn:=Extension)(memberOf=cn=FreeIPA_VPNUsers,cn=groups,cn=accounts,dc=free,dc=ipa)))

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

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

(&(objectClass=posixGroup)(|(cn=FreeIPA_FAMusers)(cn=FreeIPA_VPNUsers)))

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

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

Атрибут

Значение

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

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

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


Обсуждение