Шаблоны поиска
Шаблоны поиска в R-Vision SIEM используются для настройки конфигурации и условий RQL-запросов. Они применяются в разделе Поиск и виджетах дашбордов для отображения аналитических данных.
Управление конфигурациями шаблонов поиска осуществляется в разделе Экспертиза. Шаблоны позволяют задавать фильтры, временные интервалы и RQL-запросы для выборки событий, упрощая анализ данных и создание визуализаций.
О шаблонах поиска
Шаблон поиска — это структурированный объект данных в формате RObject (.ro), который определяет параметры и условия для выполнения запросов к данным в системе в разделе Поиск и виджетах дашбордов. Их можно создавать на основе запросов, введенных в этих разделах, или непосредственно через раздел Экспертиза. Шаблон поиска задает структуру фильтров, временной интервал и параметры выборки, которые могут быть использованы для выполнения поисковых запросов по событиям системы.
Шаблон поиска включает следующие компоненты: фильтры для настройки условий отбора данных, временные параметры и RQL-запрос, формирующий логику поиска. Фильтры определяют поля и условия, по которым данные отбираются, временные параметры указывают период выборки, а запрос на языке RQL задает основную логику обработки данных.
Каждый фильтр включает описание целевого поля данных, логический оператор сравнения и значения, по которым данные должны отбираться. В качестве условий могут использоваться операторы EQ
, BETWEEN
, LIKE
, IN
, GT
, GE
, LT
, LE
, и NE
.
Шаблон поиска позволяет настраивать временные параметры, включая фиксированный период и интервальные значения. Это обеспечивает возможность как статических, так и динамических выборок данных на основе шаблона. Поля фильтров и временных настроек передаются в RQL-запрос, который используется для конечной выборки данных.
Работа с шаблоном поиска
Шаблоны поиска используются в разделе Поиск.
Доступные операции над шаблоном поиска:
Создание шаблона
Чтобы создать шаблон:
-
Перейдите в раздел Поиск.
-
Нажмите на кнопку Шаблоны (
). Отобразится панель шаблонов.
-
Нажмите на кнопку Создать шаблон. Отобразится окно сохранения шаблона.
-
Введите название шаблона.
-
При необходимости введите описание шаблона.
-
Выберите каталог раздела Экспертиза, в который будет помещен шаблон.
-
Чтобы сохранить в шаблоне текущий заданный период, установите флажок Сохранить временной период.
-
Чтобы сохранить в шаблоне имеющиеся пользовательские фильтры, установите флажок Сохранить фильтры.
-
Нажмите на кнопку Создать. Система создаст шаблон поиска и отобразит уведомление об успешном создании. Новый шаблон появится на панели шаблонов.
Применение шаблона
Чтобы применить шаблон:
-
Перейдите в раздел Поиск.
-
Нажмите на кнопку Шаблоны (
). Отобразится панель шаблонов.
-
Выберите шаблон из списка. Система применит шаблон для поиска событий.
Поиск шаблона
Чтобы найти шаблон:
-
Перейдите в раздел Поиск.
-
Нажмите на кнопку Шаблоны (
). Отобразится панель шаблонов.
-
Введите название требуемого шаблона в поле поиска. На панели отобразятся шаблоны, в названии которых встречается введенный запрос.
Обновление шаблона
Вы можете обновить существующий шаблон. Для этого:
-
Перейдите в раздел Поиск.
-
Нажмите на кнопку Шаблоны (
). Отобразится панель шаблонов.
-
Вы можете отредактировать название и описание шаблона. Также можно установить или снять флажки Сохранить временной период и Сохранить фильтры.
-
Нажмите на кнопку Обновить и подтвердите обновление. Система сохранит изменения и отобразит уведомление об этом. В шаблоне будет сохранен поисковый запрос, введенный в поле запроса на момент редактирования.
Работа с RObject-конфигурацией шаблона поиска
Создание шаблона поиска
Чтобы создать шаблон поиска:
-
Перейдите в раздел Экспертиза. Система отобразит сведения об имеющихся элементах экспертизы, в том числе их текущий статус (включен/выключен).
-
На панели инструментов нажмите на кнопку Создать и выберите из выпадающего списка опцию Шаблон поиска. Система отобразит окно создания шаблона.
При создании элемента экспертизы поля его структуры заполняются значениями по умолчанию. Для быстрой настройки структуры в системе доступны предустановленные примеры. Чтобы заполнить поля элемента экспертизы с помощью примера, нажмите на кнопку Примеры и выберите требуемый пример из выпадающего списка. -
Заполните поля шаблона поиска, чтобы задать параметры поиска и условия фильтрации.
-
Нажмите на кнопку Опубликовать версию. Система создаст шаблон поиска и отобразит уведомление об успешном создании. Новый шаблон появится в таблице раздела Экспертиза.
Чтобы шаблон поиска стал доступным для использования, его необходимо включить. Вы можете создать шаблон поиска без публикации (в виде черновика), используя кнопку Сохранить черновик. Система отобразит уведомление об успешном создании черновика, который отобразится в таблице раздела Экспертиза.
Вы также можете создать конфигурацию шаблона поиска на основе существующего запроса. |
Изменение шаблона поиска
Чтобы изменить шаблон поиска:
-
Перейдите в раздел Экспертиза. Система отобразит сведения об имеющихся элементах экспертизы, в том числе их текущий статус (включен/выключен).
-
Нажмите на строку шаблона поиска в списке. Система отобразит в правой части экрана карточку этого шаблона с подробной информацией о нем.
-
Нажмите на кнопку действий (
) в верхнем правом углу карточки и выберите опцию Изменить. Отобразится окно настроек шаблона.
Вы также можете открыть окно настроек с помощью кнопки в нижней части карточки:
-
Для опубликованной версии: нажмите на кнопку Просмотр в нижней части карточки. Система отобразит окно просмотра настроек элемента экспертизы. Нажмите на кнопку Изменить в правом нижнем углу окна.
-
Для черновика: нажмите на кнопку Изменить в нижней части карточки.
-
-
Внесите необходимые изменения в конфигурацию шаблона поиска.
-
Нажмите на кнопку Обновить версию. Новая версия шаблона поиска с измененной конфигурацией будет опубликована. Система отобразит уведомление об изменении шаблона.
При публикации новой версии элемента экспертизы требуется увеличить его текущую версию в поле version
.Вы можете сохранить измененную конфигурацию шаблона поиска без публикации (в виде черновика) с помощью кнопки Сохранить черновик. Система сохранит конфигурацию для дальнейшего редактирования и отобразит уведомление об этом. В верхней части карточки шаблона будет отображаться предупреждение о наличии неопубликованных изменений.
Удаление шаблона поиска
Удаление доступно только для элементов экспертизы с типом создания Пользовательский. |
Удаление недоступно для элементов экспертизы, используемых в других сущностях системы.
Чтобы удалить шаблон поиска:
-
Перейдите в раздел Экспертиза. Система отобразит сведения об имеющихся элементах экспертизы, в том числе их текущий статус (включен/выключен).
-
Нажмите на строку шаблона поиска в списке. Система отобразит в правой части экрана карточку этого шаблона с подробной информацией о нем.
-
Нажмите на кнопку действий (
) в верхнем правом углу карточки и выберите опцию Удалить. Отобразится окно подтверждения удаления шаблона.
-
Нажмите на кнопку Удалить. Система удалит шаблон поиска и отобразит уведомление об успешном удалении. Удаленный шаблон будет исключен из списка элементов экспертизы.
Вы также можете удалить группу элементов экспертизы. Для этого:
|
Структура шаблона поиска
Шаблон поиска содержит обязательные и опциональные поля, определяющие его логику и настройки для отбора данных.
Поле | Описание | Тип данных | Обязательное поле |
---|---|---|---|
|
Уникальный идентификатор шаблона поиска. Должен быть уникальным в пределах экспертизы. Можно использовать UUID в качестве значения. |
Строка |
да |
|
Название шаблона поиска. Допустимы латинские буквы, цифры, точки, подчеркивания и дефисы. |
строка |
да |
|
Краткое описание назначения шаблона поиска. |
строка |
нет |
|
Тип шаблона. Для шаблонов поиска всегда указывается |
строка |
да |
|
Имя и контактные данные автора шаблона поиска. |
строка |
нет |
|
Дата создания или изменения шаблона. Задается в формате Поле не связано с полями Дата создания и Дата изменения в карточке элемента экспертизы. |
строка |
нет |
|
Статус разработки текущей версии шаблона поиска. Может принимать любые текстовые значения. Примеры значений:
|
строка |
нет |
|
Список тегов, присвоенных шаблону поиска для классификации и быстрого поиска. |
массив строк |
нет |
|
Версия шаблона поиска в формате Semantic Versioning. |
строка |
да |
|
Временной интервал для выборки данных. Может включать период ( |
объект |
да |
|
RQL-запрос, определяющий логику поиска и выборки данных. |
строка |
да |
Структура filters
Поле filters
описывает настройки условий для отбора данных в шаблоне поиска. Каждый фильтр включает параметры для задания условий отбора и дополнительных параметров конфигурации.
Поле | Описание | Тип данных | Обязательное поле |
---|---|---|---|
|
Название целевого поля данных, к которому применяется фильтр. |
строка |
да |
|
Оператор сравнения, определяющий логику фильтрации. Допустимые значения: |
строка |
да |
|
Массив значений, используемых для фильтрации. Для операций |
массив строк |
да |
|
Статус фильтра, указывающий, будет ли он применен ( |
булево значение |
да |
|
Опция инверсии условия фильтрации. Если установлено в |
булево значение |
нет |
|
Пользовательское название фильтра, отображаемое в интерфейсе на панели фильтров. Если значение не задано, используется значение поля |
строка |
нет |
Структура time
Поле time
определяет временной интервал, за который выполняется выборка данных в шаблоне поиска. Интервал может задаваться двумя способами: с помощью фиксированного периода (from
и to
) или через интервальные параметры (unit
и value
).
Поле | Описание | Тип данных | Обязательное поле |
---|---|---|---|
|
Начальная точка временного интервала в формате |
строка |
да (если |
|
Конечная точка временного интервала в формате |
строка |
да (если |
|
Единица измерения временного интервала. Допустимые значения: |
строка |
да (если |
|
Количество единиц, задающих продолжительность временного интервала. Например, при значениях |
число |
да (если |
Составление шаблона поиска
Для создания шаблона поиска необходимо определить ряд обязательных и опциональных полей, которые формируют структуру и логику поиска.
Поля метаданных
Заполните поля метаданных шаблона поиска:
-
id
: уникальный идентификатор шаблона поиска. Должен быть уникальным в пределах экспертизы. -
name
: название шаблона поиска. Допустимы латинские буквы, цифры, символы подчеркивания, точки и дефисы. -
type
: всегда указываетсяsearch_template
для элементов экспертизы данного типа. -
description
(опционально): краткое описание назначения шаблона. -
author
(опционально): имя и контактные данные автора шаблона поиска. -
version
: версия шаблона поиска согласно стандарту Semantic Versioning. -
status
(опционально): статус разработки шаблона. Может принимать текстовые значения, такие как:-
draft
: черновая версия. -
published
: опубликованная версия. -
deprecated
: устаревшая версия.
-
-
tags
(опционально): список тегов, присвоенных шаблону для классификации и быстрого поиска. -
date
(опционально): дата создания или изменения шаблона. Формат значения:YYYY-MM-DD
.
Пример метаданных:
id: 61f0c404-5cb3-11e7-907b-000000000000 name: Failed Logins type: search_template description: Шаблон поиска для неудачных попыток входа author: John Doe <johndoe@rvision.ru> version: 1.0.0 status: published date: 2024-01-15 tags: - security - login
В этом примере:
-
Поле
id
: уникальный идентификатор шаблона поиска. В данном случае UUID —61f0c404-5cb3-11e7-907b-000000000000
. -
Поле
name
: название шаблона — "Failed Logins". -
Поле
type
: тип шаблона —search_template
. -
Поле
description
: краткое описание — "Шаблон поиска для неудачных попыток входа". -
Поле
author
: имя автора шаблона — "John Doe <johndoe@example.com>". -
Поле
version
: версия шаблона в формате1.0.0
. -
Поле
status
: статус разработки шаблона —published
. -
Поле
date
: дата создания шаблона — "2024-01-15". -
Поле
tags
: содержит тегиsecurity
иlogin
для классификации шаблона.
Поле filters
Поле filters
используется для настройки условий фильтрации данных. Каждый фильтр определяет параметр для отбора, логический оператор и значения.
-
name
: название целевого поля данных для фильтрации. -
operation
: логический оператор для сравнения значений (например,EQ
,BETWEEN
,LIKE
,IN
). -
values
: массив значений для сравнения с полем.Для операций IN
допускается указание нескольких значений, а дляBETWEEN
— строго два значения (границы интервала). -
inverted
: указывает, применяется ли логическое отрицание к результату фильтрации. -
enabled
: указывает, включен ли фильтр для обработки. -
customTitle
(опционально): заголовок фильтра, который отображается на панели фильтров.
Пример фильтра:
filters: - name: action values: - login operation: EQ inverted: false enabled: true customTitle: Action Filter - name: status values: - failed operation: EQ inverted: false enabled: true customTitle: Status Filter
В этом примере:
-
Первый фильтр проверяет, равно ли значение поля
action
значениюlogin
. -
Второй фильтр проверяет, равно ли значение поля
status
значениюfailed
. -
Оба фильтра включены для обработки (
enabled: true
), и логическое отрицание не применяется (inverted: false
). -
В полях
customTitle
фильтрам присвоены заголовкиAction Filter
иStatus Filter
, которые отобразятся на панели фильтров.
Поле time
Поле time
определяет временной интервал для выборки данных в шаблоне поиска. Может быть представлено либо фиксированным периодом, либо интервалом времени.
Фиксированный период
-
from
: начало временного интервала. -
to
: окончание временного интервала.
Пример с фиксированным периодом:
time: from: 2024-10-25 04:00:00 to: 2024-10-26 03:59:59
В этом примере данные будут отбираться за фиксированный временной период с 25 октября 2024 года, начиная с 04:00:00, по 26 октября 2024 года до 03:59:59.
Интервальный тип
-
unit
: единица измерения интервала времени (например,DAY
,HOUR
). -
value
: длительность интервала в указанных единицах.
Пример с интервальным типом:
time: unit: DAY value: 1
В этом примере задается временной интервал в 1 день (unit: DAY
, value: 1
). Это позволяет динамически выбирать данные, например, за последние 24 часа от момента выполнения запроса.
Поле rql
Поле rql
определяет запрос на языке RQL для формирования условий поиска в шаблоне.
Пример RQL-запроса:
rql: sourceIp = '192.0.2.1' AND dvendor = 'Linux'
В этом примере:
-
Запрос отбирает записи, где:
-
sourceIp
: значение поля равно192.0.2.1
. -
dvendor
: значение поля равноLinux
.
-
Пример шаблона поиска
# Уникальный идентификатор шаблона поиска. id: a1f0d234-6ac2-4d7e-bf93-000000000000 # Название шаблона поиска. name: Failed Login Attempts # Тип элемента экспертизы. type: search_template # Версия шаблона. version: 1.0.0 # Описание назначения шаблона поиска. description: Шаблон для поиска неудачных попыток входа в систему # Автор шаблона. author: John Doe <johndoe@example.com> # Фильтры для настройки условий поиска. filters: - name: action values: - login operation: EQ inverted: false enabled: true customTitle: Action Filter - name: status values: - failed operation: EQ inverted: false enabled: true customTitle: Status Filter # Временной период для выборки данных. time: unit: HOUR value: 1 # RQL-запрос для выборки данных. rql: sourceIp = '192.0.2.1' AND dvendor = 'Linux'
Интерпретация
Метаданные шаблона поиска:
-
id
: уникальный идентификатор шаблона поиска. В данном случае UUID —a1f0d234-6ac2-4d7e-bf93-000000000000
. -
name
: название шаблона поиска — "Failed Login Attempts". -
type
: тип элемента — всегда указывается какsearch_template
. -
version
: версия шаблона —1.0.0
. -
description
: описание назначения шаблона — "Шаблон для поиска неудачных попыток входа в систему". -
author
: автор шаблона — "John Doe <johndoe@example.com>".
Фильтры:
-
filters
: фильтры позволяют задавать условия для отбора данных:-
Фильтр
action
с операторомEQ
задает условие, при котором значение поляaction
должно быть равноlogin
. -
Фильтр
status
также с операторомEQ
отбирает события, где значение поляstatus
равноfailed
. -
Фильтры отобразятся на панели фильтров с заголовками
Action Filter
иStatus Filter
, которые заданы в поляхcustomTitle
.
-
Временной интервал:
-
time
: интервал, в пределах которого будут искаться события. В примере указан интервал в 1 час (unit
установлен наHOUR
,value
равно1
).
RQL-запрос:
-
rql: запрос на языке RQL, определяющий логику поиска.
-
Запрос отбирает записи, где:
-
sourceIp
: значение равно192.0.2.1
. -
dvendor
: значение равноLinux
.
-
-