Инструкция по дополнительной настройке модуля синхронизации¶
Для предотвращения конфликтов при миграции и синхронизации данных из 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, иначе элементы интерфейса могут выходить за пределы экрана.
Запустить Центр Сертификации → Шаблоны Сертификатов → Управление на сервере с ролью Центр Сертификации:
Создать копию шаблона Проверка подлинности Kerberos, выбрав пункт Скопировать шаблон контекстного меню:
Настроить шаблон сертификата на вкладке Общие:
имя сертификата LDAPowerSSL;
период действия сертификата.
Отметить галочкой пункт меню Опубликовать сертификат в MS AD.
Опубликовать новый тип сертификата. Для этого в в контекстном меню раздела Шаблоны сертификатов выбрать Создать → Выдаваемый шаблон сертификата.
В списке доступных шаблонов выбрать созданный ранее:
На контроллере домена, который будет задействован в процессе синхронизации данных со стороны MS AD, открыть оснастку Управление сертификатами компьютера. В дереве сертификатов перейти в папку Личное и в контекстном меню выбрать Все задачи → Запросить новый сертификат:
В списке доступных сертификатов выбрать созданный ранее, выпустить сертификат (кнопка Выпустить сертификат) и экспортировать (контекстное меню Все задачи → Экспорт).
Откроется мастер экспорта сертификатов:
Выбрать кодировку base64 для файла сертификата:
Задать имя файла:
После нажатия кнопки Готово будет выгружен файл сертификата <имя_сертификата.cer>.
Необходимо изменить формат файла сертификата на *.pem, переименовав файл в <имя_сертификата.pem>. (например sert.pem - как публичный ключ для подключения по LDAPS к контроллеру MS AD)
Выгрузка сертификатов для контроллера домена ALD Pro¶
Для выгрузки сертификата необходимо зайти на портал управления ALD Pro, нажать на кнопку просмотра информации о сайте и выбрать Незащищенное соединение → Подробнее:
Выбрать Просмотреть сертификат:
Откроется файл сертификата:
Открыть ссылку PEM (сертификат):
Сертификат сайта сохранен.
Настройка синхронизации паролей 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.
Выполнить запуск установочного файла passwdhk_install/util/VC_redist.x64.exe
Установку необходимо выполнить на каждом контроллере домена, где планируется установка утилиты passwdhk.
Запустить файл
PasswdhkSetup.msiот имени администратора.На экране параметров установки указать следующие значения:
Уровень логирования - указать один из четырех уровней логирования;
Номер ключа регистрации - ввести значение, полученное на портале управления ALD Pro;
Публичный ключ регистрации - вставить файл открытого ключа, скачанный при развертывании модуля синхронизации в ALD Pro Модуль синхронизации → Настройки → Синхронизация паролей → Кнопка “Получить ключ” (подробнее в разделе Синхронизация паролей ALD Pro → MS AD).
Примечание
Если ключ подгрузился автоматически, это означает, что на контроллере домена имеются артефакты. В этом случае необходимо выполнить шаги из раздела Настройка синхронизации паролей MS AD → ALD для удаления артефактов старой версии. Это позволит избежать некорректной работы утилиты и ошибок установки или нарушения работы компонентов.
После заполнения всех параметров нажать на кнопку Установить, затем — Готово.
Дождаться завершения перезагрузки контроллера домена.
Проверить, что в реестре создались необходимые записи.
Обновление passwdhk, установленного через групповую политику (GPO), на версию MSI¶
Важно
Утилита может сработать некорректно, если в системе присутствуют артефакты предыдущих установок. В редких случаях это может привести к ошибкам установки или нарушению работы компонентов.
Если на контроллере домена ранее был установлен passwdhk через групповую политику (GPO), необходимо выполнить удаление старой версии перед установкой новой версии через MSI:
Удалить объект групповой политики
passwdhkв редакторе групповых политик (gpmc.msc).
Удалить папку
passwdhkиз сетевого каталога\\<Имя-контроллера-домена>\SYSVOL\<Имя-домена>\scripts.
Очистить параметры в реестре:
Удалить ключ
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\passwdhk.
В параметре Notification Packages по пути
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsaудалите значениеpasswdhk.
Перезагрузить контроллер домена для применения изменений.
После перезагрузки вручную удалить из каталога
C:\Windows\System32файлыpasswdhk.dllиlibcrypto-3-x64.dll.
Выполнить установку новой версии
passwdhkчерезPasswdhkSetup.msi, следуя инструкции из пункта инструкции Исходные настройки для модуля синхронизации.
Автоматизированная установка passwdhk через MST-файл¶
Для массовой установки утилиты passwdhk на контроллеры домена можно использовать файл трансформации (MST), содержащий заранее заданные параметры конфигурации, который можно развернуть с помощью групповой политики (GPO).
Примечание
Для редактирования установочного файла .msi и создания .mst трансформации можно использовать любую утилиту, поддерживающую редактирование таблиц MSI-файлов (например, Orca или аналогичные средства). В данной инструкции приведены примеры с использованием Orca.
Создание MST-файла¶
Открыть
PasswdhkSetup.msiв утилите редактирования MSI-файлов и создать новый трансформационный файл (MST).В меню File → Open выбрать установочный файл
PasswdhkSetup.msi.В меню Transform выбрать New Transform.
Перейти на вкладку Property и добавить следующие свойства:
REGKEY— вставьте публичный ключ регистрации, полученный на портале управления ALD Pro. Каждую строку ключа необходимо экранировать символом n (перевод строки).
KVNOPUB— номер ключа, также полученный на портале.
После добавления параметров выбрать Transform → Generate Transform и сохранить полученный файл под именем, например,
pass.mst.
Подготовка файлов для установки¶
Перейти в сетевую папку:
\\<Имя-контроллера-домена>\SYSVOL\<Имя-домена>\scriptsСкопировать в нее следующие файлы:
PasswdhkSetup.msi;
pass.mst.
Настройка групповой политики¶
Открыть редактор групповой политики (gpmc.msc).
В узле Domain Controllers создать новую групповую политику или использовать существующую.
Перейти в раздел: Конфигурация пользователя → Политики → Конфигурация программ → Установка программ.
Создать новый пакет:
Указать путь к
PasswdhkSetup.msiиз сетевой папки;в способе развертывания выбрать Особый.
Добавить MST-файл
pass.mstпо тому же сетевому пути.
Применение политики¶
Применить политику командой:
gpupdate /forceПерезагрузить контроллер домена.
Синхронизация паролей ALD Pro → MS AD¶
Получение открытого ключа¶
В интерфейсе ALD Pro открыть Модуль синхронизации → Конфигурации → Синхронизация паролей
По нажатию кнопки Получить ключ скачивается файл открытого ключа и актуализируется порядковый номер ключа.
Синхронизация паролей¶
Скачанный файл открытого ключа необходимо сохранить в любую директорию, например, /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¶
Для включения TLS необходимо обновить реестр на сервере контроллера домена.
Необходимо открыть реестр: выполнить “regedit” в окне запуска.
Откроется окно редактора реестра:
Необходимо перейти к расположению и добавить разделы TLS 1.1 и TLS.
В разделе Protocol:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocol
Создаются еще два раздела Client и Server под обоими ключами TLS.
Теперь необходимо создать значения DWORD в разделе Server и Client со следующими значениями:
DisabledByDefault [Значение = 0]
Enabled [Значение = 1]
Необходимо отключить старые версии TLS и SSL. Для этого:
Открыть реестр на сервере контроллера домена: выполнить “regedit” в окне запуска (аналогично шагу 1).
Перейти к расположению:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
Изменить значения DWORD в разделе Server и Client в разделе ключи TLS 1.0, SSL 3.0 и более старых версий SSL.
DisabledByDefault [Значение = 0]
Enabled [Значение = 0]
После выполнения всех вышеперечисленных настроек необходимо перезагрузить сервер контроллера домена. Данная настройка выполняется на всех контроллерах домена.
Особенности настройки при миграции большого количества объектов¶
По умолчанию 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) не должен включать или быть включён в пути других точек;
При необходимости синхронизировать несколько областей внутри одной ветви правильным будет использовать независимые точки верхнего уровня или задавать фильтры объектов внутри одной точки.