Создание отчетов о безопасности Active Directory с помощью PowerShell

Обеспечение безопасности среды Active Directory (AD) имеет важное значение по нескольким причинам. Прежде всего, Active Directory является центральным компонентом сетей многих организаций и содержит огромное количество конфиденциальной информации о пользователях, компьютерах и других сетевых ресурсах. Если эта информация попадет не в те руки, она может быть использована для компрометации безопасности всей сети.

В этой статье рассматриваются различные способы защиты нашей среды Active Directory с помощью PowerShell.

Давайте начнем с создания отчетов о безопасности Active Directory с помощью PowerShell.

Создание отчетов о безопасности Active Directory с помощью PowerShell

Предварительные требованияНекоторые команды в этой статье будут использовать команды Active Directory. Поэтому в этой статье нам необходимо установить необходимые компоненты:

Некоторые команды в этой статье будут использовать команды Active Directory. Итак, в этой статье нам нужно установить предварительно необходимые компоненты:

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

Install-Module ActiveDirectory
Import-Module ActiveDirectory

Различные методы защиты Active Directory

Существует несколько способов защиты нашей среды Active Directory. В следующем разделе мы обсудим некоторые способы защиты нашей инфраструктуры Active Directory.

Применение политик тонкой настройки паролей и блокировки учетных записей

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

Используйте следующие PowerShell команды для создания подробной политики паролей и блокировки учетных записей на системе с установленным и импортированным модулем AD для Windows PowerShell.

Сценарий политики блокировки:

New-ADFineGrainedPasswordPolicy PolicyName -ComplexityEnabled $true -LockoutThreshold "3" -MaxPasswordAge "30.00:00:00" -MinPasswordLength "14" -PasswordHistoryCount "20" -Precedence "1" -ReversibleEncryptionEnabled $false -ProtectedFromAccidentalDeletion $true

Сценарий подробной политики паролей:

Add-ADFineGrainedPasswordPolicySubject PolicyName -Subjects GroupName

Посмотрите на атрибут msDS-ResultantPSO учетной записи пользователя, чтобы определить, какая тонкая настройка пароля и политика блокировки учетной записи применяется. В дополнение, он показывает ссылку на политику пароля, которая участвует. Для этого мы также можем использовать Get-ADUserResultantPasswordPolicy PowerShell командлет.

Управление моментальными снимками Active Directory

Моментальные снимки для Active Directory могут быть полезны в сценариях, когда организация должна сравнивать информацию из определенного времени (время, когда мы сделали снимок) с данными из другой точки во времени.

A functional Active Directory VSS Writer and the Volume Shadow Copy functionality are required to create an Active Directory snapshot. These features come standard with Windows Server.

Войдите в доменный контроллер (DC) с учетной записью пользователя, которая принадлежит группам Администраторы домена или Операторы резервного копирования, чтобы работать со снимками. После входа откройте командную строку и попробуйте следующие шаги.

Для создания снимка Active Directory с помощью PowerShell, мы можем использовать Export-DSSnapshot команду:

Export-DSSnapshot -Path

После этого, если вы хотите просмотреть все снимки Active Directory с помощью PowerShell, мы можем использовать Get-DSSnapshot команду:

Get-DSSnapshot -Path

Затем, для монтирования снимка Active Directory с помощью PowerShell, мы используем команду Mount-DSSnapshot. Например, следующая команда монтирует снимок с указанным идентификатором из указанного места:

Mount-DSSnapshot -Path  -Identity

Вышеупомянутая команда PowerShell выведет место, где база данных смонтирована. Чтобы предоставить ее как хранилище LDAP, запустите эту команду:

dsamain.exe -dpbath "" -LDAPport

Держите эту команду в работе, пока мы хотим, чтобы LDAP Server работал. Чтобы искать информацию, используйте AD Module для командлетов Windows PowerShell. Введите параметр -Server и имя хоста сервера и номер порта, разделенные точкой с запятой, следующим образом:

Get-ADComputer -Identity * -Server Localhost:PortNumber

В качестве альтернативы мы используем дополнительные инструменты Active Directory, такие как ldifde.exe и csvde.exe для переноса информации между снимками и Active Directory. К сожалению, нет встроенных инструментов для выполнения таких типов операций.

Управление удаленными объектами Active Directory

В целом, процесс захоронения объектов Active Directory позволяет доменным контроллерам реплицировать удаление. Когда включен AD Recycle Bin, DC реплицирует удаленные объекты перед тем, как они будут захоронены.

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

На системе с установленным AD Module для Windows PowerShell используйте следующие команды PowerShell для просмотра удаленных объектов AD для домена:

Get-ADObject -IncludeDeletedObjects -Filter *

Кроме того, чтобы восстановить удаленный AD объект, используйте следующие командлеты PowerShell на системе с установленным AD Windows PowerShell Module:

Get-ADObject -Filter { displayName -eq "" } - IncludeDeletedObjects |
Restore-ADObject

Сброс пароля учетной записи службы Kerberos в AD

В каждом домене Active Directory в многодоменной среде есть учетная запись KRBTGT, которую используют все доменные контроллеры с полным доступом для записи. Кроме того, мы индивидуально назначаем учетные записи KRBTGT каждому контроллеру домена только для чтения.

Получение доступа к учетной записи Kerberos приводит к потере безопасности Kerberos и журнала аудита.

Конечно, если вы хотите сбросить пароль для учетной записи службы, войдите в DC с правами Администратора домена и выполните следующее:

Set-ADAccountPassword -Identity (Get-ADUser krbtgt).DistinguishedName -Reset -NewPassword (ConvertTo-SecureString "" -AsPlainText -Force)

Другие способы обеспечения безопасности среды AD

Существует множество других способов обеспечить безопасность Active Directory, и мы упомянули несколько из них. Однако для объяснения всех это потребуется еще несколько статей, поэтому вот список концепций о том, что мы можем сделать для обеспечения безопасности вашей среды Active Directory:

  • Резервное копирование и восстановление GPO и базы данных AD (NTDS)
  • Управление режимом восстановления служб каталогов (DSRM) паролями на контроллерах домена.
  • Реализация решения для локального административного пароля (LAPS)
  • Работа с групповыми управляемыми учетными записями услуг (gMSA).
  • Использование Security Configuration Wizard (SCW) для обеспечения безопасности контроллеров домена.
  • Управление и мониторинг защищенной группы пользователей.
  • Эффективное использование политик аутентификации и политики изолированных аутентификаций Настройка внешнего интеллектуального блокирования.
  • и многое другое

Теперь давайте перейдем к следующему разделу, где мы обсуждаем экспорт отчетов о безопасности и аудит с использованием PowerShell.

Создание отчетов о безопасности Active Directory с использованием PowerShell

Microsoft представила расширенную политику безопасности аудита в AD несколько итераций назад. Эта функция расширяет возможности аудита в десять категорий:

  • Глобальный доступ к объектам аудит.
  • Учетная запись вход.
  • Управление учетными записями
  • Детальное отслеживание. 
  • Доступ к службам каталогов. 
  • Вход/Выход.
  • Доступ к объектам.
  • Изменение политики.
  • Использование привилегий.
  • и Использование системы.

Для каждой из этих категорий существует несколько вариантов аудита. Более того, политика добавляет записи в Просмотр событий с источником Microsoft Windows безопасности аудита при включении.

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

  1. Откройте Консоль управления групповыми политиками.
  2. Перейдите к узлу Доменных контроллеров домена, где вы хотите настроить политику.
  3. Щелкните правой кнопкой мыши Политика по умолчанию для контроллеров домена и нажмите Редактировать из меню.
  4. Разверните Конфигурация компьютера, нажмите на Политики, нажмите Параметры Windows, нажмите Настройки безопасности, нажмите Расширенная конфигурация политики аудита, нажмите Политики аудита, а затем Доступ к DS.

5. Дважды щелкните параметр Аудит изменений службы каталогов.
6.
Отметьте флажок для настройки событий аудита и выберите успех и неудачу события аудита.
7. Сохраните настройки и закройте экран Свойства.
8. Закройте окно Редактора управления групповыми политиками.

С помощью PowerShell, Get-WinEvent команда позволяет системным аудиторам настраивать расширенные фильтры. Например, следующая простая однострочная команда запросит все журналы безопасности и экспортирует их в файл CSV в качестве сгенерированного отчета.

Get-WinEvent -FilterHashtable @{LogName="Security"} | Export-Csv -Path .\Security.csv -NoTypeInformation

Файл CSV должен выглядеть следующим образом:

Копирование событий аудита из журналов просмотра событий контроллера домена в централизованное решение по управлению безопасностью и событиями (SIEM) является рекомендуемой практикой.

Спасибо за прочтение статьи “Создание отчетов о безопасности Active Directory с помощью PowerShell”. Мы завершаем эту статью сейчас.

Заключение: Создание отчетов о безопасности Active Directory с помощью PowerShell

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

Source:
https://infrasos.com/create-active-directory-security-reports-with-powershell/