facebook

9.7.2 Создание запросов на странице "События"

В пользовательском интерфейсе NT SIEM в разделе «События» данные отображаются от более новых к более старым. Для фильтрации событий необходимо в поле поиска задать запрос и нажать на кнопку . Отобразится таблица с событиями, соответствующих условиям запроса.
Существует возможность создания запросов путем нажатия на значение полей в блоке с подробной информацией о событии (см. подробнее Руководство Пользователя).
Запросы должны быть организованы в виде пар «ключ:значение». Для комбинирования нескольких условий используются логические операторы (табл. 5). Следует отметить, что для поиска можно использовать и операторы сравнения (табл.4).
Основной формат ввода состоит из пары, где ключ и значение разделены символом «:» без использования пробелов. Ключи и значения чувствительны к регистру.
Ключ представляет собой поле события. Может содержать латинские буквы, цифры, символы подчеркивания «_», точки «.», восклицательного знака «!» и символ «@». Ключ, в отличии от значения, допускает использование латинских букв. Например:

@timestamp

!rule.id

full_log

agent.id

Значение представляет собой данные, соответствующие ключу. Значения могут быть представлены или в кавычках «" "», или без них:
1. Если значение не включает в себя пробелы и спецсимволы, кроме «.», «-», «_», «*», «?», то кавычки «" "» можно опустить. Например:

agent.id:002

agent.ip:10.72.144.61

agent.name:unix_61

2. Если значение содержит пробел(-ы) и/или спецсимволы, кроме «.», «-», «_», «*», «?», то оно помещается в кавычки «" "». Например:

full_log:"Feb 11 10:41:49 Deactivated successfully."

rule.description: "Anomaly detection event."

В результате будет выполнен запрос на поиск событий, в описании которых содержится эта фраза в точной последовательности.

Таблица 4 – Операторы сравнения для фильтрации на странице «События»

Символ
*
Описание и синтаксис
Используется для поиска с несколькими подстановочными знаками. В значении может использоваться только один спецсимвол «*» в формате текста без кавычек. Спецсимволу могут предшествовать цифры. Не рекомендуется использовать в начале поискового запроса.
Примеры
Нужно найти все правила, у которых идентификатор начинается с 50, например 505 или 506.                                                                                                                        rule.id:50*
Символ
?
Описание и синтаксис
Используется для поиска с одним подстановочным знаком. В значении может использоваться только один спецсимвол «?» в формате текста без кавычек.  Не рекомендуется использовать в начале поискового запроса.
Примеры
Нужно найти агенты с именами siem31 … siem39. Для замены одного знака используется символ «?».                                                                                              agent.name:siem3?
Символ
[]
Описание и синтаксис
Поиск по заданному диапазону, включая граничные значения. Должен состоять из двух значений, разделенных соединителем «TO». Ожидается, что значения не содержат пробелов.                                                                Ключ:[значение_от TO значение_до]
Примеры
Нужно найти все правила с 510 по 550 включительно.                                                                    rule.id:[510 to 550]
Символ
{}
Описание и синтаксис
Поиск по заданному диапазону, исключая граничные значения. Должен состоять из двух значений, разделенных соединителем «TO». Ожидается, что значения не содержат пробелов.                                                                Ключ:{значение_от TO значение_до]
Примеры
Нужно найти все правила с 510 по 550, не включая 510 и 550.                                              rule.id:{510 to 550}
Для объединения нескольких пар «ключ:значение» используются логические операторы (табл.5). Логический оператор ставится перед парой «ключ:значение», к которой он относится.
Следует обратить внимание, что операторы регистрозависимы и их следует писать заглавными буквами.

Таблица 5 – Логические операторы для фильтрации на странице «События»

Текстовый оператор
OR
Символ
||
Описание
Логическое ИЛИИспользуется для объединения условий, где достаточно выполнения хотя бы одного из них.
Синтаксис
Нужно найти правило 510 или 550                                          rule.id:510 OR rule.id:550                  rule.id:510  || rule.id:550
Текстовый оператор
AND
Символ
&&
Описание
Логическое И. Используется для объединения условий, требующих одновременного выполнения. 
Синтаксис
Нужно найти правило 510 и с локацией "svscheck".                  rule.id:510 AND location:"svscheck"                                 rule.id:510 && location: "svscheck"               
Текстовый оператор
NOT
Символ
-
Описание
Логическое НЕ. Используется для исключения определенных условий. Обратить внимание, что запрос с символом "-" следует писать без пробелов.
Синтаксис
location:"svscheck"   NOT syslog     ocation:"svscheck"-syslog
Текстовый оператор
Символ
()
Описание
Используется для группировки операторов.
Синтаксис
(rule.id:510 AND location:"svscheck" ) NOT rule.id:550 
При необходимости использования специальных символов, таких как: «+», «-» «&&», «||», «!», «(», «)», «{», «}», «[», «]», «^», «"», «~», «*», «?», «:», «\» следует использовать специальный синтаксис при помощи символа «\»: 

\(1\+1\)\:2

Пример 1. Отфильтровать события по условию: событие пришло с агента с идентификатором начинается с «00_» и идентификатор трехзначный:

agent.id:00?

Пример 2. Отфильтровать события по условию: событие было проанализировано по правилу с идентификатором, начинающимся с 50 или равным 510:

rule.id:50* || rule.id:510

Пример 3. Отфильтровать события по условию: событие было проанализировано по правилу с идентификатором равным 510 или в диапазоне от 513 до 515 включительно:

rule.id:510 OR rule.id:[513 TO 515]

Пример 4. Отфильтровать события по условию: событие пришло в 14:27 10 февраля 2025 и не с агента с идентификатором равным 004:

@timestamp:"2025-02-10T14:27" NOT agent.id:004

Пример 5. Отфильтровать события по условию: событие c определенным описанием правила, по которому оно сработало:

rule.description:"Unknown problem somewhere in the system" - rule.gpg13:4.3

Пример 6. Отфильтровать события по условию: событие пришло в 14:27 10 февраля 2025 или с агента с идентификатором равным 004 и является нормализованным:

@timestamp:"2025-02-10T14:27" OR agent.id:004 && !rule.id:*

Группа невалидных запросов.
Пример 7. Отфильтровать события по условию: событие сработавшим по правилу начинающимся с «50» или с «asd». Запрос является невалидным, так как в значении более одного спецсимвола «*» и спецсимволу предшествуют не цифры:

rule.id:50* || rule.id:asd*

Пример 8. Отфильтровать события по условию: событие пришло 10 февраля в 20:32. Запрос является невалидным, так как в значении не заключено в кавычки (содержит пробелы и спецсимволы):

predecoder.timestamp:Feb 10 20:32:36

Пример 9. Отфильтровать события по условию: событие пришло от агента с идентификатором 001, 002, 003 или 004. Запрос является невалидным, так как диапазон указывается в «[]» или «{}» через «TO».

agent.id:001-004

Пример 10. Отфильтровать события по условию: событие пришло от агента с идентификатором 001, 002, 003 или 004. Запрос является невалидным, так как в диапазоне есть пробел. При использовании квадратных или фигурных скобок необходимо убедиться, что они содержат только два значения, разделенных «TO».

rule.id:[513 TO 51 5]

Пример 11. Отфильтровать события по условию: событие с полным логом, содержащем данные. Запрос является невалидным, так как значение находится в одинарных кавычках, необходимо использовать двойные кавычки.

full_log:'Feb 11 10:41:49 Deactivated successfully.

Пример 12. Если в интерфейсе выбран тип событий «Нормализованные», а в строке поиска введен запрос «rule.id:510 AND agent.name:"linux-002"», то итоговый запрос будет иметь вид:

(rule.id:510 AND agent.name:"linux-002") AND timestamp:[2025-02-12T00:00:00.000+03:00 TO 2025-02-12T23:59:59.000+03:00] AND rule.level:*

Дополнительные фильтры типа событий и временной период не отображаются в поле ввода, но также участвуют в формировании запроса с одной особенностью. Они автоматически имеют соединитель «AND», и при их наличии все остальные фильтры автоматически оборачиваются в круглые скобки «()».