Настройка синхронизации паролей с доменом Active Directory

Навигатор по разделу:

1. Общая информация

Решение предназначено для перехвата паролей, изменяемых пользователями в домене Microsoft AD, и доставки их в Avanpost IDM с целью:

  • Синхронизации пароля с аккаунтами пользователя в других системах по правилам, настроенным в профилях УЗ;
  • Проверки пароля на соответствие парольным политикам, настроенным в профилях УЗ.

Решение включает:

  • Библиотеку фильтрации паролей AvanpostPasswordFilter.dll, предназначенную для получения событий смены паролей;
  • Службу доставки паролей Avanpost IDM Password Sync Service, обеспечивающую доставку пароля в IDM.

Фильтр передает пароль службе через loopback интерфейс.
Передача пароля в IDM производится в зашифрованном виде в сообщении типа "ChangePasswordEventEncrypted". Сообщение содержит зашифрованный объект "ChangePasswordEvent", сериализованный в формат JSON.
Служба сохраняет лог в папку "%CommonAppData%\Avanpost\PasswordSyncService".

2. Подготовка к установке

Для работы фильтра на контроллере домена Microsoft AD должна быть включена политика "complexity requirements".

Подробнее см. документацию Microsoft: https://technet.microsoft.com/en-us/library/Cc786468(v=WS.10).aspx

3. Установка

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

Для установки решения на контроллер домена Microsoft AD требуется выполнить шаги:

Шаг 1. Распаковать архив в папку установки службы

Шаг 2. Установить библиотеку "AvanpostPasswordFilter.dll" и службу "Avanpost IDM Password Sync Service"

2.1. Для установки с помощью скрипта необходимо: 

  1. Запустить PowerShell от имени администратора;
  2. Перейти в папку службы;
  3. Выполнить команду:
    .\install.ps1

2.2. Для установки вручную необходимо:

  1. Скопировать файл "AvanpostPasswordFilter.dll" в папку "%WINDIR%\System32";
  2. Зарегистрировать библиотеку в реестре в соответствии с документацией Microsoft, добавить имя библиотеки DLL в значение ключа "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Notification Packages". При добавлении требуется указывать только имя библиотеки "AvanpostPasswordFilter" без расширения файла ".dll".
    Документация Microsoft по установке библиотеки фильтра: https://msdn.microsoft.com/en-us/library/windows/desktop/ms721766(v=vs.85).aspx
  3. Установить сертификат в локальное машинное хранилище;
  4. Зарегистрировать службу, выполнив из командной строки с правами администратора команду:
    Avanpost.Idm.PasswordHookService install
  5. Открыть оснастку "Windows services" и настроить службу "Avanpost IDM Password Sync Service";

Шаг 3. Настроить подключение к Avanpost IDM

Для настройки подключения к Avanpost IDM требуется задать значение параметров в конфигурационном файле "appsettings.json":

ПараметрЗначение
ResourceIdИдентификатор ресурса Microsoft AD в Avanpost IDM
DestinationUrlURL сервиса Avanpost IDM
XApiKeyAPI-ключ для аутентификации
PropagateOnlyФлаг. При значении "true" пароль передаётся только для распространения на зависимые ресурсы и создания событий, без применения к текущему ресурсу. По умолчанию значение: "false".
IfChangedФлаг. При значении "true" пароль передаётся только если он был изменён в Microsoft AD. По умолчанию значение: "false".
С помощью данного параметра можно остановить обработку событий смены пароля, если полученный из Microsoft AD пароль совпадает с паролем в Avanpost IDM.
Пример "appsettings.json"
{
  "Idm": {
    "ResourceId": "1",
    "DestinationUrl": "http://idm.local/",
    "XApiKey": "key",
    "PropagateOnly": false,
    "IfChanged": false
  }
}

Уровень логирования настраивается в конфигурационном файле "nlog.config".

Шаг 4. Перезагрузить сервер

Обсуждение