Управление паролями локальных администраторов с помощью Microsoft LAPS

Проблема

В доменной среде Active Directory долгое время существовала критическая уязвимость: единый пароль локального администратора на всех компьютерах. При развёртывании Windows по типовому образу все машины получают одинаковый пароль встроенной учётной записи Administrator. Если злоумышленник компрометирует этот пароль на одной рабочей станции, он получает локальный административный доступ ко всем компьютерам с тем же паролем. Это классический вектор горизонтального перемещения (lateral movement) внутри сети. Ручная смена паролей на сотнях машин нереалистична, а скрипты с жёстко закодированными паролями лишь усугубляют проблему. Windows LAPS (Local Administrator Password Solution) устраняет этот риск, автоматически назначая каждому компьютеру уникальный пароль локального администратора, регулярно его обновляя и безопасно храня его в защищённом атрибуте объекта компьютера в Active Directory.

Решение

Microsoft LAPS существует в двух реализациях:

  • Legacy LAPS — устанавливается как отдельный MSI-пакет, совместим с Windows Server 2008+ и Windows 7+.
  • Windows LAPS — встроен в операционную систему начиная с Windows 10 21H2 и Windows Server 2022, не требует установки, поддерживает шифрование паролей, интеграцию с Azure AD и расширенные сценарии.

Принцип работы одинаков: клиентский компонент на каждом компьютере генерирует новый пароль, записывает его в атрибут ms-Mcs-AdmPwd объекта компьютера в Active Directory и обновляет по расписанию. Администраторы с соответствующими правами могут прочитать текущий пароль через PowerShell или оснастку AD. Официальная документация по Windows LAPS доступна на Microsoft Learn. Подробное руководство по развёртыванию и миграции с Legacy LAPS описано в LAPS deployment and migration guide. Все командлеты PowerShell для управления LAPS задокументированы в LAPS Management PowerShell.

Пошаговая инструкция

Шаг 1. Установка Windows LAPS

В Windows 11 21H2+ и Windows Server 2022+ компонент LAPS встроен, но требует активации. На клиентских системах без Server Manager используйте DISM, на сервере PowerShell или графический мастер.

PowerShell (сервер):

powershell

Install-WindowsFeature -Name LAPS

DISM (клиентские системы):

cmd

dism /online /enable-feature /featurename:LAPS /all

После активации становятся доступны командлеты модуля LAPS: Get-LapsADPasswordSet-LapsADPasswordExpirationTimeReset-LapsPassword и другие. Документация по всем командлетам: LAPS Management PowerShell.

Шаг 2. Расширение схемы Active Directory

Windows LAPS добавляет в схему Active Directory новые атрибуты для хранения паролей. Расширение схемы выполняется однократно на контроллере домена с правами администратора схемы.

powershell

Update-LapsADSchema

Этот командлет добавляет атрибуты ms-Mcs-AdmPwdms-Mcs-AdmPwdExpirationTime и другие. Подробнее о командлете: Update-LapsADSchema. Дополнительная информация о схеме доступна в разделе LAPS schema attributes.

Шаг 3. Настройка прав доступа к паролям

По умолчанию никто, кроме самого компьютера, не может прочитать сохранённый пароль. Необходимо явно предоставить права группам администраторов на уровне OU.

powershell

Set-LapsADReadPasswordPermission -Identity "OU=Workstations,DC=company,DC=local" -AllowedPrincipals "Domain Admins"
Set-LapsADResetPasswordPermission -Identity "OU=Workstations,DC=company,DC=local" -AllowedPrincipals "Domain Admins"

Эти команды делегируют группе «Администраторы домена» право читать текущий пароль и принудительно сбрасывать его для всех компьютеров в указанном подразделении. Настройка прав подробно обсуждается в сообществе Microsoft Q&A: LAPS permissions.

Шаг 4. Настройка групповой политики

Windows LAPS управляется через групповые политики. Шаблоны уже встроены в ОС, импорт не требуется.

  1. Откройте Управление групповой политикой (gpmc.msc), создайте новый GPO или отредактируйте существующий.
  2. Перейдите в раздел:
Конфигурация компьютера → Административные шаблоны → Система → LAPS

Основные настройки:

  • Configure password backup directory — выберите «Active Directory».
  • Password Complexity — настройте сложность пароля: длина (рекомендуется 14 символов), использование заглавных, строчных, цифр и спецсимволов.
  • Password Age (days) — интервал смены пароля (по умолчанию 30 дней).
  • Name of administrator account to manage — оставьте пустым для встроенного Administrator или укажите иную локальную учётную запись.

Пример проверки GPO через gpresult /h и устранения проблем с соответствием пароля политике сложности описан в Windows LAPS didn’t match password complexity.

Шаг 5. Проверка работы LAPS

На целевом компьютере выполните gpupdate /force или дождитесь обновления политик. Для принудительного запуска обработки политик LAPS и немедленной смены пароля используйте PowerShell:

powershell

Invoke-LapsPolicyProcessing
Reset-LapsPassword

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

powershell

Get-LapsADPassword -Identity "COMP01" -AsPlainText

Пароль отобразится в открытом виде только при наличии прав, предоставленных в шаге 3. Документация по командлету: Get-LapsADPassword.

Устранение распространённых проблем

СимптомВероятная причинаРешение
Пароль не сохраняется в AD после применения GPO и Invoke-LapsPolicyProcessingНедостаточно прав у компьютера на запись в собственный атрибутПроверьте права SELF на атрибуты ms-Mcs-AdmPwd и ms-Mcs-AdmPwdExpirationTime. Права предоставляются автоматически при выполнении Update-LapsADSchema, но могут быть переопределены.
Команда Get-LapsADPassword возвращает пустой парольНе настроена GPO или не отработала обработка политикПроверьте применение GPO через gpresult /h report.html. Убедитесь, что в разделе «Система → LAPS» политики настроены корректно. См. пример диагностики в Windows LAPS didn’t match password complexity.
Ошибка «The directory service is unavailable» при расширении схемыКоманда выполняется не на контроллере домена с ролью Schema Master или нет сетевой связностиВыполните Update-LapsADSchema на контроллере, владеющем ролью Schema Master.
Пароль не отображается в открытом видеУ пользователя нет прав на чтение пароляПредоставьте права через Set-LapsADReadPasswordPermission (шаг 3). Используйте параметр -AsPlainText для отображения пароля.
Генерируемый пароль не соответствует политике сложностиGPO с настройками сложности не применилась к компьютеруПроверьте результирующую политику через rsop.msc. Убедитесь, что GPO с настройками LAPS имеет более высокий приоритет, чем конфликтующие политики.

Итог

Внедрение Windows LAPS  это одна из самых эффективных мер по усилению безопасности доменной инфраструктуры, которая устраняет критический вектор горизонтального перемещения: единый пароль локального администратора. Встроенная в современные версии Windows реализация не требует установки дополнительного ПО, поддерживает шифрование паролей и легко настраивается через групповые политики. После развёртывания каждый компьютер в домене получает уникальный, регулярно обновляемый пароль локального администратора, а авторизованные администраторы всегда могут его прочитать, не прибегая к небезопасным практикам вроде хранения паролей в Excel-таблицах.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Популярные
Новые Старые

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
Menu