Обеспечение безопасности среды Active Directory (AD) имеет важное значение по нескольким причинам. Прежде всего, Active Directory является центральным компонентом сетей многих организаций и содержит огромное количество конфиденциальной информации о пользователях, компьютерах и других сетевых ресурсах. Если эта информация попадет не в те руки, она может быть использована для компрометации безопасности всей сети.
В этой статье рассматриваются различные способы защиты нашей среды Active Directory с помощью PowerShell.
Давайте начнем с создания отчетов о безопасности Active Directory с помощью PowerShell.
Создание отчетов о безопасности Active Directory с помощью PowerShell
Предварительные требования Некоторые команды в этой статье будут использовать команды Active Directory . Поэтому в этой статье нам необходимо установить необходимые компоненты:
Некоторые команды в этой статье будут использовать команды Active Directory. Итак, в этой статье нам нужно установить предварительно необходимые компоненты:
- уровень функциональности домена – Windows Server 2016.
- Средства удаленного администрирования сервера (RSAT) для Active Directory установленные на вашем рабочем месте, присоединенном к домену.
- Последняя PowerShell версия, или, по крайней мере, PowerShell 5.x и выше, требуется для выполнения скриптов.
Прежде чем мы начнем, убедитесь, что у нас есть вышеуказанные предварительные условия и импортируйте модуль 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 безопасности аудита при включении.
Для настройки расширенной политики безопасности аудита выполните следующие шаги:
- Откройте Консоль управления групповыми политиками.
- Перейдите к узлу Доменных контроллеров домена, где вы хотите настроить политику.
- Щелкните правой кнопкой мыши Политика по умолчанию для контроллеров домена и нажмите Редактировать из меню.
- Разверните Конфигурация компьютера, нажмите на Политики, нажмите Параметры 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
Заключение: Создание отчетов о безопасности Active Directory с помощью PowerShell
Кроме вышеуказанных вопросов безопасности, возникают вопросы соответствия и регулирования, если среда Active Directory недостаточно защищена. Например, многие организации должны соответствовать определенным стандартам безопасности данных и конфиденциальности. Несоблюдение безопасности Active Directory может поставить их в опасность невыполнения требований и потенциальных штрафов.
Source:
https://infrasos.com/create-active-directory-security-reports-with-powershell/