Аудит доменных служб Active Directory в Windows Server 2008 R2
ИТ среда не является статичной. Ежеминутно в системах происходят тысячи изменений, которые требуется отследить и запротоколировать. Чем больше размер и сложность структуры, тем выше вероятность появления ошибок в администрировании и раскрытия данных. Без постоянного анализа изменений (удачных или неудачных) нельзя построить действительно безопасную среду. Администратор всегда должен ответить, кто, когда и что изменил, кому делегированы права, что произошло в случае изменений (удачных или неудачных), каковы значения старых и новых параметров, кто смог или не смог зайти в систему или получить доступ к ресурсу, кто удалил данные и так далее. Аудит изменений стал неотъемлемой частью управления ИТ инфраструктурой, но в организациях не всегда уделяют внимание аудиту, часто из-за технических проблем. Ведь не совсем понятно, что и как нужно отслеживать, да и документация в этом вопросе не всегда помогает. Количество событий, которые необходимо отслеживать, уже само по себе сложность, объемы данных велики, а штатные инструменты не отличаются удобством и способностью упрощать задачу отслеживания. Специалист должен самостоятельно настроить аудит, задав оптимальные параметры аудита, кроме того, на его плечи ложится анализ результатов и построение отчетов по выбранным событиям. Учитывая, что в сети запущено нескольких служб – Active Directory/GPO, Exchange Server, MS SQL Server, виртуальные машины и так далее, генерирующих очень большое количество событий, отобрать из них действительно необходимые, следуя лишь описаниям, очень тяжело.
Как результат, администраторы считают достаточными мероприятия резервного копирования, предпочитая в случае возникновения проблем просто произвести откат к старым настройкам. Решение о внедрении аудита часто принимается только после серьезных происшествий. Далее рассмотрим процесс настройки аудита Active Directory на примере Windows Server 2008 R2.
Аудит Active Directory штатными средствами
В Windows Server 2008 по сравнению с предыдущей Windows Server 2003 обновлены возможности подсистемы аудита, настраиваемые через политики безопасности, а количество отслеживаемых параметров увеличено на 53. В Windows Server 2003 существовала только политика Аудит доступа к службе каталогов, контролировавшая включение и отключение аудита событий службы каталогов. Теперь управлять аудитом можно на уровне категорий. Например, политики аудита Active Directory разделены на 4 категории, в каждой из которых настраиваются специфические параметры:
— Directory Service Access (доступ к службе каталогов);
— Directory Service Changes (изменения службы каталогов);
- Directory Service Replication (репликация службы каталогов);
— Detailed Directory Service Replication (подробная репликация службы каталогов).
При включении глобальной политики аудита Аудит доступа к службе каталогов автоматически активируются все подкатегории политики служб каталогов.
Система аудита в Windows Server 2008 отслеживает все попытки создания, изменения, перемещения и восстановление объектов. В журнал записывается предыдущее и текущее значения измененного атрибута и учетная запись пользователя, выполнившего операцию. Но если при создании объектов для атрибутов использовались параметры по умолчанию, их значения в журнал не заносятся.
ПРИМЕЧАНИЕ: В Windows Server 2003 аудит регистрировал только имя измененного атрибута.
В Windows Server 2008 R2 аудит внедряется при помощи:
— глобальной политики аудита (Global Audit Policy, GAP);
— списка управления доступом (System access control list, SACL) — определяет операции, для которых будет производиться аудит;
— схемы – используется для окончательного формирования списка событий.
По умолчанию для клиентских систем аудит отключен, для серверных активна подкатегория Доступ к службе каталогов Active Directory, остальные отключены. Для включения глобальной политики “Аудит доступа к службе каталогов” (Audit directory service access) необходимо вызвать Редактор управления групповыми политиками перейти в ветку Параметры безопасности/Локальные политики/Политика аудита, где активировать политику и установить контролируемые события (успех, отказ).
Рис.1 Включение политики аудита Directory Service Access
Второй путь — использовать для настройки утилиту командной строки auditpol, получить полный список GAP с установленными параметрами. При помощи auditpol достаточно ввести команду:
> auditpol /list /subcategory:*
Рис.2 Получаем список установок при помощи auditpol
Активируем политику “directory service access”:
> auditpol /set /subcategory:"directory service changes" /success:enable
ПРИМЕЧАНИЕ: Подробные сведения о команде можно получить, запустив ее в виде
auditpol /h
Чтобы не ждать, обновим политику контролера домена:
> gpupdate
Подкатегория политики аудита Доступ к службе каталогов формирует события в журнале безопасности с кодом 4662, которые можно просмотреть при помощи консоли Просмотр событий (Event Viewer) вкладка Журналы Windows – Безопасность.
Рис.3 Просмотр событий при помощи Event Viewer
В качестве альтернативного варианта просмотра событий можно использовать командлет Get-EventLog оболочки PowerShell. Например:
PS> Get-EventLog security | ?{$_.eventid -eq 4662}
ПРИМЕЧАНИЕ: Командлет Get-EventLog может принимать 14 параметров, позволяющих отфильтровать события по определенным критериям: After, AsBaseObject, AsString, Before, ComputerName, EntryType, Index, InstanceID, List, LogName, Message, Newest, Source и UserName.
Рис.4 Получаем список событий при помощи Get-EventLog
Кроме этого, регистрируется ряд других событий 5136 (изменение атрибута), 5137 (создание атрибута), 5138 (отмена удаления атрибута) и 5139 (перемещение атрибута).
Для удобства отбора определенных событий в консоли Просмотр событий используют фильтры и настраиваемые представления, а также подписку, позволяющую собирать данные журналов и с других серверов.
Таблица 1. Список событий аудита событий Active Directory в Windows Server 2008
Проверка учетных данных
ИДЕНТИФИКАТОР Сообщение
4774 Учетная запись была сопоставлена для входа в систему.
4775 Не удалось сопоставить учетную запись для входа в систему.
4776 Предпринята попытка проверить учетные данные для учетной записи контроллера домена.
4777 Не удается проверить учетные данные для учетной записи контроллера домена.
Управление учетной записью компьютера
ИДЕНТИФИКАТОР Сообщение
4741 Создана учетная запись компьютера.
4742 Изменена учетная запись компьютера.
4743 Удалена учетная запись компьютера.
Управление группами рассылки
ИДЕНТИФИКАТОР Сообщение
4744 Создана локальная группа с отключенной проверкой безопасности.
4745 Изменена локальная группа с отключенной проверкой безопасности.
4746 Добавлен пользователь к локальной группе с отключенной проверкой безопасности.
4747 Удален пользователь из локальной группы с отключенной проверкой безопасности.
4748 Удалена локальная группа с отключенной проверкой безопасности.
4749 Создана глобальная группа с отключенной проверкой безопасности.
4750 Изменена глобальная группа с отключенной проверкой безопасности.
4751 Добавлен пользователь к глобальной группе с отключенной проверкой безопасности.
4752 Удален пользователь из глобальной группы с отключенной проверкой безопасности.
4753 Удалена глобальная группа с отключенной проверкой безопасности.
4759 Создана универсальная группа с отключенной проверкой безопасности.
4760 Изменена универсальная группа с отключенной проверкой безопасности.
4761 Член добавлен к универсальной группы с отключенной проверкой безопасности.
4762 Удален пользователь из универсальной группы с отключенной проверкой безопасности.
Другие события управления учетными записями
ИДЕНТИФИКАТОР Сообщение
4739 Изменена политика домена.
4782 Хэш пароля учетной записи доступа к нему.
4793 Был вызван API проверку политики паролей.
Управление группой безопасности
ИДЕНТИФИКАТОР Сообщение
4727 Создана глобальная группа с включенной безопасностью.
4728 Добавлен пользователь к глобальной группе с включенной безопасностью.
4729 Удален пользователь из глобальной группы с включенной безопасностью.
4730 Удалена глобальная группа с включенной безопасностью.
4731 Создана локальная группа с включенной безопасностью.
4732 Добавлен пользователь в локальную группу с включенной безопасностью.
4733 Удален пользователь из локальной группы с включенной безопасностью.
4734 Удалена локальная группа с включенной безопасностью.
4735 Изменена локальная группа с включенной безопасностью.
4737 Изменена глобальная группа с включенной безопасностью.
4754 Создана универсальная группа с включенной безопасностью.
4755 Изменена универсальная группа с включенной безопасностью.
4756 Добавлен пользователь к универсальной группе с включенной безопасностью.
4757 Удален пользователь из универсальной группы с включенной безопасностью.
4758 Удалена универсальная группа с включенной безопасностью.
4764 Изменен тип группы.
Управление учетными записями пользователей
ИДЕНТИФИКАТОР Сообщение
4720 Учетная запись пользователя создана.
4722 Учетная запись пользователя включена.
4723 Изменен пароль учетной записи.
4724 Сброс пароля пользователя.
4725 Учетная запись пользователя отключена.
4726 Учетная запись пользователя удалена.
4738 Изменена учетная запись пользователя.
4740 Учетная запись пользователя заблокирована.
4765 Журнал SID был добавлен к учетной записи.
4766 Не удалось добавить журнал SID учетной записи.
4767 Учетная запись пользователя была разблокирована.
4780 Список управления Доступом был установлен на учетные записи, которые являются членами группы администраторов.
4781 Было изменено имя учетной записи.
4794 Была предпринята попытка задать режим восстановления служб каталогов.
5376 Диспетчер учетных данных: учетные данные были сохранены.
5377 Диспетчер учетных данных: учетные данные были восстановлены из резервной копии.
Другие события
ИДЕНТИФИКАТОР Сообщение
1102 Очищен журнал безопасности
4624 Успешный вход в систему
4625 Не удачный вход в систему
В ветке Политика аудита также активируются и другие возможности (см.рис.1): аудит входа/выхода в систему, аудит управления учетными записями, доступ к объектам, изменения политик и так далее. Например, настроим аудит доступа к объектам на примере папки с общим доступом. Для этого активируем, как рассказано выше, политику Audit object access, затем выбираем папку и вызываем меню Свойства папки, в котором переходим в подпункт Безопасность и нажимаем кнопку Дополнительно. Теперь в открывшемся окне “Дополнительные параметры безопасности для ..” переходим во вкладку Аудит и нажимаем кнопку Изменить и затем Добавить и указываем учетную запись или группу, для которой будет осуществляться аудит. Далее отмечаем отслеживаемые события (выполнение, чтение, создание файлов и др.) и результат (успех или отказ). При помощи списка “Применять” указываем область применения политики аудита. Подтверждаем изменения.
Рис.5 Настраиваем аудит папки с общим доступом
Теперь все указанные операции будут отображаться в журнале безопасности.
Чтобы упростить настройку аудита при большом количестве объектов, следует активировать флажок Наследование параметров от родительского объекта. При этом в поле Унаследовано от будет показан родительский объект, от которого взяты настройки.
Больший контроль событий, записываемых в журнал, достигается применением политики детализированного аудита (Granular Audit Policy), которая настраивается в Параметры безопасности/Локальные политики/Advanced Audit Policy Configuration. Здесь 10 подпунктов:
— Вход учетной записи – аудит проверки учетных данных, службы проверки подлинности Kerberos, операции с билетами службы Kerberos, другие события входа;
— Управление учетными записями – аудит управления группами приложений, учетными записями компьютеров и пользователей, группами безопасности и распространения;
— Подробное отслеживание – событий RPC и DPAPI, создания и завершения процессов;
— Доступ к службе каталогов DS – аудит доступа, изменений, репликации и подробной репликации службы каталогов;
— Вход/выход – аудит блокировки учетных записей, входа и выхода в систему, использования IPSec, сервера политики сети;
— Доступ к объектам – аудит объектов ядра, работы с дескрипторами, событий создаваемых приложениями, служб сертификации, файловой системы, общих папок, платформой фильтрации;
— Изменение политики – изменения политики аудита, проверки подлинности, авторизации, платформы фильтрации, правил службы защиты MPSSVC и другие;
— Использование прав – аудит прав доступа к различным категориям данных;
— Система – аудит целостности системы, изменения и расширения состояния безопасности, драйвера IPSec и других событий;
— Аудит доступа к глобальным объектам – аудит файловой системы и реестра.
Рис.6 Доступные настройки Advanced Audit Policy Configuration
Активация аудита управления учетными записями пользователей позволит отслеживать: создание, изменение, удаление, блокировку, включение и прочие настройки учетных записей, в том числе пароль и разрешения. Посмотрим, как она работает на практике — выбираем подкатегорию User Account Management и активируем. Команда для auditpol выглядит так:
> auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable
> gpudate
Система аудита в консоли Просмотр события сразу покажет событие с номером 4719 Изменение параметров аудита, в котором показаны название политики и новые значения.
Рис.7 Фиксация изменения политики системой аудита
Чтобы создать событие, откроем консоль Active Directory – пользователи и компьютеры и изменим один из параметров любой учетной записи — например, добавим пользователя в группу безопасности. В консоли Просмотра события сразу будут сгенерировано несколько событий: события с номером 4732 и 4735, показывающие изменение состава группы безопасности, и добавление учетной записи новой группы безопасности (на рис.8 выделены фиолетовым).
Создадим новую учетную запись – система генерирует несколько событий: 4720 (создание новой учетной записи), 4724 (попытка сброса пароля учетной записи), несколько событий с кодом 4738 (изменение учетной записи) и, наконец, 4722 (включение новой учетной записи). По данным аудита администратор может отследить старое и новое значение атрибута — например, при создании учетной записи меняется значение UAC.
Рис.8 При создании новой учетной записи система аудита Windows Server 2008 генерирует несколько событий
Недостатки штатной системы аудита
Штатные инструменты операционной системы часто предлагают лишь базовые наборы средств анализа. Официальная документация (http://technet.microsoft.com/ru-ru/library/dd772623(WS.10).aspx) очень подобно расписывает возможности самого инструмента, практически мало помогая в выборе параметров, изменения которых необходимо отслеживать. В итоге решение этой задачи целиком ложится на плечи системного администратора, который должен полностью разбираться в технических аспектах аудита, и зависит от уровня его подготовки, а значит, велика вероятность ошибки. Кроме того, на его плечи ложится анализ результата, построение разнообразных отчетов.
Для удобства выбора определенных событий интерфейс консоли Event Viewer позволяет создавать фильтры и настраиваемые представления. В качестве параметров для отбора данных можно указать: дату, журнал и источник событий, уровень (критическое, предупреждение, ошибка и т.д.), код, пользователя или компьютер и ключевые слова. В организации может быть большое количество пользователей, объединенных в группы и подразделения, для которых аудит необходимо настроить персонально, но данная возможность в интерфейсе не предусмотрена.
Рис. 9 Настройка фильтра событий в консоли Event Viewer
В случае срабатывания правил в настраиваемом представлении можно создать задачу (меню Привязать задачу к событию): запустить программу, отправить сообщение по электронной почте или отобразить сообщение на рабочем столе.
Рис.10 Создание задачи в консоли Event Viewer
Но, опять же, реализация оповещений, в частности выбор событий, полностью лежит на администраторе.
В случае необходимости отката измененного атрибута к предыдущему значению это действие выполняется вручную – консоль лишь показывает значение параметров.
Рис.11 Система аудита Windows Server 2008 только выдает старое и новое значение атрибута, не предоставляя средств для удобного отката
Некоторые стандарты безопасности требуют хранения данных, собранных в процессе аудита, в течение продолжительного времени (например, SOX до 7 лет). Системными средствами реализовать это можно, но очень сложно. Размер журнала безопасности (как и других) ограничен 128 Мб, и при большом количестве событий данные могут быть перезаписаны (т.е. утеряны) уже через несколько часов. Чтобы этого избежать, необходимо вызвать окно свойств журнала в Event Viewer, где увеличить размер журнала и активировать его архивацию, установив флажок в “Архивировать журнал при заполнении. Не перезаписывать события”.
Рис.12 Чтобы не потерять старые события безопасности, следует увеличить размер журнала и включить архивацию
Но теперь необходимо будет решить проблему поиска событий во множестве архивов.
Также стоит отметить, что к недостаткам штатной системы аудита относятся ограниченные возможности мониторинга групповых политик. При том, что факт этого изменения штатными средствами можно отслеживать, не фиксируются значения измененных параметров и, таким образом, нельзя ответить на вопрос, что же именно было изменено и каким стало новое значение. В некоторых ситуациях этого достаточно, но назвать это полноценным аудитом затруднительно.
***
Данная статья является частью «Полного руководства по аудиту Active Directory в Windows Server 2008 R2» [PDF]. Вы можете скачать его по данной ссылке, заполнив небольшую форму.