English Deutsch Français Italiano Español Русский Japanese
Анализируйте журналы событий Windows эффективнее

Блог Event Log Explorer

Фильтрация событий. Как фильтровать журналы по данным из описаний событий

Оригинал статьи тут http://eventlogxp.com/blog/advanced-filtering-how-to-filter-events-by-event-descriptions/

Ключевой элемент анализа журналов событий - это фильтрация событий. Функции фильтрации событий, пожалуй, являются самыми востребованными в любой программе, предназначенной для анализа журналов событий. Установить фильтр для большинства полей (свойств) события достаточно просто. Как правило, все программы для работы с журналами событий позволяют фильтровать события по времени, источнику, типу события, коду события более или менее понятным образом. Описания событий часто содержат довольно полезные подробности. И иногда вам может понадобиться отфильтровать события по содержимому описания события. Для примера рассмотрим задачу - отфильтровать события входа в систему от пользователей, подключившихся по RDP-протоколу.

Мы знаем что события входа в систему хранятся в журнале Безопасность и имеют коды 4624 и 4625 (успешные и неудачные соответственно). И сейчас мы рассмотрим как интерпретировать коды входа в систему, код входа для RDP - это 10.
Итак, нам необходимо отфильтровать события в журнале Безопасность с кодами (Event ID) = 4624 или 4625 и кодом входа = 10.

Хотя приложение Просмотр событий Windows не предоставляет пользовательский интерфейс для фильтрации событий по описаниям событий, вы можете сделать запрос используя структурированные XML-запросы. Эта возможность появилась в Windows Vista/2008 Server. Структурированные XML-запросы это специальный язык, основанный на синтаксисе XPath 1.0, предназначенный для запроса событий из журналов событий. Вы можете найти информацию о структурированных XML-запросах и выражениях XPath на странице https://msdn.microsoft.com/en-us/library/windows/desktop/dd996910(v=vs.85).aspx

Так будет выглядеть XML фильтр для нашей задачи:

<QueryList>
<Query Id=”0″ Path=”Security”>
<Select Path=”Security”>
*[System[(EventID=4624 or EventID=4625)]]
and
*[EventData[Data[@Name=’LogonType’] and Data=10]]
</Select>
</Query>
</QueryList>

Используя возможности запросов XML, вы можете фильтровать события по любому критерию. Наш Event Log Explorer "понимает" структурированные XML запросы также хорошо, как и Просмотр событий. Но с Event Log Explorer нет необходимости использовать полные XML-запросы. Event Log Explorer позволяет использовать XPath выражения, типа такого:

*[System[(EventID=4624 or EventID=4625)]] and
*[EventData[Data[@Name=’LogonType’] and Data=10]]

Несмотря на широкие возможности фильтрации с помощью XML-запросов, их не очень просто использовать, особенно если вы не составляете XML-запросы постоянно.

Далее будет показано как фильтрацию событий с помощью Event Log Explorer.

Выберите Вид (View) -> Фильтр (Filter) в главном меню окна Event Log Explorer чтобы открыть диалог "Фильтр".

Введите 4624,4625 в поле ввода Идентификаторы событий (Event IDs) потому что нам нужны только события входа в систему.

Event Log Explorer предлагает 2 способа фильтрации событий по описаниям.

Фильтрация событий по тексту описания

Достаточно написать любой текст в поле ввода “Текст в описании” и Event Log Explorer покажет все события, которые содержат этот текст в описании. Попробуйте ввести скопировать из события и вставить текст типа:

Logon Type: 10

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

Используя то же самое поле ввода "Текст в описании" вы можете ввести критерий в виде регулярного выражения и включить опцию "Рег. Выр." справа от поля ввода. В этом случае вся мощь регулярных выражений придет к вам на помощь - Event Log Explorer будет искать описания событий, удовлетворяющие введенному регулярному выражению. Для нашего примера ваше регулярное выражение будет выглядеть так:

Logon Type:\s*10

или так

Logon Type:[ \t]*10

Возможно, вы подумаете, что этот способ не намного лучше чем использование структурированных XML-запросов. Вместо изучения синтаксиса XPath придется учить синтаксис регулярных выражений.

Для многих задач нет лучшей альтернативы, чем фильтры с регулярными выражениями, но для задач типа рассматриваемой (показать события входа по RDP) Event Log Explorer предлагает еще один простой способ.

Фильтрация событий по параметрам в описаниях

Event Log Explorer дает возможность фильтровать жырнал событий Безопасность по параметрам описаний. Вам нужно сказать программе:

Logon type equals 10

Для простого ввода условия, мы рекомендуем выделить в списке событие, содержащее интересующие нас параметры.

Далее открываем диалог "Фильтр" и создаем новое условие "Фильтр по параметрам описания":

event filter by description parameters

Такой способ очень сильно экономит время при анализе журналов событий безопасности.

Учтите, что этот способ работает только для журналов событий Безопасность потому что журналы безопасности содержат хорошо структурированные описания. При анализе других журналов приходится использовать регулярные выражения или XPath-фильтры.

 

Скачать Event Log Explorer

Посмотреть цены на Event Log Explorer