ActiveDirectory/MachinePassword

Материал из ALT Linux Wiki

Настройки обновления паролей аккаунтов машин в домене Miscrosoft Active Directory и Samba DC.

Описание

После завершения процедуры ввода в домен каждая машина получает специальный аккаунт вида MACHINE01$. Такой аккаунт, ассоциированный с машиной, а не с конкретным пользователем, позволяет машине выполнять в домене действия от своего имени. Наприме: запрашивать информацию о пользователях, получать машинные групповые политики и т. д.

Как и у любого другого пользователя, у машинного пользователя есть свой пароль, генерируемый автоматически в процессе ввода машины в домен. В отличии от обычных пользователей, у машинных аккаунтов нет ограничения на время жизни пароля, но машина имеет возможность поменять его самостоятельно. По умолчанию машины с MS Windows 2000 и старше меняют пароль раз в 30 дней. Информация о последней смене пароля хранится в аттрибуте машинного аккаунта pwdlastset.

Локальная политика смены пароля машинного аккаунта

Сменой пароля машинного аккаунта можно управлять с помощью групповых политик. Для этого нужно отредактировать параметр политики домена по умолчанию (Default domain policy) "Domain member: Maximum machine account password age" ("Член домена: максимальный срок действия пароля учётной записи компьютера"), который располагается в подразделе "Computer Configuration/Windows Settings/Security Settings/Local Policies/Security Options" ("Конфигурация компьютера/Политики/Конфигурация Windows/Параметры безопасности/Локальные политики/Параметры безопасности"). Значение по умолчанию: 30 дней.

С помощью другого параметра "<название на английском>" ("Член домена: отключить изменение пароля учётных записей компьютера") можно отключить обновления пароля машинного аккаунта совсем, но делать этого не рекомендуется.

Выше указанные параметры корректно работают на машинах с ОС MS Windows 2000 и старше.

На машинах с ОС Альт (sssd 2.8.1) данные параметры игнорируются (необходимо проверить).

В ADMC, на данный момент (admc 0.11.2), нет возможности настроить данные параметры групповой политики. Необходимо использовать оснастку RSAT "Управление групповыми политиками".

== Включение обновления пароля машинного аккаунта

ОС Windows

Для включения периодического обновления пароля машинного аккаунта на машинах под управлением ОС Windows 2000 и старше дополнительных действий не требуется. Периодичность обновления настраивается с помощью соответствующей групповой политики.

ОС семейства Альт

За обновление пароля машинного аккаунта на машинах под управлением ОС Альт отвечают сервисы sssd и winbind.

Winbind

Winbind, на текущий момент (samba-winbind 4.16.7), не умеет после смены пароля машинного аккаунта обновлять системный keytab файл (/etc/krb5.keytab). Следовательно, во избежание конфликтов с sssd, следует отключить этот функционал. Для этого в файл /etc/samba/smb.conf в секцию [global] необходимо добавить параметр machine password timeout = 0.

/etc/samba/smb.conf [global] machine password timeout = 0

SSSD

Sssd для обновления пароля машинного аккаунта использует утилиту adcli. Необходимо убедиться, что она установлена в системе.

  1. apt-get install adcli

Так как Winbind не умеет обновлять системный keytab файл, то хранит текущий пароль машинного аккаунта в своей базе данных (/var/lib/samba/private/secrets.tdb). Необходимо включить в sssd функцию обновления пароля в этой базе. Для этого следует в файл /etc/sssd/ssd.conf в секцию [domain/<Домен>] добавить параметр ad_update_samba_machine_account_password = true.

Периодичностью обновления пароля машинного аккаунта можно управлять с помощью параметра ad_maximum_machine_account_password_age в секции [domain/<Домен>] в /etc/sssd/ssd.conf.

Для корректного функционирования обновления пароля машинного аккаунта sssd необходим доступ на запись в файл /etc/krb5.keytab. Для этого не достаточно привилегий пользователя _sssd, от которого обычно и запускается sssd. Необходимо запускать sssd с правами суперпользователя. Для этого следует в файле /etc/sssd/sssd.conf в секции [sssd] изменить значение параметра user на root.

/etc/sssd/sssd.conf [sssd] user = root

[domain/<Домен>] ad_update_samba_machine_account_password = true

Диагностика

Дата последней смены пароля

Дата последней смены пароля хранится в базе данных AD. Запросить её можно одни из способов, перечисленных ниже:

На введённой в домен машине выполняем с правами суперпользователя:

# net ads info

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

# net ads info -U <user>

Нас интересует поле Last machine account password change.

Время жизни пароля в домене