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

Эллес обеспечивает автоматическое регулярное обновление пароля машинной учетной записи контроллера домена в соответствии с заданными параметрами.

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

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

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

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

При запуске на рядовом контроллере домена процедура обновления пароля:

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

  2. Генерирует новый пароль и отправляет PDC Emulator запрос на сохранение этого пароля в базе данных службы каталогов. Далее новый пароль реплицируется на остальные контроллеры домена в рамках штатной репликации.

  3. Добавляет пароль в локальную базу данных секретов контроллера домена для дальнейшего использования.

При запуске на контроллере домена с FSMO-ролью PDC Emulator процедура генерирует новый пароль, сохраняет его в базе данных службы каталогов и локальной базе данных секретов. Далее новый пароль реплицируется на остальные контроллеры домена в рамках штатной репликации.

В локальной базе секретов контроллера домена хранится текущий (активный) и предыдущий пароли. Предыдущий пароль добавляется в актуальный keytab-файл с указанием соответствующей версии (kvno) для обеспечения возможности работы с билетами Kerberos, полученными в течение периода действия предыдущего пароля (в рамках периода действия билетов).

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

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

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

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

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

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

Для использования групповых политик на контроллере домена Эллес должны быть настроены:

Настройка автоматической смены пароля машинной учетной записи контроллера домена в конфигурационном файле

При необходимости изменения настроек автоматической смены пароля машинной учетной записи контроллера домена доступны следующие конфигурационные параметры в разделе [global] файла smb.conf (в примере приводятся значения, используемые по умолчанию):

[global]
    ...
    dcpwd:disable password change = no
    dcpwd:machine password maximum age = 30
    mtsrv:run_interval_update_dc_password = 120
    update dc password command = /app/inno-samba/sbin/update_dc_password
    ...

Описание параметров:

  • dcpwd:disable password change — отключение автоматического обновления пароля машинной учетной записи контроллера домена; возможные значения:

    • no (по умолчанию) — автоматическое обновление включено;

    • yes — автоматическое обновление отключено;

  • dcpwd:machine password maximum age — период действия пароля машинной учетной записи контроллера домена в днях (возможный диапазон значений: от 1 дня до 999 дней; значение по умолчанию — 30);

  • mtsrv:run_interval_update_dc_password — периодичность запуска проверки необходимости обновления пароля машинной учетной записи контроллера домена в секундах (возможный диапазон значений: от 1 до 86400 секунд; значение по умолчанию — 120);

  • update dc password command — путь к скрипту, реализующему процедуру смены пароля машинной учетной записи контроллера домена (значение по умолчанию — /app/inno-samba/sbin/update_dc_password).

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

Для изменения значения параметра явно задайте его в файле smb.conf.

Например, чтобы отключить автоматическую смену пароля, добавьте:

[global]
    ...
    dcpwd:disable password change = yes
    ...

Чтобы изменить интервал автоматической смены пароля, добавьте:

[global]
    ...
    dcpwd:machine password maximum age = 25
    ...

Внесенные в конфигурацию изменения применяются автоматически через 5 секунд после сохранения файла smb.conf

Настройка автоматической смены пароля машинной учетной записи контроллера домена с помощью групповой политики

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

  1. На контроллере домена Эллес установите следующие параметры безопасности с требуемыми значениями, например, в объекте групповой политики Default Domain Controller Policy:

    • параметр DomainMember:DisablePasswordChange, управляющий доступностью функциональности смены пароля:

      samba-tool gpo manage security set {6AC1786C-016F-11D2-945F-00C04fB984F9} \
         'DomainMember:DisablePasswordChange' 0
    • параметр DomainMember:MaximumPasswordAge, задающий периодичность смены пароля в днях:

      samba-tool gpo manage security set {6AC1786C-016F-11D2-945F-00C04fB984F9} \
         'DomainMember:MaximumPasswordAge' 25
    • параметр DomainMember:ScavengeInterval, задающий периодичность проверки необходимости смены пароля в секундах:

      samba-tool gpo manage security set {6AC1786C-016F-11D2-945F-00C04fB984F9} \
         'DomainMember:ScavengeInterval' 150
См. описание параметров и подкоманд samba-tool в разделе «Администрирование объектов групповых политик (GPO)»).

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

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

Для этой цели может быть:

  • выполнена подкоманда:

    samba-tool computer update_pwd
    См. описание синтаксиса вызова и доступных параметров в разделе «Администрирование компьютеров».
  • выполнен принудительный запуск сервиса mt с указанием задачи, обеспечивающей смену пароля.

Чтобы запустить сервис mt принудительно, достаточно создать специальный атрибут runMTService в корне дерева данных каталога (объект rootDSE).

Для этого выполните следующие действия от имени учетной записи с правами на внесение изменений в БД LDAP домена:

  1. Сформируйте ldif-файл для создания атрибута runMTService со значением, соответствующим задаче запуска смены пароля, в корне дерева.
    Например:

    cat /tmp/run_mt_service.ldif
    dn:
    changetype: modify
    add: runMTService
    runMTService: 16
  2. Внесите изменения, например, с помощью утилиты ldbmodify (полный путь к утилите после установки пакета inno-samba — /app/inno-samba/bin/ldbmodify):

    ldbmodify -H ldap://dc1 -U Administrator /tmp/run_mt_service.ldif
    Password for [ELLES\Administrator]:
    Modified 1 records successfully

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