Смена пароля машинной учетной записи контроллера домена

В составе Эллес поставляется скрипт update-dc-machine-password для смены пароля машинной учетной записи контроллера домена.

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

Как и любой другой компьютер в домене, сервер с развернутым экземпляром Эллес в роли контроллера домена имеет машинную учетную запись с автоматически формируемым паролем. Данный пароль используется для аутентификации при взаимодействии с другими контроллерами домена, в том числе для выполнения репликации. Срок его действия не ограничен, а изменение может быть инициировано только самим сервером.

Время последнего изменения пароля хранится в атрибуте pwdLastSet машинной учетной записи.

В соответствии с требованиями информационной безопасности в штатных условиях эксплуатации Эллес должна быть обеспечена периодическая смена пароля машинной учетной записи контроллера домена.

Для этой цели служит скрипт update-dc-machine-password (полный путь после установки пакета inno-samba — /app/inno-samba/scripts/update-dc-machine-password).

В базовом сценарии использования скрипт:

  1. Определяет удаленный контроллер домена с FSMO-ролью PDC Emulator.

  2. Использует текущий пароль машинной учетной записи, чтобы установить новый пароль на удаленном контроллере домена.

  3. Добавляет пароль в локальную базу данных секретов secrets.ldb.

  4. Выполняет репликацию с удаленного контроллера домена на текущий, что обеспечивает обновление пароля в локальной базе данных sam.ldb и secrets.keytab.

Скрипт должен запускаться локально на сервере с развернутым экземпляром Эллес с правами суперпользователя.

Рекомендуется настроить автоматический запуск скрипта с требуемой периодичностью (например, каждые 30 дней) с помощью планировщика cron или иным способом.

В условиях штатной эксплуатации скрипт должен запускаться не чаще одного раза в сутки.

При многократном запуске в течение короткого промежутка времени возможны проблемы с репликацией. В этом случае репликация восстанавливается через определенный промежуток времени (около 6 часов) либо после перезапуска контроллера домена с FSMO-ролью PDC Emulator.

Предварительные требования

Если на контроллере домена установлены и используются инструменты SSSD, необходимо отключить периодическую смену пароля машинной учетной записи. Для этого добавьте в конфигурационный файл /etc/sssd/sssd.conf следующую настройку:

[domain/<имя текущего домена>]
ad_maximum_machine_account_password_age = 0

Формат вызова

Общий формат вызова скрипта:

update-dc-machine-password [options]

В условиях штатной эксплуатации скрипт должен запускаться без дополнительных параметров.

Поддерживаемые скриптом параметры могут использоваться при возникновении следующих ошибок, вызванных, например, попыткой изменения пароля средствами SSSD (с помощью утилиты adcli):

  1. Ошибка при подключении к удаленному контроллеру домена.
    Возможная причина — сохраненный в /app/inno-samba/private/secrets.keytab пароль не соответствует паролю в базе данных на удаленном контроллере домена.
    В этом случае следует использовать параметр -U username%password для указания учетных данных, достаточных для изменения пароля машинной учетной записи.

  2. Ошибка при автоматическом определении удаленного контроллера домена для установки нового пароля.
    Возможная причина — сохраненный в /app/inno-samba/private/secrets.tdb пароль не соответствует паролю, хранящемуся в /app/inno-samba/private/sam.ldb.
    В этом случае следует использовать параметр -S remote_dc для явного указания имени или IP-адреса удаленного контроллера домена.

Параметры

Параметры вызова:

  • -U username%password — имя пользователя и пароль для аутентификации на удаленном контроллере домена;

  • -S remote_dc — имя или IP-адрес удаленного контроллера домена.

Примеры

Пример запуска скрипта в штатном режиме эксплуатации Эллес:

sudo /app/inno-samba/scripts/update-dc-machine-password

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

sudo /app/inno-samba/scripts/update-dc-machine-password -S wdc1.r1.lan -UAdministrator%Passw0rd