ActiveDirectory/MachinePassword
Настройки обновления паролей аккаунтов машин в домене 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. Необходимо убедиться, что она установлена в системе.
- 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.