Поиск по сайту
Интересуешься IT и системным администрированием? Подпишись на наш канал, где мы делимся инсайдами, новостями и практическими советами! Прокачай свои навыки вместе с нами!
Как защитить пароли Active Directory от утечек
Важно понимать: не только последствия опасны, но и время, которое придётся потратить на устранение утечки и анализ повреждений. Поэтому безопасность начинается с простых, но фундаментальных вещей — корректной настройки инфраструктуры и регулярного информирования пользователей о грамотном обращении с учётными данными.
В этой статье мы разберём, как проводить аудит паролей в Active Directory и какие шаги нужно предпринять, чтобы защитить их от взлома и утечек. Вы узнаете, какие слабые места чаще всего используют злоумышленники, и какие методы помогут существенно укрепить защиту корпоративной сети.
Онлайн-курс: Zabbix 6. Мониторинг IT инфраструктуры предприятия.
Курс предлагает глубокое изучение Zabbix 6 и охватывает все ключевые аспекты: от установки и конфигурации до продвинутого мониторинга и автоматизации. Курс подходит как для начинающих, так и для опытных администраторов.
Содержание:
- Аудит и защита паролей учетных записей
- Установка Lithnet Password Protection для Active Directory
- Установка Lithnet Password Protection
- Загрузка списка скомпрометированных паролей (HIBP)
- Проверка базы Lithnet Password Protection
- Проверка скомпрометированных паролей в Active Directory
- Предотвращение использования утёкших и слабых паролей
- Заключение
Аудит и защита паролей учетных записей
Прежде чем перейти к настройкам, важно понимать: безопасность паролей в Active Directory состоит из двух ключевых задач:
- Аудит паролей — необходимо выгрузить и проверить существующие пароли на предмет использования слабых или скомпрометированных (утёкших в результате взломов).
- Защита паролей — нужно внедрить такую политику, которая не позволит пользователям и администраторам создавать слабые или ранее утёкшие пароли.
Чтобы выполнить оба этих шага, мы будем использовать Lithnet Password Protection for Active Directory. Этот инструмент позволяет:
- сверять пароли с базой утечек HIBP (Have I Been Pwned),
- блокировать установку паролей, которые были обнаружены в утечках,
- автоматически предотвращать использование легко угадываемых комбинац
Таким образом, вы не только находите текущие риски, но и исключаете их появление в будущем.
Примечание: Если у вас используется гибридная инфраструктура (Active Directory + Microsoft Entra ID / Azure AD), рекомендуется также настроить Microsoft Entra Password Protection для локальной среды, чтобы единая политика безопасности применялась на всех уровнях.
Установка Lithnet Password Protection для Active Directory
Чтобы внедрить защиту паролей с помощью Lithnet Password Protection, выполните шаги, описанные ниже.
Установка Lithnet Password Protection
- Подключитесь к контроллеру домена с административными правами.
- Скачайте дистрибутив Lithnet Password Protection с официального GitHub-репозитория.
Запустите установщик Lithnet Password Protection for Active Directory и пройдите мастер установки. Процесс установки достаточно простой — просто следуйте шагам мастера, выбирая параметры по умолчанию, если у вас нет особых требований.
После завершения установки вы увидите сообщение, подтверждающее успешное развертывание компонента.
Загрузка списка скомпрометированных паролей (HIBP)
Чтобы проверять пароли пользователей на факт утечки, необходимо загрузить актуальную базу скомпрометированных паролей из сервиса HIBP (Have I Been Pwned).
- Документация API
- База скомпрометированных паролей
Lithnet Password Protection позволяет автоматически синхронизировать свою базу с HIBP. Для этого используется команда PowerShell Sync-HashesFromHibp.
Важно: база HIBP обновляется постоянно. Чтобы всегда использовать актуальные данные, синхронизируйте её регулярно — например, раз в неделю или раз в месяц. Удобнее всего создать планировщик задач Windows, который будет выполнять синхронизацию автоматически.
Выполнение синхронизации базы паролей
- Откройте Windows PowerShell от имени администратора.
- Выполните команду:
Sync-HashesFromHibp
Команда начнёт скачивание и обновление локального хранилища хешей паролей Lithnet.
Учтите: база содержит миллионы записей. Время загрузки зависит от скорости канала.
После завершения синхронизации вы увидите сводный отчет с результатами операции. Пример вывода:
OperationStart : 1/23/2024 7:13:35 PM
OperationFinish : 1/23/2024 8:30:35 PM
Duration : 01:17:00.2187755
PagesRetrieved : 1048576
PagesWithChanges : 1048576
PagesUnchanged : 0
NewHashesImported : 931856448
ExistingHashesDiscarded : 0
TotalHashesProcessed : 931856448
Что это означает:
- OperationStart / OperationFinish — время начала и окончания синхронизации.
- Duration — сколько заняла операция.
- PagesRetrieved — количество загруженных «страниц» базы из HIBP.
- PagesWithChanges — все страницы содержали обновлённые данные (значит база была обновлена полностью).
- NewHashesImported — число новых хешей скомпрометированных паролей, добавленных в хранилище Lithnet.
- TotalHashesProcessed — общее количество обработанных хешей.
В примере выше было импортировано более 931 миллионов известных утёкших паролей.
Это и есть основа проверки безопасности: теперь среда Active Directory сможет определить, когда пользователь пытается использовать пароль, который ранее уже был скомпрометирован.
Проверка базы Lithnet Password Protection
После синхронизации необходимо убедиться, что база данных со скомпрометированными паролями успешно создана и готова к работе.
- Откройте Проводник (File Explorer).
- Перейдите по пути:
C:\Program Files\Lithnet\Active Directory Password Protection\Store\v3\p
В этой директории должны находиться файлы базы данных — они содержат хеши утёкших паролей, загруженные из HIBP.
Если файлы присутствуют и занимают значительный объём — значит база успешно сформирована и фильтр паролей готов к работе.
Если папка пустая — синхронизация не прошла или была прервана. В таком случае повторите команду Sync-HashesFromHibp и проверьте, есть ли у сервера доступ в интернет по HTTPS.
Размер хранилища в нашем примере составляет 12,2 ГБ.
Примечание: Размер базы может отличаться — он зависит от актуального объёма данных в HIBP, которая регулярно обновляется и расширяется. Поэтому при следующих синхронизациях размер базы может увеличиваться.
На этом настройка Lithnet Password Protection for Active Directory успешно завершена.
Проверка скомпрометированных паролей в Active Directory
Теперь, когда база HIBP загружена, можно выполнить аудит существующих паролей пользователей в домене и определить, какие из них уже фигурируют в утечках.
- Скачайте скрипт Audit-Passwords.ps1 и разместите его на контроллере домена в каталоге
C:\scripts
- Перед запуском убедитесь, что файл разблокирован, иначе PowerShell может выдать ошибку о недоверенной подписи. Подробнее см. статью: Как исправить ошибку «Отсутствует цифровая подпись» при запуске скрипта PowerShell
- Откройте PowerShell от имени администратора.
- Выполните скрипт:
C:\scripts\.\Audit-Passwords.ps1
Дождитесь завершения проверки — в зависимости от количества учетных записей в AD она может занять некоторое время.
Результат выполнения
- В консоли PowerShell вы увидите список учетных записей, чьи пароли обнаружены среди утёкших.
- Также в каталоге C:\scripts будет создан файл:
get-pwned-users.csv
В нем будет содержаться полный список пользователей с небезопасными паролями — этот файл можно использовать для анализа, отчётности и работы с ответственными подразделениями.
Вот как это выглядит в нашем примере: в списке отображены учетные записи, пароли которых были обнаружены в базе скомпрометированных паролей HIBP. Это означает, что данные пользователи используют пароли, которые ранее уже утекали в сеть и могут быть легко подобраны злоумышленниками.
Предотвращение использования утёкших и слабых паролей
Теперь, когда у нас есть список учетных записей со скомпрометированными паролями, можно уведомить пользователей и попросить их сменить пароль.
Но возникает логичный вопрос: что если пользователь снова установит пароль, который уже есть в базе утечек?
Будете ли вы каждый день или каждую неделю повторять аудит Active Directory и рассылать письма пользователям?
Очевидно, это неудобно, долго и не даёт гарантии безопасности.
Чтобы исключить подобные ситуации, необходимо сделать так, чтобы пользователь в принципе не мог установить пароли из базы HIBP. Для этого на следующем шаге мы настроим групповую политику, которая будет автоматически блокировать попытки создания слабых и скомпрометированных паролей.
Настройка политики безопасности (Group Policy)
Откройте Group Policy Management.
Щёлкните правой кнопкой мыши по контейнеру Domain Controllers и выберите Create a GPO in this domain, and link it here.
Введите название политики LithnetPP и нажмите OK для сохранения.
Щёлкните правой кнопкой мыши по объекту политики LithnetPP и выберите Edit.
В редакторе групповых политик перейдите по пути:
Computer Configuration → Policies → Administrative Templates → Lithnet → Password Protection for Active Directory → Default Policy
Дважды щёлкните Reject passwords found in the compromised password store.
Отметьте параметр Enabled и включите оба пункта:
- Enable for password set operations
- Enable for password change operations
Нажмите OK.
Примечание: В этой политике доступны и другие параметры. При желании вы можете их изучить. Однако помните — чем больше ограничений вы настроите, тем сложнее пользователям будет создавать пароли.
Важно: Перезагрузите контроллер домена, чтобы изменения вступили в силу.
Тестирование паролей и проверка работы политики
Проверьте работу политики и выполните следующие действия:
- Active Directory Users and Computers: создайте нового пользователя с паролем, который есть в списке HIBP, и с паролем, которого там нет.
- Active Directory Users and Computers: сбросьте пароль существующему пользователю — также с паролем из списка HIBP и без него.
- Доменное устройство Windows: войдите под учетной записью и попробуйте изменить пароль, используя пароль из списка HIBP и безопасный пароль.
В данном примере мы покажем только первый вариант.
Откройте Active Directory Users and Computers.
Щёлкните правой кнопкой мыши по учетной записи пользователя и выберите Reset Password.
Введите пароль, который присутствует в списке HIBP.
Также при необходимости вы можете перейти на сайт HIBP Pwned Passwords и проверить, появлялся ли пароль в утечках ранее.
Введите пароль дважды и нажмите OK.
В нашем примере используется пароль Password01.
Появляется ошибка:
Windows не может завершить изменение пароля для пользователя, потому что: Пароль не соответствует требованиям политики паролей. Проверьте минимальную длину пароля, требования к сложности и историю паролей.
Теперь повторите те же действия, но используйте пароль, которого нет в списке утечек.
В этом случае изменение пароля будет выполнено успешно.
Заключение
В этой статье мы разобрали, как провести аудит паролей в Active Directory и защитить их от использования скомпрометированных комбинаций. С помощью Lithnet Password Protection вы можете не только выявить уже утёкшие пароли, но и предотвратить их повторное использование в будущем.
Рекомендуется периодически выполнять аудит и информировать руководство о необходимости усиления политики безопасности, чтобы требования к паролям оставались актуальными и соответствовали уровню угроз.
Не забывайте, что пароль — это только один уровень защиты. Обязательно настроите многофакторную аутентификацию (MFA). Даже если пароль окажется скомпрометирован, дополнительная проверка значительно снизит риск несанкционированного доступа.
Безопасность — это не разовая настройка, а процесс, который требует внимания и контроля. Чем раньше он будет системно внедрён, тем надёжнее будет защищена ваша инфраструктура.
Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Как установить доменные службы Active Directory на Windows Server.
Интересуешься IT и системным администрированием? Подпишись на SysAdminHub в Телеграмм или Макс, чтобы узнавать обо всем первым!
Статья была полезна? Поддержи автора, и благодаря твоей помощи новые материалы будут выходить еще чаще:
