Аудит доступа к объекту файловой системы NTFS.

Любой администратор Windows сталкивался с ситуацией, когда разъяренные пользователи хотят узнать, кто именно удалил мега важный файл с годовым отчетом в общей папке на файловом сервере. Эту информацию можно получить только при условии ведения аудита удаления файлов и папок на файловом сервере, иначе останется только восстановить удаленный файл из резервной копии (а вы их уже делаете?) и развести руками.

Но, даже при включенном аудите удаления файлов, найти что-то в логах бывает проблематично. Во-первых, найти нужную запись среди тысячи событий довольно сложно (в Windows отсутствуют вменяемые средства поиска интересующего события с возможностью гибкой фильтрации), а во-вторых, если файл был удален давно, это событие может просто отсутствовать в журнале, т.к. было перезатерто более новыми.

В этой статье мы покажем пример организации на встроенных средствах Windows системы аудита удаления файлов и папок в общем сетевом каталоге (файловом сервере) с записью событий в отдельную базу данных на MySQL.

Благодаря наличию БД с информацией обо всех удаленных файлах администратор сможет дать ответы на вопросы:

  • Кто и когда удалил файл
  • Из какого приложения удален файл
  • На какой момент времени нужно восстанавливать бэкап

В первую очередь на файловом сервере Windows нужно включить аудит событий, обеспечивающий запись информации об удалении файлов в журнал системы. Эту процедуру мы уже рассматривали в статье .

Аудит может быть включен через общую политику Audit Object Access в разделе политик Security Settings -> Local Policy -> Audit Policy

Или (предпочтительнее) через в GPO: Security Settings -> Advanced Audit Policy Configuration -> Object Access -> Audit File System .

Совет . Ведения аудита накладывает дополнительные расходы на ресурсы системы. Нужно с осторожностью применять его, особенно для высоконагруженных файловых серверов.

В свойствах общей сетевой папки (Security -> Advanced -> Auditing), удаление файлов в котором мы хотим отслеживать, для группы Everyone включим аудит событий удаления папок и файлов (Delete subfolders and files ).

Совет . Аудит удаления файлов в конкретной папке можно включить и через PowerShell:

$Path = "D:\Public"
$AuditChangesRules = New-Object System.Security.AccessControl.FileSystemAuditRule("Everyone", "Delete,DeleteSubdirectoriesAndFiles", "none", "none", "Success")
$Acl = Get-Acl -Path $Path
$Acl.AddAuditRule($AuditChangesRules)
Set-Acl -Path $Path -AclObject $Acl

При успешном удалении файла в журнале безопасности системы появляется событие Event ID 4663 от источника Microsoft Windows security auditing . В описании события есть информация об имени удаленного файла, учетной записи из-под которой было выполнено удаление и имени процесса.

Итак, интересующие нас события пишутся в журнал, настала пора создать на сервере MySQL таблицу, состоящую из следующих полей:

  • Имя сервера
  • Имя удаленного файла
  • Время удаления
  • Имя пользователя, удалившего файл

MySQL запрос на создание такой таблицы будет выглядеть так:

CREATE TABLE track_del (id INT NOT NULL AUTO_INCREMENT, server VARCHAR(100), file_name VARCHAR(255), dt_time DATETIME, user_name VARCHAR(100), PRIMARY KEY (ID));

Скрипт сбора информации из журнала событий. Мы фильтруем журнал по событию с ID 4663 за текущий день



$event = $_.ToXml()
if($event)
{




}
}

Следующий скрипт запишет полученные данные в БД MySQL на удаленном сервере:




$Connection.Open()
$sql = New-Object MySql.Data.MySqlClient.MySqlCommand
$sql.Connection = $Connection
$today = get-date -DisplayHint date -UFormat %Y-%m-%d
Get-WinEvent -FilterHashTable @{LogName="Security";starttime="$today";id=4663} | Foreach {
$event = $_.ToXml()
if($event)
{
$Time = Get-Date $_.TimeCreated -UFormat "%Y-%m-%d %H:%M:%S"
$File = $event.Event.EventData.Data."#text"

$File = $File.Replace(‘\’,’|’)
$User = $event.Event.EventData.Data."#text"
$Computer = $event.Event.System.computer
$sql.CommandText = "INSERT INTO track_del (server,file_name,dt_time,user_name) VALUES ("$Computer","$File","$Time","$User")"
$sql.ExecuteNonQuery()
}
}
$Reader.Close()
$Connection.Close()

Теперь, чтобы узнать, кто удалил файл «document1 — Copy.DOC », достаточно в консоли PowerShell выполнить следующий скрипт.

$DeletedFile = "%document1 - Copy.DOC%"
Set-ExecutionPolicy RemoteSigned
Add-Type –Path ‘C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.8\Assemblies\v4.5\MySql.Data.dll"
$Connection = @{ConnectionString="server=10.7.7.13;uid=posh;pwd=P@ssw0rd;database=aduser"}
$Connection.Open()
$MYSQLCommand = New-Object MySql.Data.MySqlClient.MySqlCommand
$MYSQLDataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter
$MYSQLDataSet = New-Object System.Data.DataSet
$MYSQLCommand.Connection=$Connection
$MYSQLCommand.CommandText="SELECT user_name,dt_time from track_del where file_name LIKE "$DeletedFile""
$MYSQLDataAdapter.SelectCommand=$MYSQLCommand
$NumberOfDataSets=$MYSQLDataAdapter.Fill($MYSQLDataSet, "data")
foreach($DataSet in $MYSQLDataSet.tables)
{
write-host "User:" $DataSet.user_name "at:" $DataSet.dt_time
}
$Connection.Close()

В консоли получаем имя пользователя и время удаления файла.

Примечание . Т.к. была обнаружена проблема, чир символ «\» не записывается в БД, мы заменили его на «|». Соответственно если нужно указать вывести полный путь к файлу, при выборке из базы можно выполнить обратную замену $DataSet.file_name.Replace(‘|’,’\’). Спасибо Alex Kornev за замечание!

Скрипт сброса данных из журнала в БД можно выполнять один раз в конце дня по планировщику или повесить на событие удаления (), что более ресурсоемко. Все зависит от требования к системе.

Совет. Нужно убедиться, что журнал безопасности имеет достаточный размер, чтобы в него помещались все события за день. Иначе придется запускать задания сброса данных из журнала в базу чаще, чем 1 раз в день, или вообще по триггеру. Для рабочих станция Maximum Log Size как правило стоит задать не менее 64 Мб, на северах – 262 Мб. Опцию перезаписи оставляем включенной (Overwrite events as needed ).

При желании по аналогии можно реагировать простую веб страницу на php для получения информации о виновниках удаления файлов в более удобном виде. Задача решается силами любого php программиста за 1-2 часа.

Важный совет . При наличии в журнале информации об удалении файла пользователем не спешите однозначно интерпретировать его как преднамеренное или даже злонамеренное. Многие программы (особенно этим грешат программы пакета MS Office), при сохранении данных сначала создают временный файл, сохраняют документ в него, а старую версию файла удаляют. В этом случае имеет смысл дополнительной записи в БД имени процесса, которым было выполнено удаление файла (поле ProcessName события), и вести анализ удаления файлов с учетом этого факта. Либо совсем радикально отсеивать события от таких мусорных процессов, например, winword.exe, excel.exe и пр.

Итак, мы предложили идею и некий общий каркас системы аудита и хранения информации об удаленных файлах в сетевых шарах, при желании ее с лёгкостью можно будет модифицировать под ваши нужды.

Всем привет!

Продолжаем публиковать шпаргалки по настройке аудита различных систем, в прошлый раз мы говорили об AD habrahabr.ru/company/netwrix/blog/140569 , сегодня обсудим файловые серверы. Надо сказать, что чаще всего мы выполняем именно настройки аудита файловых серверов – в ходе пилотных инсталляций у заказчиков. Ничего сложного в этой задаче нет, всего лишь три простых шага:

  • Настроить аудит на файловых ресурсах (file shares)
  • Настроить и применить общую и детальную политики аудита
  • Изменить настройки журналов событий
Если у вас большое количество файловых шар, доступ к которым часто требуется сотрудникам – рекомендуем контролировать только изменения объектов аудита. Отслеживание всех событий может привести к тому, что в журналы будет попадать большой объем избыточных данных, которые не представляют особой важности.

Настройка аудита на файловых ресурсах

Настройка общей политики аудита

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

Настройка детальной политики аудита

Настройка журналов событий

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

Напоследок, хотели бы предложить вам скрипт, который мы сами используем при настройке аудита на файловых серверах. Скрипт выполняет настройку аудита на всех шарах у каждого из компьютеров в заданном OU . Таким образом, не требуется включать настройки на каждом файловом ресурсе вручную.

Перед запуском скрипта нужно отредактировать строчку 19 - вписать вместо «your_ou_name» и «your_domain» необходимые значения. Скрипт необходимо выполнять от имени учетной записи, имеющей права администратора домена.

Получить скрипт можно в нашей базе знаний или сохранить в файл.ps1 следующий текст:

#import-module activedirectory #$path = $args; # \\fileserver\share\folder $account = "Everyone" # $args; $flavor = "Success,Failure" #$args; $flags = " ReadData, WriteData, AppendData, WriteExtendedAttributes, DeleteSubdirectoriesAndFiles, WriteAttributes, Delete, ChangePermissions, TakeOwnership " $inheritance = "ContainerInherit, ObjectInherit" $propagation = "None" $comps = Get-ADComputer -Filter * -SearchBase "OU=your_ou_name,DC=your_domain,DC=your_domain" | select -exp DNSHostName foreach ($comp in $comps) { $shares = get-wmiobject -class win32_share -computername $comp -filter "type=0 AND name like "%[^$]"" | select -exp name foreach ($share in $shares) { $path = "\\"+$comp+"\"+$share $path $acl = (Get-Item $path).GetAccessControl("Access,Audit") $ace = new-object System.Security.AccessControl.FileSystemAuditRule($account, $flags, $inheritance, $propagation, $flavor) $acl.AddAuditRule($ace) set-acl -path $path -AclObject $acl } }

Цель работы: Приобрести практические навыки при работе с аудитом доступа к ресурсам.

Объём работы:

    Аудит событий.

    Параметры аудита для объектов.

    Выбор объектов для применения элементов аудита.

    Влияние наследования на аудит файлов и папок.

    Просмотр журнала событий.

Теоретические сведения. Аудит: обзор

Аудит – отслеживание действий пользователей путем регистрации событий определенных типов в журнале безопасности сервера или рабочей станции.

Аудит определённых компьютеров, пользователей и событий операционной системы является необходимой частью администрирования сети. Установка параметров аудита возможна в окне свойств файлов, папок, общих папок, принтеров и объектов службы каталогов Active Directory. Аудит позволяет отслеживать и записывать события, связанные с безопасностью, такие как попытки доступа пользователей к защищенным файлам и папкам. После включения аудита в журнал безопасности Windows 2000 заносятся записи при любой попытке доступа к этому объекту. При этом определяется объект аудита, действия, подвергаемые аудиту, и точные типы действий для аудита. После установки аудита можно отслеживать доступ пользователей к определенным объектам и анализировать недостатки системы безопасности. Записи аудита показывают, кто выполнял какие-либо действия и кто пытался выполнить какие-либо неразрешенные действия.

Выберите объекты аудита и, просматривая журналы событий, отслеживайте характеристики их использования, проблемы системы безопасности и тренды сетевого трафика. Но не поддавайтесь искушению контролировать всё на свете. Чем больше событий включается аудит, тем больше становятся журналы. Просмотр огромных журналов событий – тяжёлая работа, а конце концов это надоедает. Поэтому важным моментом является планирование политики аудита, которая будет защищать вашу сеть без излишне большой нагрузки на администратора. Кроме того, следует помнить, что каждое включённое в аудит событие приводит к увеличению непроизводительной нагрузки в системе.

Аудит событий.

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

Установка параметров аудита возможна только для файлов и папок, расположенных на диске, использующем файловую систему NTFS.

события

Описание

Аудит входа

в систему

Активизируется, когда контроллер домена получает запрос входа в систему.

Аудит доступа

к объектам

Активизируется, когда происходит доступ к объекту.

Аудит доступа к службе каталогов

Активизируется, когда происходит доступ к объекту Active Directory.

Аудит изменения

политики

Активизируется, когда происходит модификация политики, влияющей на систему безопасности, права пользователей или выполнение аудита.

использования

привилегий

Активизируется, когда какое-либо право пользователя используется для выполнения какой-либо операции.

отслеживания

процессов

Активизируется, когда приложение выполняет операцию, для которой запущено отслеживание.

Аудит системных событий

Активизируется, когда происходит перезагрузка или отключение компьютера или другое событие, которое влияет на безопасность системы.

Аудит событий входа в систему

Активизируется, когда пользователь выполняет вход в систему или выход из системы.

управления

учётными

записями

Активизируется, когда происходит создание или изменение пользовательской учётной записи или группы.

Добрый день!. Если вы еще не превратились в Шерлока Холмса в вашем домене, то теперь самое время. Ежеминутно в системах происходят тысячи изменений, которые требуется отследить и запротоколировать. Чем больше размер и сложность структуры, тем выше вероятность появления ошибок в администрировании и раскрытия данных. Без постоянного анализа изменений (удачных или неудачных) нельзя построить действительно безопасную среду. Системный администратор всегда должен ответить , кто, когда и что изменил, кому делегированы права, что произошло в случае изменений (удачных или неудачных), каковы значения старых и новых параметров, кто смог или не смог зайти в систему или получить доступ к ресурсу, кто удалил данные и так далее.

Аудит изменений стал неотъемлемой частью управления IT инфраструктурой, но в организациях не всегда уделяют внимание аудиту, часто из-за технических проблем. Ведь не совсем понятно, что и как нужно отслеживать, да и документация в этом вопросе не всегда помогает. Количество событий, которые необходимо отслеживать, уже само по себе сложность, объемы данных велики, а штатные инструменты не отличаются удобством и способностью упрощать задачу отслеживания. Специалист должен самостоятельно настроить аудит, задав оптимальные параметры аудита, кроме того, на его плечи ложится анализ результатов и построение отчетов по выбранным событиям. Учитывая, что в сети запущено нескольких служб – Active Directory/GPO, Exchange Server, MS SQL Server, виртуальные машины и так далее, генерирующих очень большое количество событий, отобрать из них действительно необходимые, следуя лишь описаниям, очень тяжело.

Как результат, администраторы считают достаточными мероприятия резервного копирования, предпочитая в случае возникновения проблем просто произвести откат к старым настройкам. Решение о внедрении аудита часто принимается только после серьезных происшествий. Далее рассмотрим процесс настройки аудита Active Directory на примере Windows Server 2008 R2, все действия описанные в статье будут применимы и к более новы редакциям Windows Server.

Кто должен заниматься аудитом домена Active Directory

Всегда самым насущным вопросом, остается в чей зоне ответственности находится сбор и анализ событий безопасности, которые происходят в домене организации. Как правило в большинстве компаний России, в виду того, что они:

  • Маленькие
  • Не имеющие достаточного количества денег, чтобы нанимать лишний персонал
  • Нет необходимости

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

Аудит Active Directory средствами операционной системы

В операционных системах семейства Windows Server 2008 R2 и выше, по сравнению с предшественниками, такими как Windows Server 2003 обновлены возможности подсистемы аудита, настраиваемые через политики безопасности, а количество отслеживаемых параметров увеличено на 53. В старых ОС существовала только политика Аудит доступа к службе каталогов, контролировавшая включение и отключение аудита событий службы каталогов. Теперь управлять аудитом можно на уровне категорий. Например, политики аудита Active Directory разделены на категории, в каждой из которых настраиваются специфические параметры:

  • Directory Service Access (доступ к службе каталогов);
  • Аудит входов в систему
  • Аудит системных событий
  • Отслеживание процессов
  • Аудит использования привилегий
  • Управление учетными записями и группами
  • Directory Service Changes (изменения службы каталогов);
  • Directory Service Replication (репликация службы каталогов);
  • Detailed Directory Service Replication (подробная репликация службы каталогов).

При включении глобальной политики аудита Аудит доступа к службе каталогов автоматически активируются все подкатегории политики служб каталогов.
Система аудита в Windows Server 2008 R2 отслеживает все попытки создания, изменения, перемещения и восстановление объектов. В журнал записывается предыдущее и текущее значения измененного атрибута и учетная запись пользователя, выполнившего операцию. Но если при создании объектов для атрибутов использовались параметры по умолчанию, их значения в журнал не заносятся.

Включение политики аудита в домене Active Directory

Логично, что домен AD изначально был придуман, для более удобного управления его объектами по всем аспектам, и аудит информационной безопасности предприятия тут не исключение. Все настройки системный администратор будет производить на уровне всего домена или леса, через групповые политики, которые будут применяться как к компьютерам, так и к контроллерам домена. Я могу выделить из инструментов участвующих в этом, вот такие:

  • глобальной политики аудита (Global Audit Policy, GAP);
  • списка управления доступом (System access control list, SACL) - определяет операции, для которых будет производиться аудит;
  • схемы – используется для окончательного формирования списка событий.

По умолчанию для клиентских систем аудит отключен, для серверных активна подкатегория "Доступ к службе каталогов Active Directory", остальные отключены. Для включения глобальной политики “Аудит доступа к службе каталогов” (Audit directory service access) необходимо вызвать "Редактор управления групповыми политиками " перейти в ветку Параметры безопасности/Локальные политики/Политика аудита, где активировать политику и установить контролируемые события (успех, отказ).

Так же есть дополнительный, более тонкий и избирательный режим аудита AD, его можно найти так же в политике:

Конфигурация компьютера - Политики - Конфигурация Windows - Параметры безопасности - Конфигурация расширенной политики аудита - Политика аудита - Управление учетными записями (Computer Configuration - Policies - Windows Settings - Security Settings - Advanced Audit Policy Configuration - Account Management)

В нем вы обнаружите разделы:

  1. Вход учетной записи
  2. Управление учетными записями
  3. Подробное отслеживание
  4. Доступ к службе каталогов (DS)
  5. Вход/выход
  6. Доступ к объектам
  7. Изменение политики
  8. Использование привилегий
  9. Система
  10. Аудит доступа к глобальным объектам

Второй вариант реализации, это использовать для настройки утилиту командной строки auditpol , получить полный список GAP с установленными параметрами. При помощи auditpol достаточно ввести команду:

auditpol /list /subcategory:*

Как видите, результатом команды auditpol, стало отсутствие настроек по аудиту, каких либо событий безопасности.

Активируем политику “directory service access”, через команду:

auditpol /set /subcategory:"directory service changes" /success:enable

Подробные сведения о команде можно получить, запустив ее в виде auditpol /h

Чтобы не ждать, обновим политику контролера домена:

Подкатегория политики аудита Доступ к службе каталогов формирует события в журнале безопасности с кодом 4662, которые можно просмотреть при помощи консоли Просмотр событий (Event Viewer) вкладка Журналы Windows – Безопасность.

В качестве альтернативного варианта просмотра событий можно использовать командлет Get-EventLog оболочки PowerShell . Например:

Get-EventLog security | ?{$_.eventid -eq 4662}

Командлет Get-EventLog может принимать 14 параметров, позволяющих отфильтровать события по определенным критериям: After, AsBaseObject, AsString, Before, ComputerName, EntryType, Index, InstanceID, List, LogName, Message, Newest, Source и UserName.

Кроме этого, регистрируется ряд других событий 5136 (изменение атрибута), 5137 (создание атрибута), 5138 (отмена удаления атрибута) и 5139 (перемещение атрибута).
Для удобства отбора определенных событий в консоли Просмотр событий используют фильтры и настраиваемые представления, а также подписку, позволяющую собирать данные журналов и с других серверов.

Коллекторы событий

Согласитесь, что не всегда удобно копаться в миллионах событий, которые генерируются ежесекундно на ваших контроллерах домена, как в таких ситуациях вы можете себе упростить жизнь сделать проведение аудита информационной безопасности более простым. Тут вариантов решения довольно много, я бы хотел выделить вот такие:

  • Лично у меня для аудита Active Directory используется перенаправление всех событий с нужных мне серверов на один, так называемый сервер-коллектор, в его задачи входит агрегирование логов со всех серверов, что я настроил. Данная функциональность, так же является рядовой, у меня лично сборщик перенаправляемых логов реализован на Windows Server 2016, но это не принципиально.

  • Вторая реализация, это система мониторинга Zabbix. Она полностью бесплатна, но вам придется слегка попотеть, чтобы ее должным образом настроить, но когда вы это сделаете, то получите в свое управление, очень удобный инструмент по ведению аудита в домене Active Directory. Вот пример реализации одного из тригеров, он будет выводить информацию, о событии "Вход с учётной записью выполнен успешно", ниже вы узнаете, что за это отвечает ID с номером 4624 (Более подробно читайте на https://habr.com/post/215509/)

  • Еще одним замечательным решением, будет внедрение продукта Netwrix Active Directory Change Reporter. Это мега крутой комбайн для аудита безопасности информационных систем и доменной инфраструктуры Active Directory. Данный продукт разворачивается буквально за 30 минут и готов к выполнению своих задач (Более подробно вы можете почитать вот тут http://itband.ru/2011/09/audit-adds/).

Список событий аудита событий Active Directory в Windows Server 2008 R2

Ниже я постарался вам выписать самые распространенные и более используемые события, которые необходимы при аудите безопасности информационных систем, если вы хотите изучить абсолютно все доступные, то советую вам посетить портал компании Microsoft, посвященный расширенному аудиту, вот сама ссылка https://docs.microsoft.com/ru-ru/windows/security/threat-protection/auditing/event-4723

Проверка учетных данных

  1. 4774 Учетная запись была сопоставлена для входа в систему.
  2. 4775 Не удалось сопоставить учетную запись для входа в систему.
  3. 4776 Предпринята попытка проверить учетные данные для учетной записи контроллера домена.
  4. 4777 Не удается проверить учетные данные для учетной записи контроллера домена.

Управление учетной записью компьютера

  1. 4741 Создана учетная запись компьютера.
  2. 4742 Изменена учетная запись компьютера.
  3. 4743 Удалена учетная запись компьютера.

Управление группами рассылки

  1. 4744 Создана локальная группа с отключенной проверкой безопасности.
  2. 4745 Изменена локальная группа с отключенной проверкой безопасности.
  3. 4746 Добавлен пользователь к локальной группе с отключенной проверкой безопасности.
  4. 4747 Удален пользователь из локальной группы с отключенной проверкой безопасности.
  5. 4748 Удалена локальная группа с отключенной проверкой безопасности.
  6. 4749 Создана глобальная группа с отключенной проверкой безопасности.
  7. 4750 Изменена глобальная группа с отключенной проверкой безопасности.
  8. 4751 Добавлен пользователь к глобальной группе с отключенной проверкой безопасности.
  9. 4752 Удален пользователь из глобальной группы с отключенной проверкой безопасности.
  10. 4753 Удалена глобальная группа с отключенной проверкой безопасности.
  11. 4759 Создана универсальная группа с отключенной проверкой безопасности.
  12. 4760 Изменена универсальная группа с отключенной проверкой безопасности.
  13. 4761 Член добавлен к универсальной группы с отключенной проверкой безопасности.
  14. 4762 Удален пользователь из универсальной группы с отключенной проверкой безопасности.

Другие события управления учетными записями

  1. 4739 Изменена политика домена.
  2. 4782 Хэш пароля учетной записи доступа к нему.
  3. 4793 Был вызван API проверку политики паролей.

Управление группой безопасности

  1. 4727 Создана глобальная группа с включенной безопасностью.
  2. 4728 Добавлен пользователь к глобальной группе с включенной безопасностью.
  3. 4729 Удален пользователь из глобальной группы с включенной безопасностью.
  4. 4730 Удалена глобальная группа с включенной безопасностью.
  5. 4731 Создана локальная группа с включенной безопасностью.
  6. 4732 Добавлен пользователь в локальную группу с включенной безопасностью.
  7. 4733 Удален пользователь из локальной группы с включенной безопасностью.
  8. 4734 Удалена локальная группа с включенной безопасностью.
  9. 4735 Изменена локальная группа с включенной безопасностью.
  10. 4737 Изменена глобальная группа с включенной безопасностью.
  11. 4754 Создана универсальная группа с включенной безопасностью.
  12. 4755 Изменена универсальная группа с включенной безопасностью.
  13. 4756 Добавлен пользователь к универсальной группе с включенной безопасностью.
  14. 4757 Удален пользователь из универсальной группы с включенной безопасностью.
  15. 4758 Удалена универсальная группа с включенной безопасностью.
  16. 4764 Изменен тип группы.

Управление учетными записями пользователей

  1. 4720 Учетная запись пользователя создана.
  2. 4722 Учетная запись пользователя включена.
  3. 4724 Сброс пароля пользователя.
  4. 4725 Учетная запись пользователя отключена.
  5. 4726 Учетная запись пользователя удалена.
  6. 4738 Изменена учетная запись пользователя.
  7. 4765 Журнал SID был добавлен к учетной записи.
  8. 4766 Не удалось добавить журнал SID учетной записи .
  9. 4767 Учетная запись пользователя была разблокирована.
  10. 4780 Список управления Доступом был установлен на учетные записи, которые являются членами группы администраторов.
  11. 4781 Было изменено имя учетной записи.
  12. 4794 Была предпринята попытка задать режим восстановления служб каталогов.
  13. 5376 Диспетчер учетных данных: учетные данные были сохранены.
  14. 5377 Диспетчер учетных данных: учетные данные были восстановлены из резервной копии.

Другие события

  1. 1102 Очищен журнал безопасности
  2. 4624 Успешный вход в систему
  3. 4625 Не удачный вход в систему

В ветке Политика аудита также активируются и другие возможности (см.рис.1): аудит входа/выхода в систему, аудит управления учетными записями, доступ к объектам, изменения политик и так далее. Например, настроим аудит доступа к объектам на примере папки с общим доступом. Для этого активируем, как рассказано выше, политику Audit object access, затем выбираем папку и вызываем меню Свойства папки, в котором переходим в подпункт Безопасность и нажимаем кнопку Дополнительно. Теперь в открывшемся окне “Дополнительные параметры безопасности для..” переходим во вкладку Аудит и нажимаем кнопку Изменить и затем Добавить и указываем учетную запись или группу, для которой будет осуществляться аудит. Далее отмечаем отслеживаемые события (выполнение, чтение, создание файлов и др.) и результат (успех или отказ). При помощи списка “Применять” указываем область применения политики аудита. Подтверждаем изменения.

Теперь все указанные операции будут отображаться в журнале безопасности.
Чтобы упростить настройку аудита при большом количестве объектов, следует активировать флажок Наследование параметров от родительского объекта. При этом в поле Унаследовано от будет показан родительский объект, от которого взяты настройки.
Больший контроль событий, записываемых в журнал, достигается применением политики детализированного аудита (Granular Audit Policy), которая настраивается в Параметры безопасности/Локальные политики/Advanced Audit Policy Configuration. Здесь 10 подпунктов:

  • Вход учетной записи – аудит проверки учетных данных, службы проверки подлинности Kerberos, операции с билетами службы Kerberos, другие события входа;
  • Управление учетными записями – аудит управления группами приложений, учетными записями компьютеров и пользователей, группами безопасности и распространения;
  • Подробное отслеживание – событий RPC и DPAPI, создания и завершения процессов;
  • Доступ к службе каталогов DS – аудит доступа, изменений, репликации и подробной репликации службы каталогов;
  • Вход/выход – аудит блокировки учетных записей, входа и выхода в систему, использования IPSec, сервера политики сети;
  • Доступ к объектам – аудит объектов ядра, работы с дескрипторами, событий создаваемых приложениями, служб сертификации, файловой системы, общих папок, платформой фильтрации;
  • Изменение политики – изменения политики аудита, проверки подлинности, авторизации, платформы фильтрации, правил службы защиты MPSSVC и другие;
  • Использование прав – аудит прав доступа к различным категориям данных;
  • Система – аудит целостности системы, изменения и расширения состояния безопасности, драйвера IPSec и других событий;
  • Аудит доступа к глобальным объектам – аудит файловой системы и реестра.

Активация аудита управления учетными записями пользователей позволит отслеживать: создание, изменение, удаление, блокировку, включение и прочие настройки учетных записей, в том числе пароль и разрешения. Посмотрим, как она работает на практике - выбираем подкатегорию User Account Management и активируем. Команда для auditpol выглядит так:

auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable
gpudate /force

Система аудита в консоли Просмотр события сразу покажет событие с номером 4719 Изменение параметров аудита, в котором показаны название политики и новые значения

Чтобы создать событие, откроем консоль Active Directory – пользователи и компьютеры и изменим один из параметров любой учетной записи - например, добавим пользователя в группу безопасности. В консоли Просмотра события сразу будут сгенерировано несколько событий: события с номером 4732 и 4735, показывающие изменение состава группы безопасности, и добавление учетной записи новой группы безопасности (на рис.8 выделены фиолетовым).
Создадим новую учетную запись – система генерирует несколько событий: 4720 (создание новой учетной записи), 4724 (попытка сброса пароля учетной записи), несколько событий с кодом 4738 (изменение учетной записи) и, наконец, 4722 (включение новой учетной записи). По данным аудита администратор может отследить старое и новое значение атрибута - например, при создании учетной записи меняется значение UAC.

Недостатки штатной системы аудита

Штатные инструменты операционной системы часто предлагают лишь базовые наборы средств анализа. Официальная документация (http://technet.microsoft.com/ru-ru/library/dd772623(WS.10).aspx) очень подобно расписывает возможности самого инструмента, практически мало помогая в выборе параметров, изменения которых необходимо отслеживать. В итоге решение этой задачи целиком ложится на плечи системного администратора, который должен полностью разбираться в технических аспектах аудита, и зависит от уровня его подготовки, а значит, велика вероятность ошибки. Кроме того, на его плечи ложится анализ результата, построение разнообразных отчетов.
Для удобства выбора определенных событий интерфейс консоли Event Viewer позволяет создавать фильтры и настраиваемые представления. В качестве параметров для отбора данных можно указать: дату, журнал и источник событий, уровень (критическое, предупреждение, ошибка и т.д.), код, пользователя или компьютер и ключевые слова. В организации может быть большое количество пользователей, объединенных в группы и подразделения, для которых аудит необходимо настроить персонально, но данная возможность в интерфейсе не предусмотрена.

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

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

Некоторые стандарты безопасности требуют хранения данных, собранных в процессе аудита, в течение продолжительного времени (например, SOX до 7 лет). Системными средствами реализовать это можно, но очень сложно. Размер журнала безопасности (как и других) ограничен 128 Мб, и при большом количестве событий данные могут быть перезаписаны (т.е. утеряны) уже через несколько часов. Чтобы этого избежать, необходимо вызвать окно свойств журнала в Event Viewer, где увеличить размер журнала и активировать его архивацию, установив флажок в “Архивировать журнал при заполнении. Не перезаписывать события”.

Но теперь необходимо будет решить проблему поиска событий во множестве архивов. Также стоит отметить, что к недостаткам штатной системы аудита относятся ограниченные возможности мониторинга групповых политик. При том, что факт этого изменения штатными средствами можно отслеживать, не фиксируются значения измененных параметров и, таким образом, нельзя ответить на вопрос, что же именно было изменено и каким стало новое значение. В некоторых ситуациях этого достаточно, но назвать это полноценным аудитом затруднительно.. Остались вопросы, пишите их в комментариях.

В каждом из журналов накапливается большое количество событий, в которых трудно иногда найти нужные события. Заметим вначале, что щелчок мышью на заголовке любого столбца в консоли (оснастке) " Просмотр событий " позволяет отсортировать события по убыванию или возрастанию значений данного столбца. Для более точного отбора искомых событий служат средства фильтрации в " Просмотре событий ". Если открыть свойства какого-либо журнала, то в открывшейся панели, кроме закладки " Общие ", имеется также закладка " Фильтр ", позволяющая установить правила для отбора событий. Посмотрим внимательно на данную закладку (рис. 16.4):


Рис. 16.4.

Можно установить правила отбора:

  • по типу событий - уведомления, предупреждения, ошибки, аудит успехов, аудит отказов;
  • по источнику (например, компоненты системы Alerter , Browser , DCOM , DHCP , disk , eventlog , Server , System и др.);
  • по категории (например, Диск , Оболочка , Принтеры , Сеть , Службы , Устройства и др.);
  • по известному коду события;
  • по имени пользователя;
  • по имени компьютера;
  • задать период времени - с какого по какой момент времени отобрать события.


Рис. 16.7.

Аудит

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

Процесс аудита безопасности настраивается с помощью групповых политик (напомним, что групповые политики можно определять для сайта, домена или организационного подразделения, а также для отдельной рабочей станции или сервера). Параметры аудита безопасности находятся в разделе " Параметры безопасности - Локальные политики - Политики аудита " любого объекта групповых политик .


Рис. 16.9.

После применения политик настроим аудит доступа для нужных объектов (например, для папки Folder1 на сервере DC1 ) - откроем Свойства данной папки (папка должна быть размещена на разделе с файловой системой NTFS), перейдем на закладку " Безопасность ", нажмем кнопку " Дополнительно " и перейдем на закладку " Аудит ". Добавим в список пользователей, для которых будут отслеживаться попытки доступа к папке Folder1 , группу " Пользователи домена " и установим, какие именно попытки будут регистрироваться в журнале " Безопасность " (например, попытки удаления папок и файлов, успешные и неуспешные,