Что есть LAPS в реале Active Directory

Posted by

Текущая инфраструктура:

srv-dc.polygon.local (Server 2012 R2 Standard (Version 6.3.9600) со всеми обновлениями на момент написания заметки)

На заметку: Кто бы что не говорил, но что-то внедрять нужно после того, как Вы опробовали это в тестовой среде. Пусть и потратили время на эталонное развертывание, но это опыт и Вам уже не составит адаптировать на боевое исполнение. К тому же развертывание LAPS (Local Administrator Password Solution) задействует необратимое расширение схемы AD (Active Directory).

Шаг №1: Авторизуюсь на домен контроллере и проверю что все обновления либо из интернета, либо через WSUS установлены на систему. Обновления важны, позволяют избежать или приобрести новый функционал. Хм.

Шаг №2: Открываю браузер и скачиваю LAPS + документацию к нему.

Скачать LAPS и документацию к ней можно с этой страницы: https://www.microsoft.com/en-us/download/details.aspx?id=46899

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

Устанавливать буду все компоненты:

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

Устанавливаю LAPS на домен контроллер srv-dc

Шаг №3: Что входит в расширение схемы при текущей задаче внедрения LAPS. Это добавление двух записей в объект компьютера:

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

Чтобы расширить схему: (Текущая учетная запись из под которой Вы авторизованы на домен контроллер должна быть включена в группу «Schema Admins»)

Шаг №4: Из документации становится понятно, что внедренный LAPS хранит пароль локального администратора на рабочих местах в добавленном атрибуте (ms-MCS-AdmPwd), правда в Plain Text (чистом виде). Из исходя из этой информации нужно средствами Active Directory ограничить просмотр столь важной информации для всех кроме определенных администраторов домена.

OU = Marketing → это область где будут находиться компьютеры отдела «Маркетинга» и ее нужно защитить.

Чтобы оградить определенных пользователей/групп (к примеру рассмотрю для: CN=helpdesk,OU=IT,DC=polygon,DC=local) на доступ к атрибутам с правами чтения настройки производятся через утилиту «ADSI Edit».

Win + X → Control Panel — View by: Category → Small icons → Administrative Tools — ADSI Edit — ADSI Edit (через правый клик), выбираю «Connect to...»

  • Name: Default naming context
  • Path: LDAP://srv-dc.polygon.local/Default naming context
  • Select a well known Naming Context: Default naming context
  • Default (Domain or server that you logged in to): отмечаю

и нажимаю «ОК», разворачию доменную структуру и через правый клик мышью на OU=Marketing открываю Properties (Свойства) — вкладка Security — Advanced — в дефолтной вкладке Permissions нажимаю Add -

  • Principal: Select a principal

и указываю группу helpdesk

  • Type: Allowed
  • Applies to: This object and all descendant objects

Permissions (указываю права доступа)

  • All extended rights — галочку снимаю и не ставлю
  • List contents: отмечаю галочкой
  • Read all properties: отмечаю галочкой
  • Read permissons: отмечаю галочкой

и нажимаю Ok окна «Permission Entry for Marketing», потом Apply — OK.

На заметку: По выше приведенным действиям ограничиваем доступ к расширенным атрибутам необходимых OU с компьютерами.

Но это еще не все! Теперь нужно организовать права для учетных записей компьютеров с целью изменения значений атрибутов: ms-MCS-AdmPwd и ms-MCS-AdmPwdExpirationTime — самим компьютерам:

Шаг №5: В предыдущем шаги я показал, как ограничивать доступ к атрибутам, сейчас же задача обратная, дать доступ (пользователям/группе (CN=helpdeskread,OU=IT,DC=polygon,DC=local)) на чтение паролей компьютеров указанной OU.

Проверяю, а какие сейчас права на OU=Marketing

На заметку: Есть возможность дать определенной группе (CN=helpdeskwrite,OU=IT,DC=polygon,DC=local) пользователей права на изменение пароля компьютера:

Шаг №6: Следующий шаг — это шаг создания объекта групповой политики и назначить его на OU внутри которой располагаются компьютеры которыми и будет осуществляться управление.

  • AdmPwd.adms → шаблоны GPO
  • AdmPwd.adml → языковый файл

Но увы почему-то система не находит нужно коммандлет для создания GPO:

Ладно не буду пока заострять внимание почему ошибка, а просто через оснастку Group Policy Management создам GPO:

Win + X → Control Panel — Administrative Tools — Group Policy Management — и создаю GPO (GPO_Password_Administrador_Local) на OU=Marketing, открыв ее на редактирование вижу доступные опции

Настройки для GPO - их немного.

 

Как видно настроек не много, но все они по существу:

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

Активирую настройки

1) Enable local admin password management: Enabled

2) Password Settings:

Complexity: Large letters, small letters, numbers, specials

Length: 13 characters

Age: 30 days

3) Name of administrator account to manage: указываю Administrator

Шаг №7: Теперь когда политика готова, проверим как она работает. Для этого берем доменный компьютер и помещаем его в OU=Marketing

Установка агента на компьютер может выполняться несколькими способами

  • Установка вручную (bat, powershell и т.д.)
  • Установка через GPO (Active Directory)
  • Установка через SCCM

Мне интересен способ установки через GPO применяя msi пакет

Устанавливаю агент LAPS на клиентские системы определенной OU

Также добавляем установку пакета для x86 систем, по принципу как обычно, а после через свойства опубликованного приложения отмечаем галочкой:

Select deployment method: Assigned

вкладка Deployment — Adanced… - и убираем/проверям отсутствие галочки у

«Make this 32-bit x86 application available to Win64 machines»

Итак в OU=Marketing находится компьютер W7X641, компьютер перезагружен. Проверяю, что на его системе в оснастке «Программы и компоненты» есть установленное через GPO приложение, если это пока не так, то обновляем GPO:

Включены некоторые политики компьютера, выполняющиеся только при загрузке

компьютера.

Перезагрузить компьютер? (Y/N) Y

После перезагрузки снова проверяю установилось ли приложение: «Loal Administrator Password Solution» — как вижу на представленном скриншоте ниже , ответ положителен.

Агент LAPS на клиентской системе установлен

Проверяю с домен контроллер где у меня установлены все компоненты LAPS посредством утилиты «LAPS UI» какой пароль сейчас на компьютере:

Win + щелкаю на значок лупы и набираю «laps ui» следом происходит совпадение с имеющимися по имени.

Через LAPS UI можно отобразить пароль локального администратора на любой системе OU

Щелкаю левой кнопкой мыши по «LAPS UI» и, и что и, указываю имя компьютера, к сожаления нельзя ввести первые буквы именования дабы утилита сама дополнила при нажатии кнопки Search, а раз так, то получается очень ограниченный функционал у утилиты. Ну да ладно. Вот так выглядит извлечение информации по определенному компьютеру:

Информацию по паролю на удаленном компьютере, даты его окончания.

в моем случае пароля нет. Проверяю, что говорят логи на компьютере после перезагрузки. Если бы было все так просто. В моем случае я через GPO указал что локальная учетная запись администратора — это Administrator, но как я понял нет трансформации Administrator = Администратор на ПК и в следствии этого получил на W7X641 ошибку вида:

Журналы Windows — Приложение

  • Источник: AdmPwd
  • Код события: 3
  • Уровень: Ошибка
  • Описание: Could not get local Administrator account. Error 0x80070534.

Исходя из этого меня в GPO именование учетной записи локального администратора на «Администратор», затем gpupdate /force, shutdown /r /t 3

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

Перезагружаю компьютер и проверяю, вроде как есть возможность прочитать пароль из атрибутов AD через PowerShell:

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

вижу, что с учетом настроек GPO сгенерировался пароль: JSA4[ay)4Rv7-

А если все же проверить через оснастку Active Directory Users and Computers — CN=W7X64 - Properties — Attribute Editor

  • Attribute: ms-Mcs-AdmPwd
  • Value: JSA4[ay)4Rv7-

Ответ да, это пароль. Проверяю на ПК если авторизоваться с его помощью — и авторизация происходит.

Если в GPO выключить настройку Password Settings, а задать пароль через атрибуты (к примеру Aa1234567), то смогу ли я зайти в систему — почему-то ПК не применяет изменения. Возможно я чего-то не понимаю, а значит мне нужно прочитать файл справки, к примеру LAPS_OperationsGuide.docx — и из него узнаю, что задать свой вроде как нельзя. Цель данного приложения LAPS — это централизованное назначение пароля через политики GPO на подконтрольные компьютеры в домене, а для обозначенных учетных записей или групп даются разрешения кто может его посмотреть.

Шаг №8: Допустим в структуре информационных технологий увольняется системный администратор или администратор технической поддержке или по другому поводу/происшествию и нужно сгенерировать новые пароли на всех компьютерах определенной OU:

Чтобы вывести сгенерированные новые пароли для OU=Marketing:

Как видно у рабочих станций W7X642 & W7X643 нет пароля, в моем случае я просто на будущее создал объекты компьютеров без действующих компьютеров, как только они будут введены в домен то им присвоится пароль.

Так а если создать объект W10X64 компьютера в OU=Marketing и ввести живую станцию с таким именем в домен, а затем посмотреть какой у нее пароль на учетную запись администратора:

Плохо лишь одно, что для новой системы в OU будет с учетом политики GPO создан свой пароль, а не единый, значит опять запускать перегенерацию? Ответа на этот вопрос я пока не нашел. А?! смысл LAPS чтобы каждая станция была защищена персональным паролем — и как в там случае работать поддержке.

Итого! Я для себя разобрал как использовать LAPS в доменной структуре на базе Windows Server 2012 R2 и мой вывод, да! Можно использовать, но как всегда предстоит многое адаптировать к существующим реалиям.

На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.