Настройка LDAP-сервера с Avanpost Directory Service


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

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

Ознакомьтесь подробнее с функциональными возможностями продукта Avanpost DS на странице продукта

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

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

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

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

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

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

  1. Войдите в Avanpost DS как администратор.
  2. Перейдите в раздел "Службы" → "Kerberos" → "Служебные учетные записи".
  3. Создать новую служебную запись, указав следующие параметры:
    ПараметрЗначение
    Имя службыВ качестве имени службы использовать адрес Avanpost FAM (в данном примере http/idp.avanpost.local)
    RealmУказать домен, к которому принадлежит служба (в данном примере, contoso.com).
    ПарольВвести пароль.
  4. Сохранить службу и скачать keytab-файл, который будет использоваться для дальнейшей аутентификации в Avanpost FAM.

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

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

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

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

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

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

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

    ИмяНаименование LDAP-провайдера.Avanpost DS
    Домен

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

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

    В случаях, когда используется посредством протокола Kerberos, значение домена должно соответствовать значению Realm служебной записи Kerberos, настраиваемой на стороне Avanpost DS. 

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

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

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

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

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

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

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

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

    Avanpost DS Password

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

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

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

    Avanpost Directory Service
    ХостIP-адрес хоста LDAP-сервера

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

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

    ПортНомер порта LDAP-сервера

    Без TLS: 38900.

    С TLS: 636.

    SSL

    Переключатель "Использовать защищенное соединение":

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

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

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

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

    None
    BaseDN

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

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

    dc=ads,dc=demo
    Имя пользователя

    Техническая учетная запись администратора LDAP-провайдера. Может быть добавлен только один пользователь.

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

    uid=ads_user1,ou=users,dc=ads,dc=demo
    ПарольПароль администратора.P@ssw0rd!
    Расписание синхронизации (Cron или Quartz)

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

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

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

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

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

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

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

    (&(objectClass=person)(uid=%v))
    Фильтр поиска аутентифицируемого пользователя

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

    (&(objectClass=user)(|(sAMAccountName=%s)(mail=%s)))
    LDAP-атрибут, содержащий логин пользователя

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

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

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

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

    Название атрибута или DN (Distinguished Name), значения которого перечисляются в перечне участников группы (в поле member). Атрибут на стороне LDAP-провайдера.

    ПРи включенной синхронизации группы и выключенной синхронизации пользователей данный позволяет ранее загруженного пользователя из LDAP

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    id

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

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

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

    • при установленном флажке LDAP-провайдер включается сразу после создания;
    • при выключенном флажке приложение LDAP-провайдер выключен: для включения потребуется включить синхронизацию в профиле LDAP-провайдера.
    Включить флаг
  2. В разделе «Настройки LDAP-провайдеров» следует убедиться, что провайдер находится в статусе «Active».
  3. Если интеграция Avanpost DS и Avanpost FAM выполняется по протоколу Kerberos, то необходимо загрузить FAM keytab-файл, созданный на стороне Avanpost DS (более подробно о разделе "Kerberos-ключи" указано в статье Настройка метода Kerberos):
    1. Перейти в раздел "Kereros-ключи" режима "Сервиса".
    2. Нажать кнопку "Загрузить ключи" и выбрать созданный ранее keytab-файл.
    3. Убедиться, что параметры загруженной записи корректны:
      1. Параметр "Realm" соответствует параметру "Домен" в учетной записи пользователя, загруженного из Avanpost DS.
      2. Параметр "Учетная запись" соответствует Base URL FAM Server,
      3. В графе "Используется" стоит галочка. 

Настройка браузера для работы с Kerberos

При интеграции Avanpost FAM и Avanpost DS с использованием протокола Kerberos следует настроить браузеры для корректной работы с Kerberos SSO.

Настройка браузера Firefox (Mozilla) выполняется следующим образом:

  1. Перейти в редактор настроек Firefox, введя в адресной строке about:config.
  2. Изменить следующие параметры:
    ПараметрЗначение
    network.negotiate-auth.trusted-urisАдрес FAM Server из параметра base_url конфигурационного фалай (в данном примере https://idp.avanpost.local)
    network.negotiate-auth.delegation-urisАдрес FAM Server из параметра base_url конфигурационного фалай (в данном примере https://idp.avanpost.local)
    network.auth.use-sspitrue (для Windows)

Настройка браузера Google Chrome/Edge выполняется следующим образом:

  1. Убедиться, что, адрес FAM Server в зоне "Надёжные узлы" (Local Intranet):
    1. Открыть раздел "Свойства браузера" на Панели управления.
    2. В разделе безопасность выбрать "Надежные сайты" и нажать кнопку "Сайты".
    3. Убедиться, что в поле добавлен адрес FAM Server и выключен флаг "Требовать проверку сервера (https:) для всех сайтов в этой зоне" (чтобы не возникало ошибок для случаев, когда сертификат самоподписанный).
  2. Убедиться, что DNS-имя FAM (idp.avanpost.local) разрешается корректно:
    1. Открыть командную строку и убедиться, что при вводе команды nslookup idp.avanpost.local возвращается корректный IP-адрес FAM Server.
    2.  Убедиться, что при вводе команды nslookup <IP_адрес_FAM> возвращается адрес FAM Server.

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

Для проверки настройки выполнить следующие действия:

  1. Открыть Журнал событий безопасности Avanpost FAM.
  2. Убедиться в наличии сообщений об успешно выполненной синхронизации с Avanpost DS.
  3. Убедиться, что пользователю при переходе на адрес FAM (https://idp.avanpost.local в данном примере) корректно открывается окно аутентификации. 

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

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

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

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

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

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

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

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

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

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

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

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

(&(objectClass=krbPrincipal)(|(memberOf=cn=ADS_ExchangeUsers,ou=groups,dc=ads,dc=demo)(memberOf=cn=ADS_VPNusers,ou=groups,dc=ads,dc=demo)))

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

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

(&(objectClass=posixGroup)(|(cn=ADS_ExchangeUsers)(cn=ADS_VPNusers)))

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

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

Атрибут

Значение

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

displayNameФИОПетров Иван Сергеевич
firstnameФамилияПетров
lastnameИмяИван
displayNameФИОПетров Иван Сергеевич
emailE-mailpetrovis@avanpost.ru
usernameИмя входа пользователяpetrovIS
dnУникальное имя (Distinguished Name)uid=petrovis,OU=ИТ отдел,DC=open,DC=ldap
idУникальный идентификатор ( GUID) 212685e1-4b95-46e6-abfb-a37bf1d0d055
memberOfГруппы пользователя в виде DNcn=ADS_VPNusers,ou=groups,dc=ads,dc=demo
cnДополнительный атрибут, используемый для синхронизации между FAM и DS в случае изменения параметров учетной записи на стороне каталога (например, смена фамилии пользователя) без изменений на стороне FAM.Петров Иван Сергеевич

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

Обсуждение