Применение Аудита Windows для отслеживания деятельности пользователей
Среда, 31 - Август - 2011 17 комментариев
Иногда случаются события, которые требуют от нас ответить на вопрос «кто это сделал?» Такое может происходить «редко, но метко», поэтому к ответу на вопрос следует готовиться заранее.
Практически повсеместно существуют проектные отделы, бухгалтерия, разработчики и другие категории сотрудников, совместно работающие над группами документов, хранящихся в общедоступной (Shared) папке на файловом сервере или на одной из рабочих станций. Может случиться так, что кто-то удалит важный документ или директорию из этой папки, в результате чего труд целого коллектива может быть потерян. В таком случае, перед системным администратором возникает несколько вопросов:
-
Когда и во сколько произошла проблема?
-
Из какой наиболее близкой к этому времени резервной копии следует восстановить данные?
-
Это случилось непреднамеренно, или же кто-то действовал с умыслом?
-
Может, имел место системный сбой, который может повториться ещё раз?
В Windows имеется система Аудита, позволяющая отслеживать и журналировать информацию о том, когда, кем и с помощью какой программы были удалены документы. По умолчанию, Аудит не задействован — слежение само по себе требует определённый процент мощности системы, а если записывать всё подряд, то нагрузка станет слишком большой. Тем более, далеко не все действия пользователей могут нас интересовать, поэтому политики Аудита позволяют включить отслеживание только тех событий, что для нас действительно важны.
Система Аудита встроена во все операционные системы Microsoft Windows NT: Windows XP/Vista/7, Windows Server 2000/2003/2008. К сожалению, в системах серии Windows Home аудит спрятан глубоко, и его настраивать слишком сложно.
Что нужно настроить?
Для включения аудита зайдите с правами администратора в компьютер, предоставляющий доступ к общим документам, и выполните команду Start → Run → gpedit.msc. В разделе Computer Configuration раскройте папку Windows Settings → Security Settings → Local Policies → Audit Policies:
Дважды щёлкните по политике Audit object access (Аудит доступа к объектам) и выберите галочку Success. Этот параметр включает механизм слежения за успешным доступом к файлам и реестру. Действительно, ведь нас интересуют только удавшиеся попытки удаления файлов или папок. Включите Аудит только на компьютерах, непосредственно на которых хранятся отслеживаемые объекты.
Простого включения политики Аудита недостаточно, мы также должны указать, доступ к каким именно папкам требуется отслеживать. Обычно такими объектами являются папки общих (разделяемых) документов и папки с производственными программами или базами данных (бухгалтерия, склад и т.п.) — то есть, ресурсы, с которыми работают несколько человек.
Заранее угадать, кто именно удалит файл, невозможно, поэтому слежение и указывается за Всеми (Everyone). Удавшиеся попытки удаления отслеживаемых объектов любым пользователем будут заноситься в журнал. Вызовите свойства требуемой папки (если таких папок несколько, то всех их по очереди) и на закладке Security (Безопасность) → Advanced (Дополнительно) → Auditing (Аудит) добавьте слежение за субъектом Everyone (Все), его успешными попытками доступа Delete (Удаление) и Delete Subfolders and Files (Удаление подкаталогов и файлов):
Событий может журналироваться довольно много, поэтому также следует отрегулировать размер журнала Security (Безопасность), в который они будут записываться. Для
этого выполните команду Start → Run → eventvwr.msc. В появившемся окне вызовите свойства журнала Security и укажите следующие параметры:
-
Maximum Log Size = 65536 KB (для рабочих станций) или 262144 KB (для серверов)
-
Overwrite events as needed.
На самом деле, указанные цифры не являются гарантированно точными, а подбираются опытным путём для каждого конкретного случая.
Итак, кто же удалил документы (Windows 2003/XP)?
Нажмите Start → Run → eventvwr.msc и откройте для просмотра журнал Security (Безопасность). Журнал может быть заполнен событиями, прямого отношения к проблеме не имеющими. Щёлкнув правой кнопкой по журналу Security, выберите команду View → Filter и отфильтруйте просмотр по следующим критериям:
- Event Source:Security;
- Category: Object Access;
- Event Types: Success Audit;
- Event ID: 560;
Просмотрите список отфильтрованных событий, обращая внимание на следующие поля внутри каждой записи:
- Object Name. Название искомой папки или файла;
- Image File Name. Имя программы, с помощью которой удалили файл;
- Accesses. Набор запрашиваемых прав.
Программа может запрашивать у системы сразу несколько типов доступа — например, Delete+Synchronize или Delete+Read_Control. Значимым для нас правом является Delete.
Итак, кто же удалил документы (Windows 2008/Vista)?
Нажмите Start → Run → eventvwr.msc и откройте для просмотра журнал Security (Безопасность). Журнал может быть заполнен событиями, прямого отношения к проблеме не имеющими. Щёлкнув правой кнопкой по журналу Security, выберите команду View → Filter и отфильтруйте просмотр по следующим критериям:
- Event Source: Security;
- Category: Object Access;
- Event Types: Success Audit;
- Event ID: 4663;
Не спешите интерпретировать все удаления как злонамеренные. Эта функция зачастую используется при обычной работе программ — например, исполненяя команду Save (Сохранить), программы пакета Microsoft Office сначала создают новый временный файл, сохраняют в него документ, после чего удаляют предыдущую версию файла. Аналогично, многие приложения баз данных при запуске сначала создают временный файл блокировок (.lck), затем удаляют его при выходе из программы.
Мне приходилось на практике сталкиваться и со злонамеренными действиями пользователей. Например, конфликтный сотрудник некоей компании при увольнении с места работы решил уничтожить все результаты своего труда, удалив файлы и папки, к которым он имел отношение. События такого рода хорошо заметны — они генерируют десятки, сотни записей в секунду в журнале безопасности. Конечно, восстановление документов из Shadow Copies (Теневых Копий) или ежесуточно автоматически создаваемого архива не составляет особого труда, но при этом я мог ответить на вопросы «Кто это сделал?» и «Когда это произошло?».
Last Content Update: 05-Oct-2010
Спасибо за интересную статью! Есть программа File Server Change Reporter http://www.netwrix.com/ru/file_server_auditing_change_reporting_freeware.html, которая позволяет осуществлять аудит изменений файлового сервера и устройств хранения, которую выпускает наша компания NetWrix.
Мы будем рады сотрудничеству с Вами!
просто мега статья!!!Спасибо большущее!теперь слежу за всеми)
На Windows 7 это работает?
Там скриншот с семёрки, неубедительно?
Такое же окно и в Vista, так что не убедил
Здравствуйте!
после настройки аудита согласно данной статье, журнал «Безопасность» начинают забивать события 5156 (Подключение платформы фильтрации) и 5145 (Сведения об общем файловом ресурсе), забивают очень быстро. Вопрос: как избавится от этих событий (чтобы они не писались в лог) ?
Для современных версий Windows делайте так:
Computer Configuration > Windows Settings > Security Settings > Advanced Audit Policy Configuration
Оставьте там только действительно нужное.
Так я оставил, выключил там Аудит подключения платформы фильтрации, включил «Аудит: принудительно переопределяет параметры категории политики аудита параметрами подкатегории политики аудита (ОС Windows Vista или более поздние версии)», чтобы отключить стандартный аудит, всё равно забивает лог. Решение вот, делает то же самое, но через командную строку: auditpol /set /subcategory:»»{0CCE9226-69AE-11D9-BED3-505054503030}»» /success:disable /failure:disable
Приветствую,
у меня есть ситуация в домене W2К3 (в этом году таки мигрируем на W2К12) — нужно узнать кто удалил файл — погуглив я понял, что надо отфильтровать события 560 (инфа кто открывал и получал доступ, — по-моему Access: delete_open) и 564 (сам факт удаления файла, но не показывает кто удалял, почему и нужны эти 2 события) — а как это выгрузить Powershell’ом ?
Спасибо
Get-EventLog security | ?{$_.eventid -eq 560 -and $_.EntryType -eq «SuccessAudit» -and $_.message -like «*Accesses:`t%delete*»}
Подскажите пожалуйста почему не использовать код события 4660, а не 4663?
В 4660 не указывается сам удаляемый объект. Что-то удалили, а что конкретно?
Где можно прочитать о масках доступа (Access Mask), например 0x1 ?
Не готов ответить навскидку. Возможно, книга Windows Internals поможет. Актуальную (седьмую) редакцию в руках пока не держал.
добрый день. Настроил на кластере (на всех нодах) ws 2016.
будет ли запись в журнале если, удалить файл из CSV?
Мне почему-то не удается найти подобных записей в журнале.
На CSV не пробовал, у меня там только файлы виртуалок .)
Для начала следует убедиться, что знаете код события для 2016. Должно быть 4663, но сам пока на 2016 не пробовал, не спешу с переходом.
спасибо за ответ.
если что-то узнаю. отпишусь.