Инструкция по дополнительной настройке модуля синхронизации

Для предотвращения конфликтов при миграции и синхронизации данных из Microsoft Active Directory (MS AD) используется синхронная модель поведения. В качестве ведущего сервера обработки информации выбран главный сервер в кластере серверов ALD Pro.

Модуль синхронизации работает по следующим принципам:

  • Источник данных LDAP: используется только MS AD DS (Microsoft Active Directory Domain Services). Все изменения объектов выполняются исключительно в MS AD;

  • Направление: односторонняя синхронизация (MS AD → ALD Pro);

  • Контроль изменений: - объекты, управляемые модулем синхронизации, не редактируются напрямую в ALD Pro; - все изменения (создание, модификация, удаление) производятся только в MS AD.

Исходные настройки

Предполагается, что на момент настройки модуля синхронизации у нас имеются:

  • Настроенный контроллер домена MS AD;

  • Настроенный контроллер домена ALD Pro;

  • В обоих доменах MS AD и ALD Pro настроены корзины с одинаковыми интервалами ротации(очистки);

  • Для сетей, в которых находятся контроллеры домена Microsoft AD и ALD Pro, настроено перенаправление DNS-зон;

  • В домене MS AD поднят центр сертификации и выдан сертификат для доступа по LDAPs (см. Выгрузка сертификатов для контроллера домена MS AD);

  • Для учетной записи MS AD, под которой идет подключение модуля синхронизации к контроллерам домена MS AD, необходимо через powershell выдать права на контейнер “Deleted Objects” и организационное подразделение (OU), задействованное для процесса синхронизации.

Примечание

В примере ниже при помощи команд powershell выдаются права на контейнер Deleted Objects и организационное подразделение (OU) Подразделение А для пользователя aldagent в домене winad.lan

// для выдачи прав на контейнер запускаем ``powershell`` от имени администратора
dsacls "CN=Deleted Objects,DC=winad,DC=lan" /takeownership
dsacls "CN=Deleted Objects,DC=winad,DC=lan" /g winad\aldagent:LCRP
dsacls "OU=Подразделение А,DC=winad,DC=lan" /g "winad\aldagent:CA;Reset Password;user" /I:S

Выгрузка сертификатов для контроллера домена MS AD

Для выгрузки сертификатов необходимо, чтобы в домене был настроен Центр Сертификации.

Примечание

Для корректного отображения окна конфигуратора используйте разрешение экрана не ниже 1280×1024, иначе элементы интерфейса могут выходить за пределы экрана.

Запустить Центр Сертификации → Шаблоны Сертификатов → Управление на сервере с ролью Центр Сертификации:

../../../_images/1.png

Создать копию шаблона Проверка подлинности Kerberos, выбрав пункт Скопировать шаблон контекстного меню:

../../../_images/2.png

Настроить шаблон сертификата на вкладке Общие:

  • имя сертификата LDAPowerSSL;

  • период действия сертификата.

../../../_images/3.png

Отметить галочкой пункт меню Опубликовать сертификат в MS AD.

Опубликовать новый тип сертификата. Для этого в в контекстном меню раздела Шаблоны сертификатов выбрать Создать → Выдаваемый шаблон сертификата.

../../../_images/5.png

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

../../../_images/6.png

На контроллере домена, который будет задействован в процессе синхронизации данных со стороны MS AD, открыть оснастку Управление сертификатами компьютера. В дереве сертификатов перейти в папку Личное и в контекстном меню выбрать Все задачи → Запросить новый сертификат:

../../../_images/7.png

В списке доступных сертификатов выбрать созданный ранее, выпустить сертификат (кнопка Выпустить сертификат) и экспортировать (контекстное меню Все задачи → Экспорт).

../../../_images/8.png

Откроется мастер экспорта сертификатов:

../../../_images/9.png
../../../_images/10.png

Выбрать кодировку base64 для файла сертификата:

../../../_images/11.png

Задать имя файла:

../../../_images/12.png

После нажатия кнопки Готово будет выгружен файл сертификата <имя_сертификата.cer>.

../../../_images/13.png

Необходимо изменить формат файла сертификата на *.pem, переименовав файл в <имя_сертификата.pem>. (например sert.pem - как публичный ключ для подключения по LDAPS к контроллеру MS AD)

Выгрузка сертификатов для контроллера домена ALD Pro

Для выгрузки сертификата необходимо зайти на портал управления ALD Pro, нажать на кнопку просмотра информации о сайте и выбрать Незащищенное соединение → Подробнее:

../../../_images/14.png

Выбрать Просмотреть сертификат:

../../../_images/15.png

Откроется файл сертификата:

../../../_images/16.png

Открыть ссылку PEM (сертификат):

../../../_images/17.png

Сертификат сайта сохранен.

Настройка синхронизации паролей MS AD → ALD

Установка passwdhk на контроллер домена (если ранее не устанавливался)

Для настройки потребуется файл PasswdhkSetup.msi, который можно скачать в личном кабинете пользователя Astra Linux https://lk-new.astralinux.ru.

Важно

Синхронизация пароля пользователя будет успешна только для тех учетных записей MS AD, для которых пароль задавался после создания групповой политики passwdhk. Пароли, изменяемые до установки passwdhk, не смогут быть синхронизированы в целевой LDAP (ALD Pro). Для синхронизации паролей у существующих пользователей необходимо сменить/обновить пароль в LDAP-источнике (MS AD DS).

Перед началом установки необходимо установить компонент Visual C++ Redistributable 2022.

  1. Выполнить запуск установочного файла passwdhk_install/util/VC_redist.x64.exe

Установку необходимо выполнить на каждом контроллере домена, где планируется установка утилиты passwdhk.

  1. Запустить файл PasswdhkSetup.msi от имени администратора.

  2. На экране параметров установки указать следующие значения:

  • Уровень логирования - указать один из четырех уровней логирования;

  • Номер ключа регистрации - ввести значение, полученное на портале управления ALD Pro;

  • Публичный ключ регистрации - вставить файл открытого ключа, скачанный при развертывании модуля синхронизации в ALD Pro Модуль синхронизации → Настройки → Синхронизация паролей → Кнопка “Получить ключ” (подробнее в разделе Синхронизация паролей ALD Pro → MS AD).

Примечание

Если ключ подгрузился автоматически, это означает, что на контроллере домена имеются артефакты. В этом случае необходимо выполнить шаги из раздела Настройка синхронизации паролей MS AD → ALD для удаления артефактов старой версии. Это позволит избежать некорректной работы утилиты и ошибок установки или нарушения работы компонентов.

../../../_images/18.png
  1. После заполнения всех параметров нажать на кнопку Установить, затем — Готово.

  2. Дождаться завершения перезагрузки контроллера домена.

  3. Проверить, что в реестре создались необходимые записи.

../../../_images/19.png
../../../_images/20.png

Обновление passwdhk, установленного через групповую политику (GPO), на версию MSI

Важно

Утилита может сработать некорректно, если в системе присутствуют артефакты предыдущих установок. В редких случаях это может привести к ошибкам установки или нарушению работы компонентов.

Если на контроллере домена ранее был установлен passwdhk через групповую политику (GPO), необходимо выполнить удаление старой версии перед установкой новой версии через MSI:

  1. Удалить объект групповой политики passwdhk в редакторе групповых политик (gpmc.msc).

../../../_images/21.png
  1. Удалить папку passwdhk из сетевого каталога \\<Имя-контроллера-домена>\SYSVOL\<Имя-домена>\scripts.

../../../_images/22.png
  1. Очистить параметры в реестре:

  • Удалить ключ Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\passwdhk.

../../../_images/23.png
  • В параметре Notification Packages по пути Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa удалите значение passwdhk.

../../../_images/24.png
  1. Перезагрузить контроллер домена для применения изменений.

  2. После перезагрузки вручную удалить из каталога C:\Windows\System32 файлы passwdhk.dll и libcrypto-3-x64.dll.

../../../_images/25.png
../../../_images/26.png
  1. Выполнить установку новой версии passwdhk через PasswdhkSetup.msi, следуя инструкции из пункта инструкции Исходные настройки для модуля синхронизации.

Автоматизированная установка passwdhk через MST-файл

Для массовой установки утилиты passwdhk на контроллеры домена можно использовать файл трансформации (MST), содержащий заранее заданные параметры конфигурации, который можно развернуть с помощью групповой политики (GPO).

Примечание

Для редактирования установочного файла .msi и создания .mst трансформации можно использовать любую утилиту, поддерживающую редактирование таблиц MSI-файлов (например, Orca или аналогичные средства). В данной инструкции приведены примеры с использованием Orca.

Создание MST-файла

  1. Открыть PasswdhkSetup.msi в утилите редактирования MSI-файлов и создать новый трансформационный файл (MST).

  2. В меню File → Open выбрать установочный файл PasswdhkSetup.msi.

  3. В меню Transform выбрать New Transform.

../../../_images/27.png
  1. Перейти на вкладку Property и добавить следующие свойства:

  • REGKEY — вставьте публичный ключ регистрации, полученный на портале управления ALD Pro. Каждую строку ключа необходимо экранировать символом n (перевод строки).

  • KVNOPUB — номер ключа, также полученный на портале.

../../../_images/28.png
../../../_images/29.png
../../../_images/30.png
  1. После добавления параметров выбрать TransformGenerate Transform и сохранить полученный файл под именем, например, pass.mst.

../../../_images/31.png

Подготовка файлов для установки

  1. Перейти в сетевую папку: \\<Имя-контроллера-домена>\SYSVOL\<Имя-домена>\scripts

  2. Скопировать в нее следующие файлы:

  • PasswdhkSetup.msi;

  • pass.mst.

../../../_images/32.png

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

  1. Открыть редактор групповой политики (gpmc.msc).

  2. В узле Domain Controllers создать новую групповую политику или использовать существующую.

  3. Перейти в раздел: Конфигурация пользователяПолитикиКонфигурация программУстановка программ.

  4. Создать новый пакет:

  • Указать путь к PasswdhkSetup.msi из сетевой папки;

  • в способе развертывания выбрать Особый.

../../../_images/33.png
  1. Добавить MST-файл pass.mst по тому же сетевому пути.

../../../_images/34.png

Применение политики

  1. Применить политику командой: gpupdate /force

  2. Перезагрузить контроллер домена.

Синхронизация паролей ALD Pro → MS AD

Получение открытого ключа

В интерфейсе ALD Pro открыть Модуль синхронизации → Конфигурации → Синхронизация паролей

../../../_images/35.png

По нажатию кнопки Получить ключ скачивается файл открытого ключа и актуализируется порядковый номер ключа.

Синхронизация паролей

Скачанный файл открытого ключа необходимо сохранить в любую директорию, например, /tmp/. Следующим шагом файл открытого ключа необходимо скопировать в расположение /opt/rbta/aldpro/syncer/:

sudo cp /tmp/public.gpg  /opt/rbta/aldpro/syncer/public.gpg

Перезагружаем контроллер домена:

sudo aldproctl restart

Примечание

  • При изменении пароля синхронизированного пользователя через интерфейс FreeIpa, синхронизация пароля от ALD Pro к MS AD не произойдет. Для изменения пароля с последующей успешной синхронизацией необходимо использовать интерфейс ПК «ALD Pro»;

  • Процесс изменения пароля пользователя через личный кабинет с последующей синхронизацией от ALD Pro к MS AD проходит успешно только при использовании личного кабинета контроллера домена, на котором был развернут модуль синхронизации;

  • При сбросе пароля пользователя через интерфейс ПК «ALD Pro» временный пароль не синхронизируется. После сброса пароля пользователя необходимо залогиниться в домене, изменить пароль с временного на постоянный. При данных условиях произойдет синхронизация пароля от ALD Pro к MS AD.

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

Синхронизация паролей пользователей после настройки модуля синхронизации и сопоставлений подразделений происходит по логике:

  • синхронизирован пользователь в домен ALD Pro → изменен пароль пользователя в домене MS AD → синхронизирован пароль пользователя в домен ALD Pro;

  • создан пользователь в домене MS AD → синхронизирован пользователь в домен ALD Pro.

Внимание

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

Включение TLS на Windows Server 2008R2

Важно

Настройка выполняется, если на контроллере домена отключено TLS. Данная инструкция применима к контроллерам домена с ОС WS 2008R2. Если версия ОС отличается, необходимо обратиться к официальной документации Microsoft для выбора подходящей инструкции.

Алгоритм включения TLS

  1. Для включения TLS необходимо обновить реестр на сервере контроллера домена.

    • Необходимо открыть реестр: выполнить “regedit” в окне запуска.

../../../_images/36.png
../../../_images/37.png
../../../_images/38.png

Откроется окно редактора реестра:

../../../_images/39.png
  • Необходимо перейти к расположению и добавить разделы TLS 1.1 и TLS.

  • В разделе Protocol:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocol

../../../_images/40.png
../../../_images/41.png

Создаются еще два раздела Client и Server под обоими ключами TLS.

../../../_images/42.png
  • Теперь необходимо создать значения DWORD в разделе Server и Client со следующими значениями:

DisabledByDefault [Значение = 0]
Enabled [Значение = 1]
../../../_images/43.png
../../../_images/44.png
  1. Необходимо отключить старые версии TLS и SSL. Для этого:

    1. Открыть реестр на сервере контроллера домена: выполнить “regedit” в окне запуска (аналогично шагу 1).

    2. Перейти к расположению:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols

  1. Изменить значения DWORD в разделе Server и Client в разделе ключи TLS 1.0, SSL 3.0 и более старых версий SSL.

DisabledByDefault [Значение = 0]
Enabled [Значение = 0]
  1. После выполнения всех вышеперечисленных настроек необходимо перезагрузить сервер контроллера домена. Данная настройка выполняется на всех контроллерах домена.

Особенности настройки при миграции большого количества объектов

По умолчанию 389ds выполняет обновления ссылочной целостности сразу после операции удаления или переименования. В зависимости от количества операций это может повлиять на производительность. Чтобы уменьшить влияние на производительность, есть возможность увеличить время между обновлениями, для этого необходимо задать интервал обновления в секундах. По умолчанию интервал обновления равен 0.

Чтобы показать имя 389ds-сервера:

sudo dsctl -l

Скопируйте в буфер имя вашего сервера (рядом с ним вы увидите slapd-GLOBAL-CATALOG). Чтобы отобразить текущий интервал обновления, запустите (заменив <имя LDAP-сервера> на имя нужного вам LDAP-сервера):

sudo dsconf <имя LDAP-сервера> plugin referential-integrity show | grep referint-update-delay

Задать новое значение интервала обновления:

sudo dsconf <имя LDAP-сервера> plugin referential-integrity set --update-delay <новое_значение>

Перезапустите инстанс:

sudo dsctl <имя LDAP-сервера> restart

Логирование событий и отладка (работы модуля синхронизации) с MS AD

Логирование событий и отладка

Данный раздел посвящён диагностике и устранению ошибок, возникающих при синхронизации между ALD Pro и Microsoft Active Directory (MS AD). Приведены типовые сценарии возникновения проблем, способы их диагностики, а также рекомендации по их устранению.

События, возникающие в процессе синхронизации, фиксируются в соответствующих журналах событий. Выполнение диагностики целесообразно начинать с анализа этих журналов.

Общие категории ошибок:

  • Ошибки при установке и первоначальной настройке;

  • Ошибки, возникающие при отсутствии связности между ALD Pro и MS AD;

  • Ошибки при сопоставлении структур (например, дочерних подразделений) между ALD Pro и MS AD.

Ошибки могут проявляться при взаимодействии компонентов, выполняющих синхронизацию данных:

  • компонент passwdhk;

  • служба syncer-watcher;

  • служба syncer-loadrunner;

  • cлужба pwdSync.

Под данными службами подразумевается следующее: - Служба syncer-watcher выполняет синхронизацию данных из LDAP контроллера MS AD в базу PostgreSQL на контроллера ALD Pro; - Служба syncer-loadrunner выполняет синхронизацию из базы PostgreSQL в LDAP на контроллере ALD Pro; - Служба pwdSync выполняет синхронизацию паролей пользователей в MS AD и ALD Pro.

Недопустимость вложенных точек синхронизации

При создании точек синхронизации необходимо исключить ЛЮБУЮ вложенность или пересечение областей синхронизации.

Точкой синхронизации называется пара областей источник → назначение, задающая границы данных, подлежащих синхронизации между контроллерами домена (КД) или между КД и внешними LDAP-сервисами.

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

Пример:

# Одинаковые пути назначения
M1 → LDAP ou=A1
M2 → LDAP ou=A1     ← конфликт

# Вложенные пути
M1 → LDAP ou=A1
M2 → LDAP ou=A1,ou=A2   ← конфликт (A2 является частью A1)

# Вложенные области на стороне источника
M1 → ou=A1
    ├── M2 → ou=A2
    └── M3 → ou=A3

Поскольку идентификация происходит по уникальным атрибутам(идентификаторам), то один объект не может находиться в 2х разных структурах одновременно. Точки синхронизации обрабатываются последовательно и возможны ситуации постоянного перемещения объекта в оргструктуре целевого LDAP(ALD Pro). Это приводит к потере целостности данных и некорректной работе модуля синхронизации.

Чтобы избежать вложенности, необходимо соблюдать следующие условия:

  • Проектировать области синхронизации так, чтобы каждая из них охватывала уникальную ветвь LDAP-дерева;

  • Новая точка синхронизации не должна пересекаться с существующими: её путь (DN) не должен включать или быть включён в пути других точек;

  • При необходимости синхронизировать несколько областей внутри одной ветви правильным будет использовать независимые точки верхнего уровня или задавать фильтры объектов внутри одной точки.