Развертывание управления паролями локального администратора (LAPS)

Опубликовано: 15 Марта, 2023
Развертывание управления паролями локального администратора (LAPS)

Одним из кошмаров каждого специалиста по безопасности является то, что все рабочие станции и серверы используют одно и то же имя и пароль локального администратора, и как только пароль известен, все рабочие станции/виртуальные машины, которые используют один и тот же пароль, могут быть доступны как локальные администраторы. Думаете, этого не может быть? Поверьте мне, этот сценарий не является надуманным. Несколько компаний, с которыми я работал в последние несколько лет, до сих пор придерживаются этой стратегии. У Microsoft есть инструмент под названием LAPS (Local Administrator Password Solution), который можно применять на рабочих станциях и серверах. Он использует Active Directory для хранения пароля локального администратора, и мы можем определить сложность и частоту смены такого пароля. Используя LAPS, мы можем использовать безопасный, уникальный и сложный пароль для каждого отдельного сервера и рабочей станции и в то же время поддерживать потребности локального администратора со стороны групп службы поддержки.

Как это работает? Это просто. Пара атрибутов будет добавлена в схему Active Directory, и они будут использоваться на уровне объекта-компьютера. В этих атрибутах инструмент запишет пароль и время истечения срока действия. Мы можем контролировать доступ к этим атрибутам, используя ACL (список управления доступом), чтобы обеспечить их безопасность и доступность только для необходимых пользователей.

В этой статье нам предстоит многое осветить, и следующая диаграмма поясняет процесс, которому мы будем следовать, чтобы установить LAPS до того, как вы допьете чашку кофе!

Получение кругов

Первым шагом является загрузка решения LAPS. Пакет содержит два установочных файла (для платформ x64 и x86 соответственно) и три файла, которые документируют все решение и пошаговый процесс установки.

Установка LAPS (сервер управления)

Войдите на сервер, который будет сервером управления. Дважды щелкните файл LABS.x64.msi, который мы скачали на предыдущем шаге. Процесс установки не требует много изменений. Единственная страница — Custom Setup, где мы должны выбрать все доступные инструменты управления, такие как и .

Примечание. Модуль PowerShell установит , который является ключевым для большинства задач, которые мы будем выполнять в этой статье. Сам файл можно найти по адресу C:WindowsSystem32WindowsPowerShellv1.0ModulesAdmPwd.ps.

Настройка серверной среды

Первый шаг — расширить схему Active Directory (вы должны быть администратором схемы) и войти на сервер, на котором мы установили LAPS, запустить PowerShell от имени администратора и запустить эти два командлета PowerShell. Результаты должны быть похожи на изображение, изображенное ниже.

Модуль импорта AdmPwd.ps
Update-AdmPwdADSchema

Результат этого расширения схемы можно проверить с помощью ADSIEdit. Мы можем подключиться к контексту именования по умолчанию, развернуть любую OU, имеющую хотя бы один объект-компьютер, а затем запросить свойство любого объекта-компьютера. В списке атрибутов у нас должны появиться две новые записи: ms-Mcs-AdmPwd (пароль в открытом виде, держи коней, мы можем защитить с помощью ACL!), и ms-Mcs-AdmPwdExpirationTime (когда истечет срок действия пароля).

Еще одна ключевая конфигурация — назначить компьютерам разрешение на запись пароля в Active Directory. Мы можем сделать это вручную, но лучше всего использовать командлет Set-AdmPwdComputerSelfPermission. Нам просто нужно предоставить OU, которому мы хотим назначить это разрешение. В результате объект SELF получит разрешения на запись в атрибутах ms-Mcs-AdmPwd и ms-Mcs-AdmPwdExpirationTime.

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

Управление разрешениями LAPS с помощью PowerShell

На этом этапе у нас есть инструменты управления, установленные на нашем сервере, и инструменты предоставят интерфейс для управления разрешениями в Active Directory. Теоретически мы можем сделать это вручную, но модуль PowerShell со всеми функциями нам в помощь.

Первый командлет, который мы рассмотрим, — это Find-AdmPwdExtendedRights. Чтобы иметь возможность прочитать пароль любого компьютера, на котором установлен и настроен агент LAPS, пользователю требуется разрешение с расширенными правами на объект компьютера.

С помощью этого командлета мы можем составить список всех групп/пользователей, у которых есть это разрешение на уровне организационного подразделения (OU). Мы можем использовать простое имя OU или полный путь (мой вариант). В приведенном ниже примере мы видим, что только администраторы системы и домена смогут читать пароли компьютеров, расположенных в подразделениях CanadaComputers.

Чтобы разрешить пользователям и группам читать пароль, нам нужно назначить соответствующие разрешения, и это можно сделать с помощью командлета Set-AdmPwdReadPasswordPermission. Нам просто нужно указать организационную единицу и группу (группы).

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

Сводка доступных командлетов PowerShell и параметры, необходимые для их работы, описаны в следующей таблице.

командлет Идентификационный параметр Дополнительный параметр
Find-AdmPwdExtendedRights -Identity '<OUPath-or-Name>'
Set — Адмпвдресетпассвордпермиссион -AllowedPrincipals <Группа>
Set — Адмпвдреадпассвордпермиссион
Set-AdmPwdComputerSelfPermission

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

Расширение схемы Active Directory, наличие разрешений на запись атрибутов, являющихся частью решения, является основным требованием. Групповая политика и агент на клиенте обеспечивают выполнение всего, что мы сделали до сих пор.

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

Первый — «Настройки пароля», где мы можем определить сложность, длину и возраст пароля, который будет создан для локального администратора. Второй параметр — имя учетной записи администратора для управления. Здесь мы определяем имя учетной записи, которая уже настроена на ваших серверах и рабочих станциях, если введенное здесь имя не соответствует локальному администратору сервера, который получает политику, произойдет сбой. В параметре «Включить управление паролями локального администратора » мы определяем, собираемся ли мы контролировать управление паролями, и его следует включить.

Установка агента LAPS и тестирование

Используя тот же установочный файл, который мы загрузили в начале этой статьи, нам просто нужно запустить следующую командную строку локально на сервере/рабочей станции, и это установит решение для пароля локального администратора, которое можно проверить в элементе в Панели управления. Мы можем автоматизировать процесс установки с помощью GPO, SCCM и любого другого инструмента, используемого вашим ИТ-отделом.

Визуализация текущего пароля локального администратора

Вам может быть интересно, как мне узнать пароль любой машины с помощью решения, которое мы только что реализовали, верно? Есть несколько способов выполнить эту задачу. Первый использует пользовательский интерфейс LAPS, который был установлен на сервере управления, и просто укажите имя машины, и отобразится пароль (экран в правой части изображения ниже).

Другой вариант — проверить свойства сервера/рабочей станции с помощью Active Directory Users and Computers и найти атрибут , который будет содержать текущий пароль.

Отличная работа! Теперь ваша система более безопасна.