Блог
0 0 голоса
Рейтинг

Настройка политики паролей в Active Directory по умолчанию позволяет устанавливать минимальные требования к длине, сложности и повторяемости паролей. Однако даже включение опции Сложный пароль, требующей использования минимум трех типов символов (буквы верхнего и нижнего регистра, цифры, специальные символы), не предотвращает использование слабых паролей, таких как 123Qwert, Pa$$w0rd или Password2025. В этой статье мы разберем, как использовать open-source инструменты PassFiltEx и Lithnet Password Protection для создания списков запрещенных паролей и защиты учетных записей в локальном домене Active Directory от атак методом перебора по словарю.

Приобрести оригинальные ключи активации Windows Server можно у нас в каталоге от 1190 ₽

Использование PassFiltEx для фильтрации простых паролей

PassFiltEx — это легковесная библиотека, которая интегрируется в процесс проверки паролей на контроллере домена и позволяет запретить использование слабых или заранее определенных паролей. Она работает как дополнительный фильтр в процессе LSA (Local Security Authority) при смене пароля пользователя.

Установка и настройка PassFiltEx

Для внедрения PassFiltEx выполните следующие шаги:

1. Скачайте два файла с официальной страницы проекта на GitHub:

PassFiltEx.dll — библиотека фильтра паролей.

PassFiltExBlacklist.txt — текстовый файл для списка запрещенных паролей.

2. Скопируйте оба файла в каталог %SystemRoot%\System32 на контроллере домена.

3. Откройте Редактор реестра (Win+R, введите regedit).

4. Перейдите в раздел:

HKLM\SYSTEM\CurrentControlSet\Control\Lsa

5. Найдите параметр Notification Packages (тип REG_MULTI_SZ).

6. Добавьте строку PassFiltEx в конец списка (без расширения .dll).

7. Перезагрузите контроллер домена, чтобы изменения вступили в силу.

8. Проверьте, что библиотека PassFiltEx.dll загружена процессом lsass:


tasklist /m PassFiltEx.dll

Настройка списка запрещенных паролей

Файл PassFiltExBlacklist.txt содержит список паролей, которые будут запрещены. Важные особенности:

– Файл обновляется каждые 60 секунд, позволяя вносить изменения без перезагрузки.

– Пароли в файле нечувствительны к регистру (например, Password и password считаются одинаковыми).

– Поддержка Unicode-символов отсутствует.

Добавьте в файл PassFiltExBlacklist.txt слова или фразы, которые хотите запретить, например:


password
admin
123456
qwerty

После настройки, если пользователь попытается установить пароль из черного списка, он получит ошибку:

Пароль не соответствует требованиям политики безопасности.

Дополнительные параметры PassFiltEx

Для тонкой настройки создайте раздел реестра HKLM\SOFTWARE\PassFiltEx и добавьте следующие параметры:

1. BlacklistFileName (REG_SZ): Путь к файлу черного списка. По умолчанию: %SystemRoot%\System32\PassFiltExBlacklist.txt.
– Можно указать UNC-путь (например, \\DC\SYSVOL\blacklist.txt) для хранения файла на SYSVOL и репликации между контроллерами.

2. TokenPercentageOfPassword (REG_DWORD): Минимальный процент совпадения пароля с шаблоном из черного списка (по умолчанию 60%).
– Например, если в списке есть Password, пароль Password25 будет заблокирован.

3. Debug (REG_DWORD): Установите значение 1 для включения ведения лога отладки.

4. BlockSequentialChars (REG_DWORD): Установите 1, чтобы запретить последовательности символов (например, abcd, 1234).

5. BlockRepeatingChars (REG_DWORD): Установите 1, чтобы запретить повторяющиеся символы (например, aaaa, 2222).

Если в домене несколько контроллеров домена, повторите установку и настройку PassFiltEx на каждом из них.

Защита с помощью Lithnet Password Protection

Lithnet Password Protection for Active Directory (LPP) — это мощное решение для блокировки слабых и скомпрометированных паролей в Active Directory. Оно поддерживает расширенные политики паролей, фильтрацию по шаблонам, проверку хэшей паролей и интеграцию с базами скомпрометированных паролей, таких как Have I Been Pwned (HIBP). Управление осуществляется через PowerShell и Групповые политики.

Установка агента Lithnet Password Protection

1. Скачайте агент Lithnet Password Protection с официального репозитория GitHub.

2. Установите агент на каждом контроллере домена.

3. Убедитесь, что установка завершена успешно, и проверьте наличие файлов в каталоге:

C:\Program Files\Lithnet\Active Directory Password Protection

Настройка запрещенных паролей через PowerShell

После установки импортируйте модуль LithnetPasswordProtection в PowerShell с правами администратора:


Import-Module LithnetPasswordProtection

Добавьте запрещенное слово или фразу:


Add-BannedWord -Value "admin"

Импортируйте список запрещенных слов из текстового файла:


Import-BannedWords -Filename "C:\Temp\blacklistpwd.txt"

Проверьте, есть ли слово в базе запрещенных:


Test-IsBannedWord -Value admin

Протестируйте пароль на соответствие политике:


Get-PasswordFilterResult -Password "Admin123!" -Username spetrov -Fullname "Sergey Petrov"

Результат Compromised указывает, что пароль содержит запрещенное слово и будет отклонен.

Результат Approved подтверждает, что пароль соответствует политике.

Импорт скомпрометированных паролей

Lithnet Password Protection поддерживает импорт базы скомпрометированных паролей из сервиса Have I Been Pwned, что требует около 8 ГБ свободного места на диске:


Sync-HashesFromHibp

Для периодической синхронизации настройте задачу в Планировщике заданий для выполнения команды Sync-HashesFromHibp.

Альтернативно, импортируйте хэши из текстового файла:


Import-CompromisedPasswordHashes -Filename "C:\Temp\pwned-ntlm-hashs.txt"

Проверьте, есть ли пароль в базе скомпрометированных:


Test-IsCompromisedPassword -Value Adminl0vesY0u

Или проверьте пароль пользователя по UPN:


Test-IsADUserPasswordCompromised -UPN test@softcomputers.org

Репликация базы паролей

Хранилище Lithnet Password Protection представляет собой файловую базу данных в каталоге:

C:\Program Files\Lithnet\Active Directory Password Protection\Store\v3\p

Для репликации между контроллерами домена используется служба DFS-R, что обеспечивает синхронизацию хэшей и настроек.

Настройка через Групповые политики

Для управления Lithnet Password Protection через Групповые политики используйте ADMX-шаблоны, которые находятся в каталоге:

%WINDIR%\PolicyDefinitions

Скопируйте файлы lithnet.activedirectory.passwordfilter.admx, lithnet.admx и соответствующие ADML-файлы \en-us\lithnet.activedirectory.passwordfilter.adml
\en-us\lithnet.adml в центральное хранилище GPO.

Создайте новую GPO для контроллеров домена и настройте следующие параметры в разделе:

Конфигурация компьютера → Административные шаблоны → Lithnet → Password Protection for Active Directory → Default Policy

1. Reject passwords found in the compromised password store: Включите и активируйте флажки Enable for password set и Enable for password change operations.

2. Reject normalized password found in the compromised password store: Включите, чтобы запретить нормализованные варианты паролей (например, SoftComputers и softcomputers).

Примените GPO и перезагрузите контроллеры домена. Это также добавит фильтр lithnetpwdf в реестр в раздел HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Notification Packages.

Проверка результата

После настройки PassFiltEx или Lithnet Password Protection при попытке установить слабый или скомпрометированный пароль пользователь получит ошибку, например:

Пароль не соответствует требованиям политики безопасности (для PassFiltEx).

Или в Windows 11 с Lithnet Password Protection:

Пароль для этой учетной записи не может быть изменен в данный момент.

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

Рекомендации

– Регулярно обновляйте списки запрещенных паролей в PassFiltExBlacklist.txt или базе Lithnet Password Protection.

– Используйте DFS-R или SYSVOL для синхронизации черных списков между контроллерами домена.

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

– Проведите обучение пользователей, чтобы минимизировать обращения в техподдержку из-за отклонения паролей.

Запрет слабых и скомпрометированных паролей в Active Directory с помощью PassFiltEx и Lithnet Password Protection значительно повышает безопасность домена. PassFiltEx подходит для простых сценариев с минимальной настройкой, тогда как Lithnet Password Protection предлагает мощные инструменты для крупных организаций, включая проверку хэшей и интеграцию с GPO. Правильная настройка этих инструментов защитит учетные записи от атак методом перебора и повысит общий уровень безопасности инфраструктуры.

banner for Windows Server
Лицензионный ключ активации Windows Server от
1190 ₽ Купить
0 0 голоса
Рейтинг
Подписаться
Уведомить о
guest
0 отзывов
Межтекстовые Отзывы
Посмотреть все комментарии