Запрет смены пароля ОС для предотвращения устаревания снимков и неиспользуемых ВМ
Периодически я сталкиваюсь с ситуацией, когда пароль компьютера в локальном хранилище теряет синхронизацию с доменом. Это происходит как при восстановлении старого снимка (snapshot) виртуальной машины, так и просто при запуске тестовой машины, которая не включалась несколько месяцев. Результатом обычно бывает недоступность домена, что исправляется выводом ВМ из домена и повторным присоединением.
Технически данная проблема вообще не связана с виртуализацией. Если вы выключаете любой доменный компьютер более, чем на 60 дней, то при включении он может быть не принят контроллером в виду проблем с так называемы «безопасным каналом» (secure channel). Если же вы используете снимки в виртуальных машинах, то в течении 30 дней с момента создания снимка компьютер должен сменить свой пароль в домене, После чего, применив снимок, вы уже не сможете зайти в домен. Сегодня мы рассмотрим эту проблему и способы ее решения.
Каждый компьютер периодически меняет пароль своей системной учетной записи. Следует понимать, что политика паролей из доменной политики по умолчаниюне на пароли объектов типа «Компьютер» не действует. Компьютеры инициируют смену своего пароля сами (и только сами). По умолчанию это происходит раз в месяц, но этот срок можно изменить путем создания в реестре ключа MaximumPasswordAge или применением политики, которая находится по адресу:
Computer Configuration\windows Settings\Security settings\Local Policies\Security Options - Domain member: Disable machine account Password changes
Сами контроллеры домена никогда не меняют паролей учётных записей компьютеров домене.
Как же происходит процедура смены паролей? При старте службы NetLogon инициируется Workstation Scavenger. Если пароль системной учетной записи уже старее чем значение MaximumPasswordAge, то Scavenger инициирует обращение к контроллеру домена с запросом смены пароля. Если контроллер недоступен, или отвечает отказом на запрос о смене пароля, то Scavenger заново обратится к контроллеру через интервал времени (в минутах), указанный в ключе ScavengeInterval. Если на момент старта NetLogon пароль еще не устарел, то Scavenger обратится к контроллеру за сменой пароля как раз в момент его устаревания. По умолчанию для Windows NT 4.0 ScavengeInterval был равен 7 дням, а начиная с Windows 2000 увеличен до 30 дней. Этот интервал можно изменить следующей политикой:
Computer Configuration\Administrative Templates\System\Netlogon\Scavenge Interval
Если вы хотите запретить всем компьютерам домена менять пароли, то можно на контроллерах домена создать ключ RefusePasswordChange. Контроллеры перестанут отвечать на запросы Scavenger на смену пароля.
Наконец, на каждом конкретном компьютере можно создать ключ реестра DisablePasswordChange, выставив который в единицу, вы добьетесь того, что данный компьютер не будет менять пароль своей системной учетной записи. Соответственно, он не «вылетит» из домена, даже если вы его не включали несколько лет, или применили старый снимок состояния системы. Это также можно настроить доменной политикой:
Computer Configuration\windows Settings\Security settings\Local Policies\Security Options - Domain member: Disable machine account Password changes
Очевидно, что все вышесказанное относится к ОС Windows, — как на физическом оборудовании, так и в виртуализации, причём не только Hyper-V, но и сторонних поставщиков.
Comments
Anonymous
January 01, 2003
Очевидно, что на каждого хитреца со стороны рабочей станции, есть более мудрая голова администратора домена. Хороший пример, - наш корпоративный домен в Microsoft. У нас на контроддерах домена настроено не открывать канал безопасности (secure channel) со станциями, пароль которых превысил MaximumPasswordAge. В таком случае имеем тот же симптом, - ошибку NetLogon/3210 и неработу с доменом. Лечится при помощи сброса канала безопасности - netdom reset (нужны права и на станции, и в домене).Anonymous
January 01, 2003
Я не вижу потенциальных уязвимостей в запрете смены пароля. Даже предполагая худшее, - успешный перебор пароля компьютерной учетной записи, - это не даст злоумышленнику абсолютно ничего (если речь не о контроллере домена, конечно, - но наврядли мы станем делать такое с боевым контроллером).Anonymous
July 09, 2009
Непонятно одно. Если рабочая станция САМА инициирует смену пароля при старте службы netlogon и контролер домена сам не меняет пароль, как рабочая станция может потерять пароль? Если виртуалка не работала месяц, то исходя из вышенаписанного она при включении отправит запрос на смену пароля и сменит его.Anonymous
July 09, 2009
Скорее всего на контроллере домена происходит устаревание пароля компьютера-рабочей странции, поэтому рабочая станция при включении пытается сменить пароль, но контроллер домена ей уже не доверяет, поэтому процедура смены не может быть завершена. Отсюда и одно из решений: вывести рабочую станцию из домена и ввести в домен снова.Anonymous
November 06, 2009
Не влияет-ли Запрет смены пароля компьютера на безопасность?