Доработка работы LAPS в Active Directory

Posted by

В виду того факта, что на текущем рабочем месте в качестве домен контроллеров используется серверная операционная система Windows Server 2008 R2 Standard, то мне нужно адаптировать заметку где я в лабораторных условиях разобрал ,как практически развернуть LAPS на Server 2012 R2 Standard. Когда я это делал на Server 2008 R2, то столкнулся с некоторыми нюансами которые по началу были не привычны, но все завершилось успешно.

Так сказать я хочу задокумментировать в шагах на будущее исполнение, сперва проделываем внедрение на одном крупном городе России, а после буду делать на другом и из-за этого важно иметь под рукой собственные наработки.

Что имею:

  • ОС: Windows Server 2008 R2 Standard (со всеми обновлениями на момент написания данной заметки)
  • Домен: polygon.local
  • FQDN-имя: srv-dc.polygon.local

Шаг №1: Авторизуюсь на домен контроллере с права учетной записи вхожей в группу «Domain Admins» и для внедрения LAPS понадобится, также быть в группе «Schema Admins»

Шаг №2: Запускаю файл установки (для удобства я его переименовал в lapsx64.msi), установка стандартна, точнее просто устанавливаем все:

  • AdmPwd GPO Extension
  • Management Tools
  • Fat client UI
  • PowerShell module
  • GPO Editor Template

Шаг №3: Расширяем схему, данными действиями будет организовано добавление двух атрибутов к объекту компьютера:

Start — All Programs — Accessories — Windows PowerShell — и через правый клик мышью запускаю консоль PowerShell с правами администратора («Run as administrator»)

Дело в том, что в случае данной ошибке выше мне нужно просто обновить PowerShell с текущей 2 версии на 5.1, для этого устанавливаю пакет: Win7AndW2K8R2-KB3191566-x64.msu. Затем перезагружаю систему.

После установка модуля (AdmPwd.ps) в консоли PowerShell происходит без каких либо ошибок:

Шаг №4: Настройка LAPS сводится к выполнению следующих шагов в консоли PowerShell:

На заметку: Отобразить все OU в домене:

или

Именование OU можно узнать через оснастку «Active Directory - пользователи и компьютеры» — через правый клик на OU "Свойства" - "Редактор атрибутов" - атрибут "distinguishedName" и нажимаем «Просмотр» и копируем именование OU контейнера.

или

Проверяю, что реально применились права на доступ группе GROUP_LAPS к просмотру расширенных/добавленных атрибутов компьютеров внутри OU с целью извлечения паролей на учетную запись локального администратора или переименованную если изменяли функционал GPO:

из вывода видно, что доступ к расширенным атрибутам OU=MSKTEST есть у системы, Администраторов домена (по умолчанию) и теперь у группы GROUP_LAPS

Отлично, все настройки по внедрению LAPS проделаны, теперь собственно сама политика которую настраиваю я у себя или один из ее вариантов:

Шаг №5: Копирую файл групповых политик в общее хранилище:

Шаг №6: Создаю политику где целью будет установка агента LAPS в зависимости от архитектуры компьютера, а также некоторая доработка:

Политика именуется у меня, как GPO_MSK_LAPS

Групповая политика LAPS на компьютеры домена

На заметку: Если в Security Filtering Вы конкретно указали группу компьютеров или компьютеры вместо Authenticated Users, то обязательно следует перейти во вкладку Delegation и добавить Authenticated Users и дать права на чтение, в противном случае политика работать не будет. Это очень важно. Почему политика не применяется следует смотреть расширенные логи на компьютере.

Теперь собственно настройки политики которые я использую, вы можете взять их как отправная точка под Ваши задачи:

Computer Configuration — Policies — Windows Settings — Security Settings — Local Policies — Security Options:

  • Accounts: Rename administrator account: отмечаю галочкой Define this policy settings и указываю, как именуется административная учетная запись на компьютере: Администратор
  • Accounts: Administrator account status: отмечаю галочкой Define this policy setting и ставлю статус Enabled.

Computer Configuration — Policies — Preferences — Control Panel Settings — Local Users and Groups

New — Local User

  • Action: Update
  • User name: Administrator (built-in)
  • Password never expires: отмечаю галочкой
  • Account never expires: отмечаю галочкой

New — Local Group

  • Action: Update
  • Group name: Administrators (built-in)
  • Delete all member users: отмечаю галочкой
  • Delete all member groups: отмечаю галочкой

через Add указываю если есть групп(ы/у) делегированных доменных учетных записей которые будут обладать правами администратора на рабочих станциях и добавляю также «Domain Admins»

Добавляю "Администратор домена" в группу "Администраторы" на ПКНе забываем указать установку агента, через Computer — Configuration — Policies — Software Settings — Software installation

  • одна x64-битная установка
  • вторая x86-битная установка с обязательным сниманием галочки «Make this 32-bit x86 application available to Win64 machines.»
    Ниже скриншот для наглядного понимания.

Установка LAPS агента через GPO в зависимости от архитектуры: либо x64, либо x86

Затем в эту же политику добавляю настройки применительно к LAPS. В конечном итоге политика должна выглядеть так: (смотрим вкладку Settings и разворачиваем каждую настройку)

Общий вид настроек политики LAPS

  • По настройке LAPS см. либо документацию, либо мою заметку.
  • Password Settings: Enabled
  • Password Complexity: Large letters + small letters + numbers + specials
  • Password Length: 8
  • Password Age (Days): 30

Т.к. политика применяется только к компьютерам в определенной OU то дополнительно стоит деактивировать нацеливание на пользоваталей:

Group Policy Management — GPO_MSK_LAPS — вкладка Details

  • GRO Status: User configuration settings disabled

На заметку: Настройка Password Length должно быть равно или больше через предопределено в Default Domain Policy.

По итогу применения политики получаем, что в установлен LAPS клиент, активирована локальная учетная запись «Администратор», и группы «Администраторы» удалены все кроме «Администраторы домена», «Делегированные администраторы". А пароль на локальную учетную запись «Администратор» теперь генерируется через LAPS посредством преднастроенной политики, просмотреть его можно только через оснастку LAPS UI определенной группе и конечно же «Администраторам домена» кроме прочего через оснастку LAPS UI и «Active Directory Users and Computer» включением показа расширенных атрибутов.

Проверяю, что после загрузки W7X64 в OU=MSKTEST я могу через PowerShell с домен контроллера извлечь пароль локального администратора:

Если пароль не отображается, то на ПК нужно сделать:

gpupdate /force и перезагрузиться, если все равно пароль не назначается, то смотрим логи на ПК:

Просмотр событий:

  • Имя журнала: Приложение
  • Источник: AdmPwd
  • Код события: 5
  • Уровень: Ошибка
  • Описание: Validation failed for new local admin password against local password policy. Error 0x80070a90

Решение ошибки: Встроенная учетная запись «Администратор» должна быть включена и у нее должен быть установлен пароль соответствующий требованиям политики Default Domain Policy

Если ошибка:

Просмотр событий:

  • Имя журнала: Приложение
  • Источник: AdmPwd
  • Код события: 7
  • Уровень: Ошибка
  • Описание: Could not write changed password to AD. Error 0x80070032.

Решение ошибки: нет прав на изменение атрибутов добавленных путем расширения схемы.

и после я вижу назначенный пароль:

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

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

Итого я адаптировал заметку работы с LAPS на Windows Server 2008 R2 Standard, опираясь на рассмотренные действия я могу внедрять данный функционал и в других организациях. На этом я прощаюсь, с уважением Олло Александр aka ekzorchik.