среда, 3 июня 2015 г.

LAPS - MS Local Administrator Password Solution – управление паролями локальных администраторов в домене

Безопасность локальных учетных записей Администратора, на компьютерах в домене, всегда очень важный вопрос. Для регулировки доступа к этой учетной записи, ранее, использовалась групповая политика, которая позволяла управлять локальными учетными записями пользователей вплоть до изменения на них паролей. Но в мае 2014 года Microsoft выпустила обновление, которое отключает функционал смены паролей. Т.к. этот функционал признан уязвимым.
Сейчас существует множество вариантов "на коленке", в т.ч. с использованием IIS, скриптов и т д. Однако существует прекрасная утилита, которая позволяет раз и навсегда решить этот вопрос и управлять паролями не только централизованно, но и всевозможно ограничивать доступ к просмотру информации. Встречайте: LAPS !



Скачиваем LAPS с официального источника на этой странице: https://www.microsoft.com/en-us/download/details.aspx?id=46899
Или на странице самого продукта: https://code.msdn.microsoft.com/windowsapps/Solution-for-management-of-ae44e789
На странице можно найти различные ответы на вопросы (на англ.),  а также скачать исходники и свежую версию инсталлера.

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

В скаченном дистрибутиве имеется 2 установочных файла msi для 32 и 64-битных систем.

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

Важно! По воле случая, работа скриптов тестировалась на 2 системах различной битности.
Windows 10; Windows 8 В данном случаем - Windows 10 - по непонятным на то причинам - отказалась работать с модулем AdmPwd.PS в PowerShell Поэтому рекомендуется устанавливать на систему Windows 8 Или Windows 7 или-же использовать серверную платформу. 2008-2012-2012R2

При запуске инсталлятора доступны 5 компонентов:

1. AdmPwd GPO Extension - исполняемая часть LAPS
2. Management Tools - компоненты управления:
  • Fat client UI - Утилита для просмотра пароля
  • PowerShell module - модуль Powershell для управления LAPS
  • GPO Editor templates - административные шаблоны, для редактора групповой политики
На контроллере домена необходимо установить компонент GPO Editor templates (для того, чтобы необходимый шаблон появился в списке доступных GPO)
Все остальное можно ставить в т.ч. на компьютере администратора, откуда планируется управление GUI и установка скриптов, с обновлением схемы AD. 

После установки ,с помощью PS, нам необходимо добавить 2 новых атрибута для объектов типа компьютер в AD. 
ms-MCS-AdmPwd - атрибут содержит пароль локального администратора в открытом виде
ms-MCS-AdmPwdExpirationTime - дата истечения срока действия пароля

Для расширения схемы и добавления данных атрибутов - импортируем модуль AdmPwd.PS
Import-Module AdmPwd.PS


После импорта модуля - можем посмотреть доступные нам функции:
Get-Help AdmPwd


Расширим схему AD командой: 
Update-AdmPwdADSchema


Регулировка прав на доступ к атрибутам

В силу того, что пароль и дата истечения пароля будут храниться в открытом виде - необходимо определиться кому будут доступны права на просмотр, а кому это лучше не видеть. 
Подробный процесс разрешения и отнятия прав на просмотр атрибутов описан в оф. документации (в файлах архива, который вы скачиваете). 
Мы лишь убедимся в том, что этими правами не награжден никто посторонний для OU=Computers (или другого вашего каталога)

Выполняем команду: 
Find-AdmPwdExtendedRights -Identity Computers | Format-Table ExtendedRightHolders


И как мы можем видеть - права доступа имеются лишь у группы Администраторов Домена. 
Нас это вполне устраивает. 
Как удалять - так и добавлять :) Поэтому, существует также возможность добавить разрешение определенным группам, на чтение этих атрибутов. Но нам это не трубуется, а значит переходим к следующей настройке. 

Разрешение для объектов "компьютер"

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

Set-AdmPwdComputerSelfPermission -OrgUnit Computers


Теперь все компьютеры в OU=Computers наделены правами модификации собственных атрибутов. 

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

В ранних версиях - было необходимо выполнять команды в PowerShell для добавления шаблона и создания новой политики LAPS. Но теперь - достаточно запустить инсталлятор LAPS на контроллере домена и выбрать GPO Editor templates для установки. Больше на контроллер домена из набора этого инсталлятора - ставить ничего не нужно. 
Открываем консоль GPO, создаем новую политику (например Password_Administrator_Local) и находим уже имеющийся там шаблон настройки LAPS. 
Конфигурация компьютера -> Политики -> Административные шаблоны -> LAPS 

И там мы видим 4 параметра, которые осталось сконфигурировать для работы LAPS. 
Password Settings: Включено. Password Complexity (сложность), Password Lenght (длина) & Password Age (срок истечения) (days) выбираете на свой вкус и цвет. 
Name of administrator account to manage: Не меняйте этот параметр, даже если у вас учетная запись переименована. Т.к. LAPS определит ее по SIP - 500. Но если вам необходимо использовать LAPS для иных учетных записей - то указывайте в этом параметре имя пользователя, для которого будет применяться политика. 
Do not allow password exp...: Включено
Enable local admin password management: Включено.

Теперь необходимо добавить в эту политику возможность установки клиента LAPS на клиентские компьютеры. Используем для этого средства Установки программ через GPO.
Размещаем msi клиент в общедоступной папке (например в SYSVOL) и переходим в Конфигурация компьютера -> Политики -> Конфигурация программ ->Установка программ.
Создаем пакет установки и указываем путь к нашему msi.


Теперь наш пакет будет установлен при перезагрузке компьютеров, находящихся в OU=Computers и наша политика будет применена.
Работу политики можно увидеть несколькими способами.
На клиентской машине, в журнале событий Приложенеий - создается запись при смене папроля (Event ID: 12, Source: AdmPwd) и при сохранении пароля в атрибуте (Event ID:13, Source: AdmPwd). В атрибутах компьютера можно наблюдать пароль и штамп даты в открытом виде:


Утилита LAPS UI

Запустив данную утилиту с правами Администратора домена (только эта группа по нашим правилам имеет просматривать атрибуты с открытым паролем) - нам достаточно ввести имя компьютера и нажать Search, чтобы увидеть установленный пароль и дату его истечения.


На этом всё. С помощью этого удобного и полезного инструмента - управление локальными паролями на компьютерах в домене, становится комфортным и практичным! Успехов!

Эта статья написана по образу и подобию вот этого ресурса.