Главная

Tuesday, 20 July 2021

LAPS от Microsoft.

Всем привет.

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

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

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

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

LAPS не требует для работы никаких дополнительных средств и инструментов, достаточно только служб Active Directory

Работа с LAPS.

Архитектура решения достаточно проста: средства управления устанавливаются на машину администратора, а на всех целевых системах, серверах и ПК устанавливается клиентская часть.

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

ms-MCS-AdmPwd – атрибут содержит пароль локального администратора в открытом виде;

ms-MCS-AdmPwdExpirationTime – дата истечения срока действия пароля.

Для этого нам необходимо выполнить Import-module AdmPwd.ps и затем команду Update-AdmPwdADSchema. Далее можно приступать к установке административной части. Для ее работы нам необходим NetFramework версии не ниже 4.0.

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

AdmPwd GPO Extension – это исполняемая часть LAPS.

LAPSclient GUI – утилита для просмотра пароля.

PowerShell module – модуль Powershell для управления LAPS.

GPO Editor templates – административные шаблоны для редактора групповой политики.


По умолчанию устанавливаются все модули, и это лучше всего. Дальнейшая установка LAPS достаточно проста и не должна вызывать каких-либо проблем. Далее, перед тем, как установить клиентов LAPS, необходимо правильно настроить групповые политики Active Directory. Дело в том, что хранимые в домене пароли локальных учетных записей может прочесть пользователь с правами All Extended Rights. Соответственно, необходимо ограничить права на чтение для всех OU (Organization Unit), паролями компьютеров в которых будет управлять LAPS.

Назначение прав на доступ к учетным записям для конкретного OU производится следующим образом. В консоли ADSIEdit необходимо подключиться к Default naming context.

В открывшемся дереве необходимо найти нужный OU, нажать на нем правой кнопкой мыши и выбрать Properties. Затем во вкладке Security нажимаем на кнопку Advanced. Выбрав Add, в разделе Select Principal необходимо указать имя группы/пользователя, для которого нужно ограничить права (например, domain\SupportTeam). Для того, чтобы пользователям из этого OU запретить чтение информации о локальных учетных данных, нужно отключить All extended rights и сохранить изменения.

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

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

Set-AdmPwdComputerSelfPermission –OrgUnitDesktops

А для того, чтобы члены группы AdminPwd могли читать пароли, команду:

Set-AdmPwdReadPasswordPermission -OrgUnit Desktops –AllowedPrincipalsAdminPwd

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

Register-AdmPwdWithGPO -GpoIdentity: Pwd_Admin_Local

После этого необходимо перейти в раздел GPO: Computer Configuration / Administrative Templates / LAPS. Далее нужно настроить четыре параметра:

PasswordSettings: Enabled

Complexity: Large letters, small letters, numbers, specials

Length: 14 characters

Age: 30 days

Полученную политику Pwd_Admin_Local необходимо назначить на OU клиентских ПК.  Далее необходимо установить клиентов LAPS.

Установка клиентов.

Существует несколько способов распространения клиентов LAPS: вручную, через задание SCCM , логон-скрипт, создание MSI. Наиболее распространенным способом быстрой установки ПО на большое число компьютеров является использование групповых политик, поэтому в качестве примера рассмотрим именно такой метод распространения клиентов.

Прежде всего необходимо создать на сетевом каталоге общую папку, в которую нужно скопировать дистрибутивы LAPS и установить на нее права на чтение для доменных пользователей. Далее создадим новую политику в консоли Group Policy, и в разделе Computer Configuration / Policies /SoftwareSettings / SoftwareInstallation необходимо создать задание на установку пакета.

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

Как я писал ранее, содержимое атрибута сms-MCS-AdmPwd хранится в открытом виде и легко читается в Powershell:

Get-AdmPwdPassword -ComputerName 'WR-13' | fl

Если Powershell недоступен вам по "техническим" причинам то вас выручит утилита LAPS-GUI. Она ставится из того же MSI-пакета вручную.



И про жизнь. Если вы переводите хост из одного домена в другой или просто выводите хост из домена УЗНАЙТЕ ПРЕЖДЕ всего пароль локального админа. А еще лучше поменяйте его ДО перевода руками. Иначе рискуете получить бездоменный хост с паролем локального админа который вам уже не узнать!

Успехов.

Описание LAPS.

No comments:

Post a Comment

А что вы думаете по этому поводу?