Как можно увеличить срок сброса пароля учетной записи компьютера в домене windows

Обновлено 30.10.2020

Пароль

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в России Pyatilistnik.org. В прошлый раз мы с вами разобрали ситуацию, когда не работает пуск в Windows Server, ее мы побороли и можно двигаться дальше. Сегодня мы разберем один из параметров Active Directory, который позволяет увеличивать срок сброса паролей у компьютерных учетных записей, мы рассмотрим для чего это может потребоваться и какие есть сценарии для этого.

Что нужно знать про пароль учетной записи компьютера

Смена пароля в домене происходит следующим образом:

  1. Каждые 30 дней рабочая станция отправляет ближайшему контролеру домена запрос на изменение пароля учетной записи компьютера. Контролер принимает запрос, пароль изменяется, а затем изменения передаются на все контролеры в домене при следующей репликации.
  2. Каждый компьютер, присоединенный к домену AD, имеет связанную учетную запись компьютера в Active Directory, и эта учетная запись (объект) имеет связанный пароль. Политика компьютерных паролей является скорее «ориентиром», чем правилом - компьютер обновляет пароль, когда считает, что это необходимо, но домен не блокирует учетные записи компьютеров с паролями старше заданного в политике.
  3. Служба Netlogon компьютера обрабатывает обновления пароля учетной записи компьютера, а не Active Directory. Когда компьютер загружается и запускается служба Netlogon, он проверяет, когда пароль был установлен в последний раз и когда в политике указано, что его следует изменить. Процесс "спит" до перезагрузки компьютера или до даты смены пароля. На этом этапе процесс Netlogon (Workstation Scavenger Thread) изменяет политику учетной записи AD компьютера. Если это невозможно, поток сборщика рабочей станции бездействует в течение 15 минут и проверяет, требуется ли обновление пароля.
  4. Пароль учетной записи компьютера используется для установления безопасного сеанса с контроллером домена AD, который используется для аутентификации пользователя (а также учетных данных LocalSystem и NetworkService)
  5. Пароль составляет 120 символов (UTF16 или 240 байтов).
  6. Компьютер проверяет наличие допустимого безопасного канала к контроллеру домена, изменяет пароль локально (в реестре), а затем отправляет обновление пароля на контроллер домена. Если контроллер домена отказывается от смены пароля, изменение локального пароля компьютера отменяется.
  7. Если компьютер выключен на длительный период времени (недели, месяцы и т. д.) И не включается до тех пор, пока пароль не станет старше, чем параметр политики пароля компьютера, компьютер обновляет свой пароль обычно без проблем (при условии, что других смягчающие обстоятельства с сетевыми подключениями доступны с DC)
  8. Поскольку обновление пароля компьютера происходит по защищенному каналу, если компьютер имеет существующий сеанс защищенного канала с контроллером домена только для чтения (контроллер домена только для чтения имеет пароль существующего компьютера в базе данных AD), RODC пересылает запрос на изменение на контроллер домена с возможностью записи. Затем RODC пытается реплицировать пароль с помощью ReplicateSingleObject (RSO). Если пароль компьютера не кэширован на контроллере домена только для чтения (нет безопасного сеанса), запрос на изменение пароля следует за существующим безопасным сеансом, который имеет компьютер с контроллером домена с возможностью записи.
  9. Учетная запись компьютера должна иметь пароль, кэшированный на локальном контроллере домена только для чтения, чтобы изменение пароля было успешным. Как только RODC обновляет свою локальную базу данных новым паролем учетной записи компьютера, он реплицирует обновленный пароль на DC с возможностью записи. Если пароль не кэширован на контроллере домена только для чтения (или его нельзя кэшировать), запрос пересылается на доступный для записи контроллер домена поблизости
  10. В среде VDI может потребоваться настроить компьютер так, чтобы он не обновлял пароль компьютера в AD автоматически (поскольку инфраструктура VDI будет управлять этими паролями)
  11. Некоторые параметры смены пароля можно изменять. Например, можно изменить временной интервал или совсем отключить смену паролей. Сделать это можно как для отдельных компьютеров, так и для групп.

Если настройки необходимо применить к группе компьютеров, то проще всего использовать групповую политику. Настройки, отвечающие за смену паролей, находятся в разделе Computer Configuration — Policies — Windows Settings — Security Settings — Local Policies — Security Options (Конфигурация компьютера - Параметры Windows - Параметры безопасности - Локальные политики - Политики безопасности). Нас интересуют следующие параметры:

  • Disable machine account password change — отключает на локальной машине запрос на изменение пароля;
  • Maximum machine account password age — определяет максимальный срок действия пароля компьютера. Этот параметр определяет частоту, с которой член домена будет пытаться изменить пароль. По умолчанию срок составляет 30 дней, максимально можно задать 999 дней;
  • Refuse machine account password changes — запрещает изменение пароля на контролерах домена. Если этот параметр активировать, то контролеры будут отвергать запросы компьютеров на изменение пароля.

Хочу отметить, что изменение данных настроек вступает в силу сразу и не требуется перезагрузки системы, если вы делаете это через групповую политику, то не забудьте ее обновить

Как можно увеличить срок сброса пароля учетной записи компьютера-01

Как можно увеличить срок сброса пароля учетной записи компьютера-01

Для одиночной машины можно воспользоваться настройками реестра Windows. Для этого в разделеHKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters есть два параметра :

  • DisablePasswordChange — если равен 1, то запрос на обновление пароля компьютера отключен, 0 — включен.
  • MaximumPasswordAge — определяет максимальный срок действия пароля компьютера в днях. При желании можно задать более 1 миллиона дней !!!
Как можно увеличить срок сброса пароля учетной записи компьютера-02

Как можно увеличить срок сброса пароля учетной записи компьютера-02

И в разделе HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters, только у контролеров домена, параметр:

  • RefusePasswordChange — если равен 1, то запрещает контролеру домена принимать запрос на изменение пароля. Этот параметр надо задать на всех контролерах в домене.
Как можно увеличить срок сброса пароля учетной записи компьютера-03

Как можно увеличить срок сброса пароля учетной записи компьютера-03

Где хранится локальная копия машинного пароля?

Компьютер сохраняет пароль учетной записи компьютера в папке реестра: HKLM\SECURITY\Policy\Secrets\$ machine.ACC (раздел реестра для хранения зашифрованных секретов). По умолчанию у вас не будет прав просмотра этой ветки, но никто вам не запрещает их себе назначить.

Где хранится локальная копия машинного пароля

После этого вы уже будите видеть гораздо больше. Текущий пароль и предыдущий пароль хранятся в разделах CurrVal и OldVal Keys соответственно

CurrVal и OldVal Keys

Где хранится пароль компьютера в Active Directory

Пароль хранится в объекте учетной записи компьютера в атрибутах unicodepwd (текущий пароль) и lmpwdHistory (предыдущий пароль). Отметка времени для этого обновления хранится в атрибуте pwdlastset в формате integer8.

Хочу отметить, что атрибуты unicodepwd (текущий пароль) и lmpwdHistory (предыдущий пароль) вы будите видеть в редакторе атрибутов, как пустые, это связано с безопасностью, и они так же неиндексируемые. Все скрыто от чужих глаз.

Где хранится пароль компьютера в Active Directory

Когда DC получает запрос LDAP Modify для изменения этого атрибута (unicodepwd), он выполняет следующую процедуру:

  • Если запрос Modify содержит операцию удаления, содержащую значение Vdel для unicodePwd, за которой следует операция добавления, содержащая значение Vadd для unicodePwd, сервер считает запрос, запросом на изменение пароля. Сервер декодирует Vadd и Vdel с помощью процедуры декодирования пароля, описанной далее в этом разделе. Vdel - это старый пароль, а Vadd - новый пароль.
  • Если запрос Modify содержит единственную операцию замены, содержащую значение Vrep для unicodePwd, сервер рассматривает запрос как административный сброс пароля, то есть изменение пароля без знания старого пароля. Сервер декодирует Vrep с помощью процедуры декодирования пароля, описанной далее в этом разделе, и использует его в качестве нового пароля.

Чтобы операция смены пароля прошла успешно, сервер требует, чтобы пользователь (Компьютер) или объект inetOrgPerson, пароль которого изменяется, обладал правом доступа "User-Change-Password" на себя, и что Vdel должен быть текущим паролем на объект. Для успешного сброса пароля сервер требует, чтобы клиент обладал правом доступа "User-Force-Change-Password" к пользователю или объекту inetOrgPerson, пароль которого должен быть сброшен.

Дополнительные ссылки

  • https://docs.microsoft.com/en-nz/troubleshoot/windows-server/windows-security/disable-machine-account-password
  • https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/domain-member-disable-machine-account-password-changes
Автор - Сёмин Иван

3 Responses to Как можно увеличить срок сброса пароля учетной записи компьютера в домене windows

  1. Евгений:

    Неоднократно сталкивался что домен на 2008R2 и машины с win2003 выключенные более чем на 30 дней, при включении выпадали из домена и «переустановить учетную запись» на объекте компа через АД не завершалось успехом, логинился под локальным админом, выводил из домена и входил по новой. Хотелось бы понять эту логику, чтобы не менять дефолтный параметр установленный в 30 дней.

  2. Евгений:

    В догонку к прошлому комментарию, в домене машины с Windows XP не могут изменять пароль пользователя. Такая вот странность, когда у пользователя с ХР заканчивается пароль и он пытается его сменить, то выдает ошибку, обычно они просто пишут админу новый пароль и он меняет его через АД. Возможно поэтому машины с вин20003 надолго отключенные и выпадают из домена и требуется их перевводить, когда долго работают без выключений то все в порядке.

  3. Иван Семин:

    Попробуйте сбросить безопасный канал между клиентом и DC

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *