- Главная страница
- Разработка ПО
- О NTechnology
- База знаний
- NTechnology SIEM
- 9. Работа с событиями
- 9.7 Работа с пользовательскими запросами
- 9.7.2 Создание запросов на странице "События"
- Главная страница
- Разработка ПО
- О NTechnology
- База знаний
- NTechnology SIEM
- 9. Работа с событиями
- 9.7 Работа с пользовательскими запросами
- 9.7.2 Создание запросов на странице "События"
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», и при их наличии все остальные фильтры автоматически оборачиваются в круглые скобки «()».
- Главная страница
- Разработка ПО
- О NTechnology
- База знаний
- NTechnology SIEM
- 9. Работа с событиями
- 9.7 Работа с пользовательскими запросами
- 9.7.2 Создание запросов на странице "События"
- Главная страница
- Разработка ПО
- О NTechnology
- База знаний
- NTechnology SIEM
- 9. Работа с событиями
- 9.7 Работа с пользовательскими запросами
- 9.7.2 Создание запросов на странице "События"
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:*