
Инструментарий PowerShell для аудита AD CS на основе инструментария PSPKI.
Набор инструментов PowerShell для аудита служб сертификации Active Directory (AD CS).
Он построен на основе набора инструментов PSPKI от PKISolution (лицензия Microsoft Public License). Этот репозиторий содержит более новую версию PSPKI, чем доступна в PSGallery (см. каталог PSPKI). Vadims Podans (создатель PSPKI) любезно предоставил эту версию, так как она содержит исправления нескольких ошибок.
Этот README предназначен только в качестве отправной точки — полные сведения и рекомендации по защите см. в техническом документе «Certified Pre-Owned».
Модуль содержит следующие основные функции:
ПРЕДУПРЕЖДЕНИЕ: Этот код находится в стадии бета-тестирования! Мы уверены, что Invoke-PKIAudit не повлияет на среду, поскольку объем запрашиваемых данных довольно ограничен. Мы не проводили тщательного тестирования Get-CertRequest на типичных рабочих нагрузках ЦС. Get-CertRequest напрямую запрашивает базу данных ЦС и может обрабатывать тысячи результатов, что может повлиять на производительность.
ЕСЛИ РЕЗУЛЬТАТОВ НЕТ, ЭТО НЕ ГАРАНТИРУЕТ БЕЗОПАСНОСТЬ ВАШЕЙ СРЕДЫ!!
А ТАКЖЕ МЫ НЕ МОЖЕМ ГАРАНТИРОВАТЬ, ЧТО НАШИ РЕКОМЕНДАЦИИ ПО УСТРАНЕНИЮ УЯЗВИМОСТЕЙ СДЕЛАЮТ ВАШУ СРЕДУ БЕЗОПАСНОЙ ИЛИ НЕ НАРУШАТ РАБОТУ!
Ваша обязанность — проконсультироваться с вашими командами Active Directory/PKI/Архитектуры, чтобы определить лучшие меры по устранению уязвимостей для вашей среды.
Если код сломается или мы что-то упустили, отправьте issue или pull request для исправления!
Установите следующее на машине Windows с помощью повышенной командной строки PowerShell (версия PowerShell 5.1 или выше):
* Модуль [PSPKI PowerShell](https://github.com/PKISolutions/PSPKI). Установите с помощью следующей команды:```
Install-Module -Name PSPKI
Загрузите модуль и извлеките его в папку. Затем импортируйте модуль с помощью следующих команд:``` cd PSPKIAudit Get-ChildItem -Recurse | Unblock-File
Import-Module .\PSPKIAudit.psd1
# Аудит неправильных конфигураций AD CS
Запуск `Invoke-PKIAudit` выполнит все проверки аудита AD CS в текущем домене, включая перечисление различных настроек Центра сертификации и Шаблонов сертификатов. Для аудита конкретного ЦС можно выполнить `Invoke-PKIAudit -CAComputerName CA.DOMAIN.COM` или `Invoke-PKIAudit -CAName X-Y-Z`.
Любые неправильные конфигурации (ESC1-8) будут отображаться в виде свойств в результатах ЦС/шаблонов, чтобы определить конкретную найденную проблему.
Если вы хотите изменить группы/пользователей, используемые для проверки прав на enrollment/доступ, измените регулярное выражение `$CommonLowprivPrincipals` в начале файла `Invoke-PKIAudit.ps1`.
Если вы хотите экспортировать всю информацию о ЦС в CSV, выполните: `Get-AuditCertificateAuthority [-CAComputerName CA.DOMAIN.COM | -CAName X-Y-Z] | Export-Csv -NoTypeInformation CAs.csv`
Если вы хотите экспортировать ВСЕ опубликованные шаблоны в CSV (а не только уязвимые), выполните: `Get-AuditCertificateTemplate [-CAComputerName CA.DOMAIN.COM | -CAName X-Y-Z] | Export-Csv -NoTypeInformation templates.csv`
## Пояснение к выводу
Вывод содержит два основных раздела: сведения об обнаруженных ЦС и сведения о потенциально уязвимых шаблонах.
Для результатов по центрам сертификации:
| Свойство центра сертификации | Описание |
| ---------------------------- | --------------------------------------------------------------------------- |
| ComputerName | Система, на которой работает ЦС. |
| CAName | Имя ЦС. |
| ConfigString | Полная строка конфигурации КОМПЬЮТЕР\ИМЯ_ЦС. |
| IsRoot | Является ли ЦС корневым. |
| AllowsUserSuppliedSans | Установлен ли для ЦС флаг `EDITF_ATTRIBUTESUBJECTALTNAME2`. |
| VulnerableACL | Имеет ли ЦС уязвимые настройки ACL. |
| EnrollmentPrincipals | Участники, имеющие привилегию `Enroll` на уровне ЦС. |
| EnrollmentEndpoints | Конечные точки регистрации веб-служб ЦС. |
| NTLMEnrollmentEndpoints | Конечные точки регистрации веб-служб ЦС с включенным NTLM. |
| DACL | Полная информация об управлении доступом. |
| Misconfigurations | ESCX, указывающая на конкретную неправильную конфигурацию (если есть). |
Для результатов по шаблонам сертификатов: