Как поменять пароль локального администратора на компьютерах в домене

Обновлено: 06.07.2024

В этой статье мы рассмотрим способ управления паролями локальных администраторов на компьютерах домена с помощью официальной утилиты Microsoft – LAPS (Local admin password solution).

Вопрос управления встроенными учетными записям на компьютерах домена является одним из важнейших аспектов безопасности, требующих внимание системного администратора. Безусловно, не стоит допускать использования одинаковых паролей локальных администраторов на всех компьютерах. Есть множество подходов к организации управления учетными записями локальных администраторов в домене: начиная от полного их отключения (не очень удобно), до управления ими через logon скрипты групповых политик и создания собственных систем управления встроенными учётками и их паролями.

Ранее для изменения паролей локальный администраторов на компьютерах домена часто использовались расширения групповых политик (GPP – Group Policy Preferences), однако в них была найдена серьезная уязвимость, позволяющая любому пользователю расшифровать пароль, хранящийся в текстовом файле в каталоге Sysvol на контроллерах домена (об это мы подробно говорили в статье Почему не стоит задавать пароли через Group Policy Preferences ). В мае 2014 года Microsoft выпустила обновление безопасности (MS14-025 – KB 2962486), полностью отключающее возможность задать пароль локального пользователя через GPP.Содержание:

  • Утилита LAPS — Local Administrator Password Solution
  • Подготовка схемы Active Directory для внедрения LAPS
  • Настройка прав в AD на атрибуты LAPS
  • Предоставление прав на просмотр пароля LAPS
  • Настройка групповой политики LAPS
  • Установка LAPS на клиентские компьютеры через GPO
  • Использование утилиты LAPS для просмотра пароля администратора

Утилита LAPS — Local Administrator Password Solution

Важно . Ранее утилита LAPS называлась AdmPwd , но в 2015 года Microsoft анонсировала LAPS, переведя ее из раздела сторонних скриптов в официально поддерживаемое решение.

Утилита LAPS (Local Administrator Password Solution) позволяет централизованной управлять паролями администраторов на всех компьютерах домена и хранить информацию о пароле и дате его смены непосредственно в объектах типа Computer в Active Directory.

Функционал LAPS основан на использовании специального функционала GPO, который основан на Group Policy Client Side Extension (CSE) и представлеяет собой небольшой модуль, который устанавливается на рабочие станции. Данное расширение GPO используется для генерации уникального пароля локального администратора (SID — 500) на каждом компьютере домена. Пароль администратора автоматически меняется с указанной периодичностью (по-умолчанию, каждые 30 дней). Значение текущего пароля хранится в конфиденциальном атрибуте учетной записи компьютера в Active Directory, доступ на просмотр содержимого атрибута регулируется группами безопасности AD.

Дистрибутив LAPS доступен в виде двух версий установочных msi файлов: для 32 ( LAPS.x86.msi ) и 64 ( LAPS.x64.msi ) битных систем.

Архитектура LAPS состоит из 2 частей. Модуль управления устанавливается на машине администратора, а клиентская часть устанавливается на серверах и ПК, на которых нужно регулярно менять пароль локального администратора. Совет . Перед развертыванием LAPS в продуктивном домене рекомендуем попробовать его в тестовой среде, т.к. как минимум потребуется расширение схемы AD (необратимое).

  • AdmPwd GPO Extension –исполняемая часть LAPS, которая устанавливается на компьютеры клиентов и осуществляет генерацию, сохранение пароля в домене согласно настроенной политики;
  • И компоненты управления LAPS (Management Tools):
  • Fat client UI – утилита для просмотра пароля администратора;
  • PowerShell module – модуль PowerShell для управления LAPS;
  • GPO Editor templates – административные шаблоны для редактора групповой политики.

Установка LAPS максимально простая и не должна вызывать каких-либо проблем.

Подготовка схемы Active Directory для внедрения LAPS

Перед развертыванием LAPS необходимо расширить схему Active Directory, в которую будут добавлены два новых атрибута для объектов типа компьютер.

  • ms—MCS—AdmPwd – атрибут содержит пароль локального администратора в открытом виде;
  • ms—MCS—AdmPwdExpirationTime — хранит дату истечения срока действия пароля на компьютере.

Для расширения схемы, нужно открыть консоль PowerShell, импортировать модуль Admpwd.ps:

Расширьте схему Active Directory (нужны права Schema Admin):

В результате в класс «Computer» будут добавлены два новых атрибута.

Настройка прав в AD на атрибуты LAPS

LAPS хранит пароль локального администратора в атрибуте Active Directory ms-MCS-AdmPwd в открытом виде, доступ к атрибуту ограничивается благодаря механизму конфиденциальных атрибутов AD (поддерживается с Windows 2003). Атрибут ms-MCS-AdmPwd, в котором хранится пароль, может быть прочитан любым обладателем разрешения “ All Extended Rights ”. Пользователи и группы с этим разрешением могут читать любые конфиденциальные атрибуты AD, в том числе ms-MCS-AdmPwd. Т.к. мы не хотим, чтобы кто-то кроме администраторов домена (или служб HelpDesk) имел право на просмотр паролей для компьютеров, нам нужно ограничить список групп с правами на чтение этих атрибутов.

С помощью командлета Find-AdmPwdExtendedRights можно получить список учетных записей и групп, обладающих этим правом на конкретную OU. Проверьте, кто обладает подобными разрешениями на OU с именем Desktops:

Find-AdmPwdExtendedRights -Identity Desktops | Format-Table ExtendedRightHolders

Как вы видите, право на чтение конфиденциальных атрибутов есть только у группы Domain Admins .

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

  • Откройте ADSIEdit и подключитесь к Default naming context;
  • Разверните дерево AD, найдите нужный OU (в нашем примере Desktops), щелкните по нему ПКМ и выберите Properties ;
  • Перейдите на вкладку Security , нажмите на кнопку Advanced -> Add . В разделе Select Principal укажите имя группы/пользователя, для которого нужно ограничить права (например, domain\Support Team);
  • Снимите галку у права “All extended rights” и сохраните изменения.

Аналогичным образом нужно поступить со всеми группам, которым нужно запретить право на просмотр пароля. Совет . Ограничить права на чтение придется на все OU, паролями компьютеров в которых будет управлять LAPS.

Далее нужно предоставить права учетным записям компьютеров на модификацию собственных атрибутов (SELF), т.к. изменение значений атрибутов ms-MCS-AdmPwd и ms-MCS-AdmPwdExpirationTime выполняется из-под учетной записи самого компьютера. Воспользуемся еще одним командлетом Set-AdmPwdComputerSelfPermission .

Чтобы дать права компьютерам в OU Desktops на обновление расширенных атрибутов, выполните команду:

Set-AdmPwdComputerSelfPermission -OrgUnit Desktops

Новые атрибуты LAPS компьютеров по умолчанию не реплицируются на контроллеры домена RODC .

Предоставление прав на просмотр пароля LAPS

Следующий этап – предоставление прав пользователям и группам на чтение хранящихся в Active Directory паролей локальных администраторов на компьютерах домена. К примеру, вы хотите дать членам группы AdmPwd права на чтение паролей компьютеров в OU:

Set-AdmPwdReadPasswordPermission -OrgUnit Desktops -AllowedPrincipals AdmPwd

Кроме того, можно предоставить отдельной группе пользователей право на сброс пароля компьютера (в нашем примере мы предоставляем это право той же группе AdmPwd).

Set-AdmPwdResetPasswordPermission -OrgUnit Desktops -AllowedPrincipals AdmPwd

Настройка групповой политики LAPS

Создайте политику с именем Password_Administrador_Local следующей командой:

Register-AdmPwdWithGPO -GpoIdentity: Password_Administrador_Local

В консоли управления доменными политиками (gpmc.msc) откройте эту политику на редактирование и перейдите в раздел GPO: : Computer Configuration -> Administrative Templates -> LAPS .

Как вы видите, имеются 4 настраиваемых параметра политики. Настройте их следующим образом:

  • Enable local admin password management : Enabled (включить политику управления паролями LAPS);
  • Password Settings : Enabled – в политике задается сложности пароля, его длина и частота изменения (по аналогии с доменными политиками для паролей пользователей );
  • Complexity: Large letters, small letters, numbers, specials
  • Length: 12 characters
  • Age: 30 days
  • Name of administrator account to manage : Not Configured (Здесь указывается имя учетной записи администратора, пароль которой будет меняться. по умолчанию меняется пароль встроенного administrator с SID-500);
  • Do not allow password expiration time longer than required by policy : Enabled

Назначьте политику Password_Administrador_Local на OU с компьютерами (Desktops).

Установка LAPS на клиентские компьютеры через GPO

После настройки GPO нужно установить клиентскую часть LAPS на компьютеры в домене. Установить клиент LAPS можно различными способами: вручную, через задание SCCM, логон скрипт и т.п. В нашем примере мы установим msi файл с помощью возможности установки msi пакетов через групповые политики (GPSI).

  • Создайте общую папку в сетевом каталоге (или в папке SYSVOL на контроллере домена), в которую нужно скопировать msi файлы дистрибутива LAPS;
  • Создайте новую GPO и в разделе Computer Configuration ->Policies ->Software Settings -> Software Installation создайте задание на установку MSI пакета LAPS.

Обратите внимание, что имеются x86 и x64 версия LAPS для Windows соответствующих разрядностей. Для этого вы можете сделать 2 отдельные политики LAPS с WMI фильтрами GPO для x86 и x64 редакций Windows.

Осталось назначить политику на нужную OU, и после перезагрузки, на всех компьютерах в целевом OU должен установиться клиент LAPS.

Проверьте, что списке установленных программ в Панели Управления (Programs and Features) появилась запись “Local admin password management solution”.

Когда утилита LAPS меняет пароль локального администратора, запись об этом фиксируется в журнале Application (Event ID:12, Source: AdmPwd).

Событие сохранения пароля в атрибуте AD также фиксируется (Event ID:13, Source: AdmPwd).

Вот так выглядят новые атрибуты у компьютера в AD.

Совет . Время истечения срока действия пароля хранится в формате «Win32 FILETIME», сконвертировать его в нормальный вид можно, к примеру так .

Использование утилиты LAPS для просмотра пароля администратора

Графическую утилиту AdmPwd UI для просмотра паролей LAPS нужно установить на компьютерах администраторов.

Запустите утилиту, введите имя компьютера (в поле computername), и вы должны увидеть текущий пароль локального администратора компьютера и срок действия.

Дату истечения пароля срока действия пароля можно задать вручную, либо оставить поле с датой пустым и нажав кнопку Set (это означает, срок действия пароля уже истек).

Пароль также можно получить с помощью PowerShell:

Import-Module AdmPwd.PS
Get-AdmPwdPassword -ComputerName <computername>

Если вы считаете, что пароли локальных администраторов на всех компьютерах в некотором OU скомпрометированы, вы можете одной командой сгенерировать новые пароля для всех компьютеров в OU. Для этого нам понадобится командлет Get-ADComputer :

Get-ADComputer -Filter * -SearchBase “OU=Computers,DC=MSK,DC=winitpro,DC=ru” | Reset-AdmPwdPassword -ComputerName

Аналогичным образом можно вывести список текущих паролей для всех компьютеров в OU:

Get-ADComputer -Filter * -SearchBase “OU=Computers,DC=MSK,DC=winitpro,DC=ru” | Get-AdmPwdPassword -ComputerName

LAPS можно рекомендовать как удобное решение для организации безопасной системы управления паролями на компьютерах домена с возможностью гранулированного управления доступом к паролям компьютерам из разных OU. Пароли хранятся в атрибутах Active Directory в открытом виде, но встроенные средства AD позволяют надежно ограничить к ним доступ.

Одной из самых распространенных проблем, с которой сталкивается почти каждый системный администратор, является управление паролями локального администратора.

Существует несколько вариантов решения данной задачи:

  1. Использование единого пароля на всех компьютерах. Пароль может устанавливаться либо во время деплоя с помощью MDT или SCCM, либо с помощью предпочтений групповых политик после деплоя. Обычно при таком подходе пароль никогда не меняется, а значит рано или поздно утечет (при увольнении администратора или пользователь может подглядеть ввод пароля), при этом скомпрометированный пароль дает доступ ко всем ПК в организации.
  2. Единоразовая установка уникального пароля на каждом ПК. Обычно происходит при деплое. Вариантов масса — начиная от ручной генерации случайного пароля и сохранении его в системе учета паролей (Keepass, OnePassword, Excel), заканчивая автоматической генерацией пароля по алгоритму известному администраторам, где входными данными является имя ПК. Зная алгоритм, администратор может на месте рассчитать пароль и авторизоваться на любом ПК. Минусы примерно аналогичны варианту 1: Уволенный администратор сохраняет возможность войти на любой ПК, зато при компрометации пароля пользователем он получает доступ только к одному ПК, а не ко всем сразу.
  3. Использование системы, которая будет автоматически генерировать случайные пароли для каждого ПК и менять их по установленному расписанию. Минусы предыдущих вариантов тут исключены — скомпрометированный пароль будет изменен по расписанию, и уволенный администратор через некоторое время не сможет авторизоваться на ПК даже если и украдет действующую на момент увольнения базу паролей.

краткая диаграмма архитектуры LAPS

LAPS расшифровывается как Local Administrator Password Solution и является наследником решения AdmPwd, которое было поглощено Microsoft и переименовано в LAPS. LAPS бесплатен и не требует дополнительных расходов на инфраструктуру, так как использует Active Directory в качестве базы данных. Поддержка доступна в рамках Microsoft Premier Support Services.

Автор оригинальной AdmPwd разработал новый продукт AdmPwd.E, но бесплатная версия ограничена 20 ПК, так что подойдет не всем. Официальный сайт.

LAPS поставляется с обширной документацией (только на английском) и вообще оставляет впечатление крайне продуманного и надежного решения.

Архитектура

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

  1. Агент — Расширение групповой политики устанавливаемое на все управляемые ПК через MSI. Отвечает за генерацию пароля и сохранении его в соответствующем объекте AD.
  2. Модуль PowerShell. Используется для настройки LAPS.
  3. Active Directory. Хранит пароль локального администратора.
  • Проверяет не истек ли срок действия пароля локального администратора
  • Генерирует новый пароль, если текущий истек или требуется его замена до истечении срока действия
  • Меняет пароль локального администратора
  • Сохраняет пароль в соответствующем атрибуте объекта AD
  • Сохраняет срок действия пароля в соответствующем атрибуте объекта AD

Полная диаграмма работы LAPS приведена на следующем изображении.

полная диаграмма архитектуры LAPS

Установка и настройка LAPS

Для начала установим средства управления LAPS на компьютер, с которого будем осуществлять настройку.

Запускаем msi пакет и устанавливаем все Managemnt Tools, которые включают LAPS UI, модуль PowerShell и шаблоны групповой политики.


Если у вас настроено централизованное хранилище шаблонов групповых политик, то сразу переносим файлы «Admpwd.admx» и «En-us\AdmPwd.adml» из "%SystemRoot%\PolicyDefinitions" в "\\contoso.com\SYSVOL\contoso.com\policies\PolicyDefinitions".

Следующим шагом будет добавление новых атрибутов в схему AD. Для этого необходимо открыть консоль PowerShell от имени учетной записи с правами «Schema Admin» и сначала импортировать модуль командой «Import-module AdmPwd.PS», а затем обновить схему командой «Update-AdmPwdADSchema».



Затем нужно удостовериться, что только администраторы имеют доступ к свежесозданным атрибутам. Это необходимо, так как пароли хранятся в AD в открытом виде, и доступ к ним регулируется AD ACL. Для этого воспользуемся командой «Find-AdmPwdExtendedrights -identity <OU, где расположены учетные записи ПК> | Format-Table».


Эта команда возвращает список учетных записей/групп, которые будут иметь доступ к паролям хранящимся в AD. Если вы обнаружили «лишние» учетные записи/группы, то воспользуйтесь утилитой ADSIEdit для корректной настройки прав доступа. Убедитесь, что право доступа «All extended rights» не отмечено для тех групп, которые не должны иметь доступ к паролям.


Если же вы хотите дать доступ к паролям дополнительным группам или учетным записям воспользуйтесь командой «Set-AdmPwdReadPasswordPermission -OrgUnit <OU, где расположены учетные записи ПК> -AllowedPrincipals <Пользователи или группы>».

Права доступа для принудительной смены еще не истекшего пароля при следующем обновлении групповых политик выдаются следующей командой: «Set-AdmPwdResetPasswordPermission -Identity <OU, где расположены учетные записи ПК> -AllowedPrincipals <Пользователи или группы>»



Затем необходимо выдать права самим компьютерам на модификацию данных атрибутов. Для этого воспользуемся командой «Set-AdmPwdComputerSelfPermission -OrgUnit <OU, где расположены учетные записи ПК>»


Следующим шагом будет настройка групповой политики. Мы можем контролировать сложность и срок годности паролей, имя учетной записи пароль которой будет меняться, а также включать и выключать работу LAPS.




Имя учетной записи нужно указывать только в том случае, если это специально созданная учетная запись. Если это встроенная ученая запись, то этот параметр надо оставить в «Not configured» (Даже если учетная запись переименована), так как встроенная учетная запись будет найдена по well-known SID.


Следующим этапом будет установка расширения групповой политики на ПК. Это можно возложить на групповые политики, на SCCM, либо на другое средство развертывания приложений. Следует отметить, что по умолчанию msi пакет устанавливает только клиентскую часть, так что развертывание не требует передачи дополнительных параметров инсталлятору. Перезагрузка ПК потребуется только при развертывании через групповые политики.

Для просмотра пароля проще всего воспользоваться LAPS UI. Вводим имя компьютера в соответствующее поле и нажимаем «Search». Если мы все сделали правильно, то вы увидите пароль в соответствующем поле.


Изменение пароля локального администратора на всех компьютерах домена

В продолжении к уроку по переименованию учетной записи локального администратора на рабочих станциях домена, давайте теперь изменим пароль локального администратора на всех компьютерах.

Как известно для увеличения уровня безопасности требуется периодически менять пароли, опять же менять пароль локального администратора на каждой рабочей станции физически дело трудозатратное, а следовательно нужно этот процесс упростить, в чем опять же поможет групповая политика.

Данный скрипт выполняет поиск учетной записи локального администратора и присваивает ей заданный пароль

On Error Resume Next

strPasswd = «НОВЫЙ ПАРОЛЬ»

Set objWMIService = GetObject («winmgmts:\\.\root\CIMV2»)

strWQLquery = «SELECT * FROM Win32_UserAccount WHERE domain = '» & strServer & «'»

Set colAllSysUsers = objWMIService.ExecQuery ( strWQLquery )

For Each User In colAllSysUsers

RID = Right ( User.SID ,3)

If RID = «500» Then

Set objUser = GetObject («WinNT://» & strServer & «/» & User.Name & «,user»)

Следует внимательно отнестись к тому, что в скрипте открыто указан пароль, после того как пароль присвоился ко все компьютерам следует данный файл удалить. Более безопасно будет его зашифровать, но это уже тема для другого урока.

Сохраняем файл с расширением new_password.vbs и добавляем его в автозапуск в групповой политике (Конфигурация компьютера – Конфигурация Windows – Сценарии – Автозагрузка).

Жмем на кнопку показать файлы, и откроется сетевой ресурс из которого будут запускаться скрипты. Копируем туда наш файл со скриптом new_password.vbs. Теперь жмем на Добавить и добавляем файл из появившегося окна.

В данной ситуации требуется применить данную политику только к компьютерам домена, так как пароль локального администратора и администратора домена должны быть различны.

Вот и готово! Теперь, после применения политики, на всех компьютерах данного контейнера логин и пароль локального администратора будут едины.

Так же как и в случае с переименование учетной записи, программы которые запускаются по заданию от имени администратора могут не запуститься, если имя пользователя и пароль задается фактически вводом в окно запускать от имени пользователя и пароля

date

17.04.2019

directory

Active Directory, Групповые политики

comments

комментарий 71

В этой статье мы рассмотрим способ управления паролями локальных администраторов на компьютерах домена с помощью официальной утилиты Microsoft – LAPS (Local admin password solution).

Вопрос управления встроенными учетными записям на компьютерах домена является одним из важнейших аспектов безопасности, требующих внимание системного администратора. Безусловно, не стоит допускать использования одинаковых паролей локальных администраторов на всех компьютерах. Есть множество подходов к организации управления учетными записями локальных администраторов в домене: начиная от полного их отключения (не очень удобно), до управления ими через logon скрипты групповых политик и создания собственных систем управления встроенными учётками и их паролями.

Ранее для изменения паролей локальный администраторов на компьютерах домена часто использовались расширения групповых политик (GPP – Group Policy Preferences), однако в них была найдена серьезная уязвимость, позволяющая любому пользователю расшифровать пароль, хранящийся в текстовом файле в каталоге Sysvol на контроллерах домена (об это мы подробно говорили в статье Почему не стоит задавать пароли через Group Policy Preferences). В мае 2014 года Microsoft выпустила обновление безопасности (MS14-025 – KB 2962486), полностью отключающее возможность задать пароль локального пользователя через GPP.

Важно. Ранее утилита LAPS называлась AdmPwd, но в 2015 года Microsoft анонсировала LAPS, переведя ее из раздела сторонних скриптов в официально поддерживаемое решение.

Утилита LAPS (Local Administrator Password Solution) позволяет централизованной управлять паролями администраторов на всех компьютерах домена и хранить информацию о пароле и дате его смены непосредственно в объектах типа Computer в Active Directory.

Функционал LAPS основан на использовании специального функционала GPO, который основан на Group Policy Client Side Extension (CSE) и представлеяет собой небольшой модуль, который устанавливается на рабочие станции. Данное расширение GPO используется для генерации уникального пароля локального администратора (SID — 500) на каждом компьютере домена. Пароль администратора автоматически меняется с указанной периодичностью (по-умолчанию, каждые 30 дней). Значение текущего пароля хранится в конфиденциальном атрибуте учетной записи компьютера в Active Directory, доступ на просмотр содержимого атрибута регулируется группами безопасности AD.

Дистрибутив LAPS доступен в виде двух версий установочных msi файлов: для 32 (LAPS.x86.msi) и 64 (LAPS.x64.msi) битных систем.

Архитектура LAPS состоит из 2 частей. Модуль управления устанавливается на машине администратора, а клиентская часть устанавливается на серверах и ПК, на которых нужно регулярно менять пароль локального администратора.

Совет. Перед развертыванием LAPS в продуктивном домене рекомендуем попробовать его в тестовой среде, т.к. как минимум потребуется расширение схемы AD (необратимое).

Установка LAPS

  • Fat client UI – утилита для просмотра пароля администратора;
  • PowerShell module – модуль PowerShell для управления LAPS;
  • GPO Editor templates – административные шаблоны для редактора групповой политики.

Параметры установки LAPS

Установка LAPS максимально простая и не должна вызывать каких-либо проблем.

Подготовка схемы Active Directory для внедрения LAPS

Перед развертыванием LAPS необходимо расширить схему Active Directory, в которую будут добавлены два новых атрибута для объектов типа компьютер.

  • ms—MCS—AdmPwd– атрибут содержит пароль локального администратора в открытом виде;
  • ms—MCS—AdmPwdExpirationTime — хранит дату истечения срока действия пароля на компьютере.

Для расширения схемы, нужно открыть консоль PowerShell, импортировать модуль Admpwd.ps:

Import-module AdmPwd.ps

Расширьте схему Active Directory (нужны права Schema Admin):

Update-AdmPwdADSchema - расширение схемы

Update-AdmPwdADSchema

В результате в класс «Computer» будут добавлены два новых атрибута.

Настройка прав в AD на атрибуты LAPS

LAPS хранит пароль локального администратора в атрибуте Active Directory ms-MCS-AdmPwd в открытом виде, доступ к атрибуту ограничивается благодаря механизму конфиденциальных атрибутов AD (поддерживается с Windows 2003). Атрибут ms-MCS-AdmPwd, в котором хранится пароль, может быть прочитан любым обладателем разрешения “All Extended Rights”. Пользователи и группы с этим разрешением могут читать любые конфиденциальные атрибуты AD, в том числе ms-MCS-AdmPwd. Т.к. мы не хотим, чтобы кто-то кроме администраторов домена (или служб HelpDesk) имел право на просмотр паролей для компьютеров, нам нужно ограничить список групп с правами на чтение этих атрибутов.

С помощью командлета Find-AdmPwdExtendedRights можно получить список учетных записей и групп, обладающих этим правом на конкретную OU. Проверьте, кто обладает подобными разрешениями на OU с именем Desktops:

Find-AdmPwdExtendedRights -Identity Desktops | Format-Table ExtendedRightHolders

Find-AdmPwdExtendedRights

Как вы видите, право на чтение конфиденциальных атрибутов есть только у группы Domain Admins.

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

Аналогичным образом нужно поступить со всеми группам, которым нужно запретить право на просмотр пароля.

Совет. Ограничить права на чтение придется на все OU, паролями компьютеров в которых будет управлять LAPS.

Далее нужно предоставить права учетным записям компьютеров на модификацию собственных атрибутов (SELF), т.к. изменение значений атрибутов ms-MCS-AdmPwd и ms-MCS-AdmPwdExpirationTime выполняется из-под учетной записи самого компьютера. Воспользуемся еще одним командлетом Set-AdmPwdComputerSelfPermission.

Чтобы дать права компьютерам в OU Desktops на обновление расширенных атрибутов, выполните команду:

Set-AdmPwdComputerSelfPermission -OrgUnit Desktops

Set-AdmPwdComputerSelfPermission

Новые атрибуты LAPS компьютеров по умолчанию не реплицируются на контроллеры домена RODC.

Предоставление прав на просмотр пароля LAPS

Следующий этап – предоставление прав пользователям и группам на чтение хранящихся в Active Directory паролей локальных администраторов на компьютерах домена. К примеру, вы хотите дать членам группы AdmPwd права на чтение паролей компьютеров в OU:

Set-AdmPwdReadPasswordPermission -OrgUnit Desktops -AllowedPrincipals AdmPwd

Set-AdmPwdReadPasswordPermission

Кроме того, можно предоставить отдельной группе пользователей право на сброс пароля компьютера (в нашем примере мы предоставляем это право той же группе AdmPwd).

Set-AdmPwdComputerSelfPermission

Set-AdmPwdResetPasswordPermission -OrgUnit Desktops -AllowedPrincipals AdmPwd

Настройка групповой политики LAPS

Далее нужно создать новый объект GPO (групповых политик) и назначить его на OU, в которой содержатся компьютеры, на которых вы будете управлять паролями администраторов.

Создайте политику с именем Password_Administrador_Local следующей командой:

Register-AdmPwdWithGPO

Register-AdmPwdWithGPO -GpoIdentity: Password_Administrador_Local

В консоли управления доменными политиками (gpmc.msc) откройте эту политику на редактирование и перейдите в раздел GPO: : Computer Configuration -> Administrative Templates -> LAPS.

LAPS параметры GPO

Как вы видите, имеются 4 настраиваемых параметра политики. Настройте их следующим образом:

  • Enable local admin password management: Enabled (включить политику управления паролями LAPS);
  • Password Settings: Enabled – в политике задается сложности пароля, его длина и частота изменения (по аналогии с доменными политиками для паролей пользователей);
    • Complexity: Large letters, small letters, numbers, specials
    • Length: 12 characters
    • Age: 30 days

    Политика управления паролями

    Назначьте политику Password_Administrador_Local на OU с компьютерами (Desktops).

    Установка LAPS на клиентские компьютеры через GPO

    После настройки GPO нужно установить клиентскую часть LAPS на компьютеры в домене. Установить клиент LAPS можно различными способами: вручную, через задание SCCM, логон скрипт и т.п. В нашем примере мы установим msi файл с помощью возможности установки msi пакетов через групповые политики (GPSI).

    Установка LAPS на компьютеры домена с помощью GPO

    1. Создайте общую папку в сетевом каталоге (или в папке SYSVOL на контроллере домена), в которую нужно скопировать msi файлы дистрибутива LAPS;
    2. Создайте новую GPO и в разделе Computer Configuration ->Policies ->Software Settings -> Software Installation создайте задание на установку MSI пакета LAPS.
    Обратите внимание, что имеются x86 и x64 версия LAPS для Windows соответствующих разрядностей. Для этого вы можете сделать 2 отдельные политики LAPS с WMI фильтрами GPO для x86 и x64 редакций Windows.

    Осталось назначить политику на нужную OU, и после перезагрузки, на всех компьютерах в целевом OU должен установиться клиент LAPS.

    Проверьте, что списке установленных программ в Панели Управления (Programs and Features) появилась запись “Local admin password management solution”.

    Local admin password management solution

    Когда утилита LAPS меняет пароль локального администратора, запись об этом фиксируется в журнале Application (Event ID:12, Source: AdmPwd).

    Event ID:12, Source: AdmPwd

    Событие сохранения пароля в атрибуте AD также фиксируется (Event ID:13, Source: AdmPwd).

    Event ID:13, Source: AdmPwd

    Вот так выглядят новые атрибуты у компьютера в AD.

    Атрибут ms-MCS-AdmPwd и значени пароля администратора компьютера

    Совет. Время истечения срока действия пароля хранится в формате «Win32 FILETIME», сконвертировать его в нормальный вид можно, к примеру так.

    Использование утилиты LAPS для просмотра пароля администратора

    Графическую утилиту AdmPwd UI для просмотра паролей LAPS нужно установить на компьютерах администраторов.

    admpwdui

    Запустите утилиту, введите имя компьютера (в поле computername), и вы должны увидеть текущий пароль локального администратора компьютера и срок действия.

    LAPS-UI - утилита получения пароля компьютера

    Дату истечения пароля срока действия пароля можно задать вручную, либо оставить поле с датой пустым и нажав кнопку Set (это означает, срок действия пароля уже истек).

    Пароль также можно получить с помощью PowerShell:

    Import-Module AdmPwd.PS
    Get-AdmPwdPassword -ComputerName <computername>

    Get-AdmPwdPassword

    Если вы считаете, что пароли локальных администраторов на всех компьютерах в некотором OU скомпрометированы, вы можете одной командой сгенерировать новые пароля для всех компьютеров в OU. Для этого нам понадобится командлет Get-ADComputer:

    Get-ADComputer -Filter * -SearchBase “OU=Computers,DC=MSK,DC=winitpro,DC=ru” | Reset-AdmPwdPassword -ComputerName

    Аналогичным образом можно вывести список текущих паролей для всех компьютеров в OU:

    Get-ADComputer -Filter * -SearchBase “OU=Computers,DC=MSK,DC=winitpro,DC=ru” | Get-AdmPwdPassword -ComputerName

    LAPS можно рекомендовать как удобное решение для организации безопасной системы управления паролями на компьютерах домена с возможностью гранулированного управления доступом к паролям компьютерам из разных OU. Пароли хранятся в атрибутах Active Directory в открытом виде, но встроенные средства AD позволяют надежно ограничить к ним доступ.

    Читайте также: