пятница, 20 июня 2008 г.

Аудит журнала безопасности или Чем анализировать события аудита NTFS

часть 1

Вам приходилось включать аудит доступа на ресурсы на уровне NTFS? Уверен, что да. А что потом? В журнал безопасности наполняется сообщениями с содержанием кто входил, когда и т.д. Допустим у вас есть десяток ресурсов на которые вам необходимо включить аудит. При определенной активности ваш журнал событий переполнится через несколько дней!

Да и потом... А чем вы собираетесь просматривать данные? Event Viewer? Не думаю... На самую простую задачу у вас уйдет масса времени потому, что Windows (до 2008, может там что-то появилось) не предоставляет средств для анализа.

Недавно мне пришлось решать следующую задачу:

Нужно из системного журнала безопасности (сохранен в отдельном файле) вытащить данные по обращению к конкретной папке (допустим название папки "Задачи отдела"), что бы на выходе получились удобочитаемые данные с информацией о количестве обращений сгруппированными по пользователю и дате. Аудит на success и failure включен, записи в журнал есть.

На форуме TechNet было предложено несколько вариантов решения.

Essentials 2007

SCOM 2007

Scriptlogic File System Auditor™

Event Log Explorer™


а так же

LogParser

В основном это утилиты которые подразумевают установку сложных программ с дополнительной установкой "агентов", которые будут собирать сведения в свои базы или базы SQL. Коллегами sie и G14 даже был проведен сравнительный анализ по стоимости продуктов разработки Microsoft. Но мне то нужно просто проанализировать уже имеющиеся данные.

Пришлось воспользоваться утилитой LogParser от Microsoft. Эта утилита командной строки. Она бесплатная и с очень большими возможностями. Круг ее использования не ограничивается журналами событий. Но ее гибкость одновременно являются и ее недостатком. Утилита хороша, но сходу с ней разобраться невозможно.

Я приведу код, который помог мне решить поставленную задачу и описание каждого параметра, что бы легче было адаптировать под свои нужды.

logparser.exe "SELECT SID INTO c:\temp\output.csv FROM Security WHERE EventTypeName = 'Success Audit event' AND EventID = 560 AND Message LIKE '%%H:\\temp\\test%%' AND Message LIKE '%%ReadData (or ListDirectory)%%'" -i:EVT -resolveSIDs:ON -o:CSV

Запрос состоит из двух частей. logparser.exe это имя самой программы. Если вы находитесь в другом каталоге то в начале нужно присовокупить полный путь к программе. Далее идет запрос, похожий на SQL, который производит выборку. Жирным выделены параметры предназначенные для самого LogParser'а.

Давайте подробно рассмотрим первую часть.

Стандартный SQL запрос на выборку строится по следующему алгоритму. "SELECT что_именно FROM откуда_конкретно WHERE уточненные_данные_как_фильтр_запроса". если приглядеться, то в моем примере все это присутствует. Давайте более подробно остановимся на каждом элементе запроса. В данном случае он разбит на три части:

что_именно
откуда_конкретно
уточненные_данные_как_фильтр_запроса


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

Продолжение статьи читатйте тут (http://mdanshin.blogspot.com/2008/06/ntfs.html).

Комментариев нет:

Отправить комментарий