Для ведения аудита доступа к файлам и папкам в Windows Server 2008 R2, необходимо включить функцию аудита, а также указать папки и файлы, доступ к которым необходимо фиксировать. После настройки аудита, в журнале сервера будет содержаться информация о доступе и других событиях на выбранные файлы и папки. Стоит заметить, что аудит доступа к файлам и папкам может вестись только на томах с файловой системой NTFS.
Включаем аудит на объекты файловой системы в Windows Server 2008 R2
Аудит доступа на файлы и папки включается и отключается при помощи групповых политик: доменный политик для домена Active Directory либо локальных политик безопасности для отдельно стоящих серверов. Чтобы включить аудит на отдельном сервере, необходимо открыть консоль управления локальный политик Start -> All Programs -> Administrative Tools -> Local Security Policy. В консоли локальной политики нужно развернуть дерево локальный политик (Local Policies) и выбрать элемент Audit Policy.
После выбора необходимой настройки нужно нажать OK.
Выбор файлов и папок, доступ к которым будет фиксироваться
После того, как активирован аудит доступа к файлам и папкам, необходимо выбрать конкретные объекты файловой системы, аудит доступа к которым будет вестись. Так же как и разрешения NTFS, настройки аудита по-умолчанию наследуются на все дочерние объекты (если не настроено иначе). Точно так же, как при назначении прав доступа на файлы и папки, наследование настроек аудита может быть включено как для всех, так и только для выбранных объектов.
Чтобы настроить аудит для конкретной папки/файла, необходимо щелкнуть по нему правой кнопкой мыши и выбрать пункт Свойства (Properties). В окне свойств нужно перейти на вкладку Безопасность (Security) и нажать кнопку Advanced. В окне расширенных настроек безопасности (Advanced Security Settings) перейдем на вкладку Аудит (Auditing). Настройка аудита, естественно, требует прав администратора. На данном этапе в окне аудита будет отображен список пользователей и групп, для которых включен аудит на данный ресурс:
Чтобы добавить пользователей или группы, доступ которых к данному объекту будет фиксироваться, необходимо нажать кнопку Add… и указать имена этих пользователей/групп (либо указать Everyone – для аудита доступа всех пользователей):
Далее нужно указать конкретные настройки аудита (такие события, как доступ, запись, удаление, создание файлов и папок и т.д.). После чего нажимаем OK.
Сразу после применения данных настроек в системном журнале Security (найти его можно в оснастке Computer Management -> Events Viewer), при каждом доступе к объектам, для которых включен аудит, будут появляться соответствующие записи.
Альтернативно события можно просмотреть и отфильтровать с помощью командлета PowerShell — Get-EventLog Например, чтобы вывести все события с eventid 4660, выполним комманду:
Get-EventLog security | ?{$_.eventid -eq 4660}
UPD от 06.08.2012 (Благодарим комментатора Roman).
В Windows 2008/Windows 7 для управления аудитом появилась специальная утилита auditpol. Полный список типов объектов, на который можно включить аудит можно увидеть при помощи команды:
auditpol /list /subcategory:*
Как вы видите эти объекты разделены на 9 категорий:
- System
- Logon/Logoff
- Object Access
- Privilege Use
- Detailed Tracking
- Policy Change
- Account Management
- DS Access
- Account Logon
И каждая из них, соответственно, делиться на подкатегории. Например, категория аудита Object Access включает в себя подкатегорию File System и чтобы включить аудит для объектов файловой системы на компьютере выполним команду:
auditpol /set /subcategory:"File System" /failure:enable /success:enable
Отключается он соответственно командой:
auditpol /set /subcategory:"File System" /failure:disable /success:disable
Т.е. если отключить аудит ненужных подкатегорий, можно существенно сократить объем журнала и количества ненужных событий.
После того, как активирован аудит доступа к файлам и папкам, нужно указать конкретные объекты которые будем контролировать (в свойствах файлов и папок). Имейте в виду, что по-умолчанию настройки аудита наследуются на все дочерние объекты (если не указано иное ).
Все собранные события можно сохранять во внешнюю БД для ведения истории. Пример реализации системы: Простая система аудита удаления файлов и папок для Windows Server.
Интересная заметка, спасибо! Еще бы написали про то, как и чем эти логи потом парсить на предмет интересующих событий, таких например как попытка удалить Васей файлов из папки «важное» и пр. примеры.
Скорее всего есть возможность читать EventLog. Через API по-любому есть такая возможность. В Visual Studio Есть такой одноимённый компонент, но я им ни разу не пользовался. Ну, а так или в сети искать, или в MSDN.
А насколько влияет включение аудита на производительность?
Производительность, естественно несколько снижается, т.к. теперь информация о всех операциях с файлами должна попасть в журнал.
Естественно, для нескольких сотен — тысяч аудируемых документов, скорее всего падение производительности будет незаметным. Для большого же массива каталогов и файлов с часто изменяемой информации, аудит всех операций может просадить производительность сервера.
Поэтому нужно учесть несколько нюансов
1) Необходимо увеличить размер журнала Security (иначе в зависимости от настроек он будет либо часто перезатираться, либо после переполнения блокироваться на дальнейшую запись)
2) нежелательно включать аудит на все объекты файловой системы (или делать это только осознанно), обычно аудит включен для конкретных контролируемых папок или файлов в них, либо же используется в целях диагностики и отладки
3) если включен аудит на неком каталоге, то общая производительность будет снижаться прямо пропорционально количеству файлов в ней (т.е. лучше свести количество файлов, доступ к которым аудируется до необходимого минимума)
Настроил все как в стать но в журнале безопасность не видно к каким конкретно файлам был доступ, что удалили и кто удалил… в общем не очень понятно как это работает..
Roman Сложно сказать что у вас конкретно не работает..
Опишите подробно что вы сделали (лучше со скриншотами) и заведите новую тему на нашем форуме (http://forum.winitpro.ru/) — попробуем вам помочь
Разобрался, работает. Только вот событие в ID 4660 (удален объект) не видно какой именно файл был удален…
Где и как это точно можно посмотреть?
Второй вопрос где можно глянуть список всех папок и файлов у которых включен аудит?
Почему в этой статье вы не слова не упомянули о том что в WinServer 2008 эти 9 объектов разбиты ещё не подобъекты?..
Посмотреть и включить/выключить их почему то можно только в командной строке:
auditpol /get /category:* — выводит список и состояние подобъектов
auditpol /set /subcategory:»ИМЯ КАТЕГОРИИ ПО РУССКИ» /failure:disable /success:disable — отключение подкатегории
auditpol /set /subcategory:»ИМЯ КАТЕГОРИИ ПО РУССКИ» /failure:enable /success:enable — включение подкатегории
Таким образом отключим некоторые подкатегории можно значительно сократить потом ненужных вам событий!
1. Вся информация об операциях с аудируемыми объектами будет присутствовать в журнале безопасности. Имя конкретного файла смотрите в свойствах конкретного события. На самом деле искать в нем без дополнительных телодвижений проблематично.
Мы обычно выгружаем эти события скриптом, а потом парсим их на информацию о нужном файле.
2. Хм, интересный вопрос — как это сделать встроенными средствами — не знаю. Видимо придется скрипт ваять
Спасибо за важное дополнение! Статью немного дополнил
доброго дня. Можете поделиться скриптом, выгружающим логи?
Скрипт потерян вместе с местом работы, где я был в 2012 году 🙂
Ну и сейчас скрипты не модно — тенденция слать все логи на ELK или graylog и там парсить.
Все равно не вижу даже в свойствах имени файла который был удален..
Может что-то я не донастроил?..
—
—
4660
0
0
12800
0
0x8020000000000000
9856773
Security
SERVER.mydomen.ru
—
S-1-5-21-1534995794-3278245879-885158751-1247
sergey70
MYDOMEN
0x45528ca1a
Security
0x1f1c
0x4
{00000000-0000-0000-0000-000000000000}
Включите аудит только событий удаления файлов и папок.
Удалите файл. Затем в журнале Windows Logs->Secutiry ищите событие
Keywords:Audit Success, Task Category:File System, EventID:4656
содержит примерно такой текст:
A handle to an object was requested.
Subject:
Security ID: serv1\winadmin
Account Name: winadmin
Account Domain: serv1
Logon ID: 0x13a659
Object:
Object Server: Security
Object Type: File
Object Name: C:\Distr\rest\New Rich Text Document.rtf
Handle ID: 0xe08
Process Information:
Process ID: 0xbc8
Process Name: C:\Windows\explorer.exe
Access Request Information:
Transaction ID: {00000000-0000-0000-0000-000000000000}
Accesses: DELETE
SYNCHRONIZE
ReadAttributes
Access Reasons: DELETE: Granted by D:(A;ID;FA;;;BA)
SYNCHRONIZE: Granted by D:(A;ID;FA;;;BA)
ReadAttributes: Granted by D:(A;ID;FA;;;BA)
Access Mask: 0x110080
Privileges Used for Access Check: —
Restricted SID Count: 0
А нельзя делать аудит этих событий допустим в mssql?
Как-то на Powershell приходилось реализовывать выгрузку данных из Windows Event Log с нескольких компов и загрузку инфы в базу MS SQL. К реализации доступа уже нет, но смысл такой:
командой Powershell Get-EventLog получаем нужные логи, и потом сторонней функцией (готовой функции в POSH нет, но гуглится на раз) загружаем данные в таблицу MSSQL.
Спасибо, будем пытаться:)
Написал мануал по выгрузке из журнала событий удаления файлов и загрузки их в БД mysql. Пользуйтесь: https://winitpro.ru/index.php/2016/05/04/prostaya-sistema-audita-udaleniya-fajlov-i-papok-dlya-windows-server/
Есть пачка серверов на Вин2003
на каждом сервере есть свои сетевый шары
Нужно всем этим шарам включить аудит (чтение/запись) — как это сделать через ГПО а не руками??
Пачку в отдельную группу домена. На эту группу отдельную политику аудита. На каждой шаре, если имена разные, правка реестра.
Если включать политику аудита для домена (глобально на несколько серверов входящих в домен) то нужно пойти по пути:
Пуск -> Администрирование -> Управление групповой политикой -> Создаем политику -> Открываем политику -> Конфигурация компьютера -> Политики -> Параметры безопасности -> Локальные политики
И уже тут включаем аудит?
Я правильно понимаю?
Такой вопрос: Я настроил Audit Policy в домене, а на FS настроил в дополнительных настройках безопасности общей папки — Аудит — только Delete. Почему журнал забивается событиями для предоставления доступа пользователям и предоставления прав на чтение аттрибутов и синхронизации.
Я не понимаю — как сделать так, чтоб в журнал записывались только те, события, аудит которых я указал в свойствах папки?