Отладка работы модуля синхронизации

Диагностика интеграции с MS AD

Диагностическая информация модуля интеграции с MS AD фиксируется в журналах событий LSA (Login Security Authority). В этих журналах отражаются:

  • Успешная смена пароля

../../../_images/45.png
../../../_images/46.png
  • Неуспешная смена пароля

../../../_images/47.png
../../../_images/48.png

Внимание

Типичная ошибка: После вставки публичного ключа LDAP может возникнуть ошибка вида ``id2 not found``. Решение: Проверить директорию, в которую скопирован ключ. Убедиться, что путь указан верно, и повторно задать ключ в web-интерфейсе ALD Pro, если он не найден.

Примечание

  • При сопоставлении подразделений необходимо убедиться, что логин указывается в виде user@domain, иначе возможны ошибки авторизации;

  • В случае потери ключа авторизации (например, ``id2 not found``), необходимо проверить директорию хранения ключей и выполнить переустановку через интерфейс управления.

Отладка работы модуля syncer

Для отладки работы модуля синхронизации необходимо включить режим отладки (debug):

root@syncer-dc1:~# nano /opt/rbta/aldpro/syncer/.env
DEBUG=True

Логи:

  • syncer_loadrunner.log — отвечает за синхронизацию из PostgreSQL в ALD Pro:

    /var/log/aldpro/syncer/syncer_loadrunner.log
    
  • syncer_watcher.log — отвечает за чтение данных из MS AD и запись в PostgreSQL:

    /var/log/aldpro/syncer/syncer_watcher.log
    

Отладка работы модуля pwdSync

Модуль синхронизации паролей между MS AD и ALD Pro поддерживает включение режима отладки через файл:

root@syncer-dc1:~# nano /opt/rbta/aldpro/syncer/pwd_sync/standalone/__init__.py
DEBUG = True

Журналы:

  • Журнал отладки:

    /var/log/aldpro/syncer/pwd_sync/standalone_debug.log
    
  • Журнал ошибок:

    /var/log/aldpro/syncer/pwd_sync/standalone_error.log
    

Важно

Текущая реализация не требует ручного перезапуска служб — запуск синхронизации осуществляется по расписанию systemd (таймеры, относящиеся к службам syncer-watcher, syncer-loadrunner, pwdSync).

Сценарии отладки

Ниже представлены типовые сценарии поиска и устранения ошибок.

Проверка состояния служб

Следует проверить, что таймеры служб активны, а службы запущены:

systemctl status syncer-watcher.timer
systemctl status syncer-loadrunner.timer
systemctl status syncer-pwdsync.timer

systemctl status syncer-watcher.service
systemctl status syncer-loadrunner.service
systemctl status syncer-pwdsync.service

При наличии ошибок рекомендуется проверить журнал службы:

journalctl -u syncer-watcher.service
journalctl -u syncer-loadrunner.service
journalctl -u syncer-pwdsync.service

Ошибка дублирования имени при создании объекта

Если имя пользователя или группы совпадает в ALD Pro и MS AD, процесс syncer-loadrunner завершится с ошибкой:

CRITICAL     ipa_load_runner   Объект objectGUID=2f880038-bba4-4f05-b115-8b3a8da217b5 не может быть создан в ALD Pro из-за дублирования имени.
ERROR        ipa_load_runner   Объект не может быть создан в ALD Pro из-за дублирования имени.
Решение:
  • Переименовать объект в одном из источников;

  • Удалить объект из ALD Pro.

Важно

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

Повторное появление удалённого объекта

Если пользователь/группа была удалена из ALD Pro и корзины, но осталась в MS AD, она может быть вновь синхронизирована.

Примеры логов:

ERROR     ipa_load_runner   Объект objectGUID=... не найден в ALD Pro
INFO      ipa_load_runner   Сохранение объекта objectGUID=..., sync_status=3
CRITICAL  ipa_load_runner   Ошибка при обработке объекта. Требуется устранить ошибку вручную

Решение:

  • Удалить объект в MS AD или исключить его из области синхронизации;

  • Дождаться появления в корзине ALD Pro и удалить повторно.

Отладка проблемы: объект не создаётся в ALD Pro

Пошаговая диагностика:

  1. Определить значение атрибута objectGUID объекта в LDAP MS AD;

  2. Найти строки с ключевыми словами Error и нужным objectGUID в syncer_watcher.log.

grep '2f880038-bba4-4f05-b115-8b3a8da217b5' /var/log/aldpro/syncer/syncer_watcher.log
  1. Найти строки с ключевыми словами Error и нужным objectGUID в syncer_loadrunner.log.

grep '2f880038-bba4-4f05-b115-8b3a8da217b5' /var/log/aldpro/syncer/syncer_loadrunner.log

Примечание

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

Неизвестный класс объекта в логах syncer-watcher

В процессе поиска объектов для синхронизации в журнале `syncer-watcher.log` могут встречаться ошибки следующего вида:

2025-06-25 07:12:03 syncer INFO     runners   Число объектов для обработки в watcher: 3
2025-06-25 07:12:03 syncer INFO     runners   Обработка объектов
2025-06-25 07:12:03 syncer ERROR    runners   Неизвестный класс объекта
2025-06-25 07:12:03 syncer ERROR    runners   Неизвестный класс объекта
2025-06-25 07:12:03 syncer ERROR    runners   Неизвестный класс объекта

Примечание

Данная ошибка не является критичной и не влияет на дальнейшую работу службы `syncer-watcher`.

В процессе выполнения запроса к каталогу LDAP MS AD в результат поиска могут попасть служебные объекты, которые не подлежат синхронизации. Например:

# search reference
ref: ldap://ForestDnsZones.corp.test/DC=ForestDnsZones,DC=corp,DC=test

# search reference
ref: ldap://DomainDnsZones.corp.test/DC=DomainDnsZones,DC=corp,DC=test

# search reference
ref: ldap://corp.test/CN=Configuration,DC=corp,DC=test

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

Ошибка удаления объекта, отсутствующего в ALD Pro

Если объект был удалён из точки синхронизации (подразделения в MS AD) или перемещён в другое подразделение, но при этом его уже нет в ALD Pro, возможно появление ошибки при попытке удаления:

2025-06-25 11:26:41 syncer DEBUG     ipa_load_runner   Обработка объекта objectGUID=6cc876e1-40ae-44b3-b4a8-a9044f7dd69a, nsuniqueID=None, тип объекта=user, sync_status=3
2025-06-25 11:26:41 syncer DEBUG     ipa_load_runner   Удаление объекта nsuniqueID=None
2025-06-25 11:26:41 syncer DEBUG     provider   Запрос для объекта в целевой LDAP используя метод user_del
2025-06-25 11:26:41 syncer ERROR     ipa_load_runner   Ошибка во время удаления {'code': 4001, 'message': 'user1: user not found', 'data': {'reason': 'user1: user not found'}, 'name': 'NotFound'}
2025-06-25 11:26:41 syncer INFO      ipa_load_runner   Сохранение объекта objectGUID=6cc876e1-40ae-44b3-b4a8-a9044f7dd69a, nsuniqueID=None с sync_status=0
2025-06-25 11:26:41 syncer INFO      ipa_load_runner   Удаление записи 1 в точки синхронизации

Ошибка `user not found` означает, что в ALD Pro уже нет объекта, который предполагается удалить. Это может произойти, если:

  • объект был удалён вручную или автоматически на предыдущих этапах;

  • объект изначально не был синхронизирован, но был добавлен в список на удаление из-за изменений в MS AD.

Решение: данная ошибка не требует вмешательства. При следующем запуске службы `syncer-loadrunner.service` состояние синхронизации будет скорректировано, и сообщение об ошибке исчезнет.

Ошибка отсутствия TLS-сертификата для подключения к MS AD

Если в процессе подключения к целевому контроллеру MS AD отсутствует необходимый файл TLS-сертификата, в журнале syncer_loadrunner.log появится следующая ошибка:

2025-06-27 03:19:06 syncer DEBUG     strategy   Подключение к хосту dc1.ald.company.lan успешно. Протокол API
2025-06-27 03:19:06 syncer DEBUG     provider   Подключение к целевой LDAP
2025-06-27 03:19:06 syncer DEBUG     strategy   Попытка подключения к dc1.ald.company.lan
2025-06-27 03:19:06 syncer ERROR     ipa_load_runner   Нет файла сертификата для подключения id=1
Traceback (most recent call last):
  ...
AttributeError: Нет файла сертификата для подключения id=1
2025-06-27 03:19:06 syncer DEBUG     provider   Отключение соединения от целевой LDAP
2025-06-27 03:19:06 syncer INFO      ipa_load_runner   loadrunner завершился

Причина: отсутствует файл публичного ключа для LDAPS-подключения к контроллеру MS AD.

Решение: Скопировать сертификат sert.pem в требуемое расположение:

cp sert.pem /run/syncer/provider/key1.pem

Где sert.pem — это публичный ключ для LDAPS-подключения.

Либо проверить директорию, в которую скопирован ключ. Убедиться, что путь указан верно, и повторно задать ключ в web-интерфейсе ALD Pro, если он не найден.

Подробнее о подготовке и настройке сертификатов (см. Справочные материалыИнструкция по дополнительной настройке модуля синхронизацииВыгрузка сертификатов для контроллера домена MS AD).

Отсутствие связи с контроллером MS AD

Если со стороны ALD Pro отсутствует сетевое соединение с контроллером MS AD, в журнале syncer_watcher.log зафиксируется ошибка следующего вида:

2025-06-30 14:43:52 syncer DEBUG     provider   Подключение к LDAP источник
2025-06-30 14:43:52 syncer DEBUG     strategy   Попытка подключения к windc1.corp.test
2025-06-30 14:43:55 syncer ERROR     strategy   {'desc': "Can't contact LDAP server", 'errno': 107, 'info': 'Transport endpoint is not connected'}
2025-06-30 14:43:58 syncer ERROR     strategy   {'desc': "Can't contact LDAP server", 'errno': 107, 'info': 'Transport endpoint is not connected'}
syncer ERROR     run   Не удалось подключиться к хосту=windc1.corp.test. Протокол LDAP

Решение: Проверить доступность порта 389 на контроллере MS AD

nc -vz windc1.corp.test 389

Если порт недоступен — устранить ограничения, связанные с настройками сетевых экранов, маршрутизацией и другими компонентами инфраструктуры.

Неверный пароль при доступе из web-интерфейса АLD Pro

В случае, когда web-интерфейсе ALD Pro неверно указано пароль пользователя, под которым происходит подключение к LDAP MS AD, в файле syncer_watcher.log будет ошибка:

2025-07-02 12:17:40 syncer DEBUG     provider   Подключение к LDAP источник
2025-07-02 12:17:40 syncer DEBUG     strategy   Попытка подключения к windc1.corp.test
2025-07-02 12:17:40 syncer ERROR     strategy   {'desc': 'Invalid credentials', 'info': '80090308: LdapErr: DSID-0C09042A, comment: AcceptSecurityContext error, data 52e, v3839'}
2025-07-02 12:17:40 syncer ERROR     strategy   {'desc': 'Invalid credentials', 'info': '80090308: LdapErr: DSID-0C09042A, comment: AcceptSecurityContext error, data 52e, v3839'}
syncer ERROR     run   Не удалось подключиться к хосту=windc1.corp.test. Протокол LDAP

Решение: Проверить правильность ввода пароля.

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

При первой попытке синхронизации пароля пользователя из Microsoft Active Directory в ALD Pro может возникать при условиях:

  • данный пользователь только что создан в MS AD;

  • пароль пользователя ни разу не изменялся в MSAD;

  • синхронизация завершилась с ошибкой.

При попытке синхронизации данных пользователя из MS AD в ALD Pro журнал работы модуля синхронизации syncer (файл syncer_standalone_error.log) содержит записи следующего вида:

2025-08-24 13:06:49 pwd-sync ERROR  utils  Возникло исключение во время выполнения <function ADldap.delete_attr ...>
2025-08-24 13:06:55 pwd-sync ERROR  processors  Ошибка NO_SUCH_ATTRIBUTE, текст ошибки {'desc': 'No such attribute', 'info': '00002076: AtrErr: DSID-030F194C, ... (userParameters)'}
Traceback (most recent call last):
  ...
ldap.NO_SUCH_ATTRIBUTE: {'desc': 'No such attribute', 'info': '00002076: AtrErr: DSID-030F194C, ... Att 9008a (userParameters)'}

Причина:

У новых пользователей MS AD, для которых пароль ещё ни разу не был изменён, отсутствует ряд служебных атрибутов (например, userParameters и whenChanged). При первой синхронизации из ALD PRO модуль syncer пытается работать с этими атрибутами, и каталог возвращает ошибку NO_SUCH_ATTRIBUTE. В результате синхронизация пароля не выполняется.

Решение:

Для всех новых пользователей, созданных в MS AD, необходимо однократно сменить пароль (достаточно через стандартные средства Windows или административные утилиты). После этого в каталоге будут установлены значения атрибутов (в том числе whenChanged), и последующая синхронизация паролей из ALD PRO в MS AD будет выполняться без ошибок.