👥 Как запретить использование определенных или скомпрометированных паролей в домене Active Directory? — Information Security Squad
👥 Как запретить использование определенных или скомпрометированных паролей в домене Active Directory?

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

Нередко пользователи задают пароль по форме «Наименование организации + год» или «Наименование организации + год+месяц» или «Инициалы+специальный символ+год», в итоге получаем Gazprom2020, Lukoil052020, или RAD-2019.

С целью запрета использования таких паролей, предлагаю рассмотреть Lithnet Password Protection for Active Directory (LPP) и настроить его с нуля.

Возможности  решения предлагают использование базы хэшей скомпрометированных паролей haveibeenpwned.com.

Мы рассмотрим также создание собственного словаря. Мы будет устанавливать агент на контроллер домена Active Directory.

Однако возможна  установка  на локальном сервере или рабочей станции.

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

I. Требования по установке

  1. Продукт работает только с x64 версиями Windows
  2. Для установке на контроллере домена необходимо членство учетной записи  в группе не ниже Domain Admins.
  3. Скачиваем базу паролей NTLM из списка haveibeenpwned.com pwned password и поместить его на сервер для последующего импорта. (Мы, как говорилось, также будем использовать свой словарь)
  4. Скачиваем последнюю версию LPP с сайта github.
  5. Создаем пользователя для тестирования, он должен быть пользователем домена.  Мы создали пользователя itsecforu. Для локального сервера или рабочей станции — локального пользователя соответственно.

Хранилище LPP имеет файл базы данных хэшей паролей в двоичном формате, чтобы максимизировать скорость, сохраняя при этом пространство.

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

Для теста мы просто положим в папку на контроллере домена.

II. Установка

1.На выбранном сервере DC AD установим агент LPP. При установке выбираем все компоненты, как мы видим установщик содержит модуль PowerShell и шаблон групповой политики (ADMX)

 

 

 

Выберем путь для хранения базы скомпрометированных паролей или паролей по словарю.

Мы выберем локальный дефолтный путь .

Если добавлять базу хэшей HIBP pwned ,то убедитесь, что диск, на котором будет лежать хранилище, имеет достаточно места .

Вам потребуется по крайней мере 6 ГБ дискогового пространства для хранения конвертируемого сроваря хэшей.

 

 

 

3. После установки перезагружаем сервер

4. Далее создаем текстовый файл passwords.txt содержащий пароли, который мы хотим исключить из использования пользователями в домене. Мы добавим один лишь пароль Itsecforu.ru и положим его в папку C:\ProtectedPass.

 

 

 

Далее открываем PowerShell запускаем скрипт:

Import-Module LithnetPasswordProtection

Open-Store 'C:\Program Files\Lithnet\Active Directory Password Protection\Store'

Import-CompromisedPasswords -Filename "C:\ProtectedPass\passwords.txt"
В случае если Вы используете скачанную базу хэшей, то запускаем:
Import-Module LithnetPasswordProtection

Open-Store 'C:\Program Files\Lithnet\Active Directory Password Protection\Store'

Import-CompromisedPasswordHashes -Filename C:\temp\pwned-passwords-ntlm-ordered-by-hash-v4.txt

Скрипт  будет читать текстовый файл и конвертировать хэши в гораздо меньший двоичный формат. Таким образом, в то время как скачанный текстоый файл с хэшами составляет около 20GB в размере,то окончательный размер базы хэшей составит около 6GB.  Этот процесс обычно занимает около 40 минут.

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

Теперь мы можем настроить политику группы, чтобы агент мог проверить пароли по базе сконвертируемой базе хэшей.
Откроем MMC управления политикой группы и создадим  новое GPO и свяжем его с OU, в который находится ваш сервер.
Нет никакого вреда при связке GPO на более высоком уровне в иерархии OU,  так как политика вступает в силу только на машинах, с установленным агентом LPP.
Зададим имя политики pass затем нажмем правой кнопкой мыши на созданной политике и выберем Edit. Перейдем по пути:
Computer Configuration\Administrative Templates\Lithnet\Password Protection for Active Directory\Default Policy
Здесь мы  видим политики, доступные для применения.
Откроем  Reject passwords found in the compromised password store, и выберем включить политику, а также ставим флажки на параметрах enable password set and password change operation

Форсируем применение групповой политики в командной строке выполнив gpudpate /force

IV. Проверяем работу политики
Теперь политика активна, поэтому мы можем взять нашего тестируемого пользователя itsecforu и попытаться сбросить его пароль на пароль, который, как мы знаем, находится в скомпрометированном хранилище паролей.  Пробуем установить пароль Itsecforu.ru
И мы видим, что изменение пароля было отклонено.
К сожалению, сообщения об ошибках Windows не говорят пользователю ничего, кроме стандартного «вы не можете использовать этот пароль».
Поэтому необходимо сообщить пользователям в виде рассылки о том, что задаваемые пароли проверяются на предмет известных скомпрометированных паролей, и если их изменение пароля отклонено, это может быть потому, что они используют пароль, который был скомпрометирован.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *