Перейти к содержанию

Модель

Модель данных KeyValueStores

Параметр Тип Обязательность Описание
id string Required Идентификатор хранилища (RVS, табличный список)
name string Required Название табличного списка
description string Required Описание табличного списка
values_scheme Array<ValueScheme> Required Схема значений хранилища (Json как строка)
is_large boolean Required Флаг: используется ли хранилище под большой объем данных
mask_values boolean Required Флаг маскировать ли значения в пользовательском интерфейсе (значения не будут показываться пользователю)
type string Required Тип БД хранилища (на данный момент поддерживается только postgresql - “pg”)
version integer Required Версия хранилища (автоматически увеличивается при изменениях в БД)
source string Required Имя сервера БД, путь к файлу или папке (Не используется. По умолчанию - пустое)
scheme string Required Схема БД
db_name string Required Имя БД
user string Required Имя пользователя БД (Не используется. По умолчанию - пустое)
password string Required Пароль пользователя БД (Не используется. По умолчанию - пустое)
store_count integer Required Количество записей в хранилище
content object Required Контент. По умолчанию - null.
tollerId string Optional Идентификатор трассировки
_relations object Optional
Словарь описывающий связанные модели через идентификаторы
_relations{logmule_go_rules} Array<string> Optional
Список идентификаторов связанных правил
logmule_go_rules Array<LogmuleGoRule> Optional Список связанных правил

ValueScheme

Параметр Тип Обязательность Описание
name string Required Название поля табличного списка
type string Required Тип поля табличного списка. Допустимые значения:
- string
- int
- bigint
- double
- ip_address
- cidr
is_key boolean Optional Флаг, используется ли данное поле в ключе табличного списка

Модель данных LogmuleGoRule

Параметр Тип Обязательность Описание
name string Required Название правила
frontend_data Array<FrontendData> Optional Данные визуального конструктора правила
test_data Array<object> Optional Список событий для тестирования правила (логлайны)
settings Array<SettingRule> Required Список настроек правила
active boolean Required Флаг активности правила
reload boolean Required Флаг перезагрузки правила после обновления
finding_id string Required Идентификатор инцидента
description string Required Описание правила
lua string Required Код правила в формате Lua
is_retro boolean Required Флаг: используется ли правило для ретроспективной корреляции
is_system boolean Required Флаг: системное ли правило
stats object Optional Статистика сработок и ошибок правила
stats{result_count} integer Optional Количество срабатываний правила
stats{error_count} integer Optional Количество ошибок правила
is_error integer Required Количество ошибок
running_at string time Required Дата и время запуска в формате date-time

FrontendData

Параметр Тип Обязательность Описание
alert Object<Alert> Required Щаблон алерта
grouper Object<Grouper> Required Шаблон группера
actions Array<Actions> Required Действия, по результатам сработки правила
conditions Array<Conditions> Required Конструктор условий. Объекты в массиве могут отличаться в зависимости от типа условия:
1. Сравнение (“CompareCondition”). Структура меняется в зависимости от источника данных.
- LoglineGetExpression - значение из события;
- TableGetExpression, TableCountExpression или TableDefinitionExpression - значение из табличного списка;
- ConstExpression - ручной ввод значения
2. Логическое выражение (“LogicalCondition”)
version integer Required Версия схемы конструктора правил

Alert

Параметр Тип Обязательность Описание
id string Required ID шаблона алерта
trace_id string Optional Идентификатор трассировки действия пользователя для аудита
name string Required Название шаблона алерта
create_incident boolean Required Флаг: cоздавать ли инцидент в результате сработки правила
assign_to_customer boolean Required Флаг: назначить ли инцидент пользователю
risk_level number Required Уровень риска. Допустимые значения от 0 до 10.
asset_ip string Required IP-адрес актива
asset_hostname string Required Hostname актива
asset_fqdn string Required FQDN актива
asset_mac string Required MAC-адрес актива
first_and_last_logs boolean Required Флаг: записывать ли в журнал первое и последнее событие
trim_logs integer Required Количество событий для записи в журнал
template string Required Описание шаблона
mitre string Optional Описание техник Mitre. Обычно это идентификаторы техник, используемых киберпреступниками, которые описаны в базе знаний компании Mitre (подробнее см. Techniques - Enterprise | MITRE ATT&CK®)

Grouper

Параметр Тип Обязательность Описание
id string Required ID шаблона группера
trace_id string Optional Идентификатор трассировки действия пользователя для аудита
name string Required Название шаблона группера
grouped_by Array<string> Required Поля для группировки
aggregated_by Array<string> Required Поля для агрегации
grouped_time_field string Required Время события (название поля)
grouped_time_type string Required Формат времени, одно из:
“RFC3339Nano”, “RFC3339”, “ANSIC”, “UnixDate”, “RubyDate”, “RFC822”, “RFC822Z”, “RFC850”,
“RFC850”, “RFC1123”, “RFC1123Z”, “Stamp”, “StampMilli”, “StampMicro”, “StampNano”, “UnixMilli”, “UnixMicro”
detection_windows integer Required Период группировки
detection_windows_unit string Required Единица измерения периода группировки. Допустимые значения:
- ms
- s
- m
- h
aggregate_count integer Required Порог количества событий для срабатывания
aggregate_unique boolean Required Флаг: активировать ли только уникальные события.

Actions

Параметр Тип Обязательность Описание
TTL string Optional Время жизни события (логлайна) в минутах
key object Optional Ключ для действия
key{default} object Required Объект ключа по умолчанию
key{default}/type string Optional Тип ключа. Допустимые значения:
- ”type” == “value” - Значение
- ”type” == “field” - Поле события
key{default}/value string Optional Значение ключа
type string Optional Тип действия. Допустимые значения:
- ”type” == “store-set” - Установка значения в табличном списке;
- ”type” == “store-remove” - Удаление записи в табличном списке;
- ”type” == “store-truncate” - Очистка табличного списка.
store string Optional Табличный список над которым совершается действие
value string Optional Значение
column string Optional Колонка

Conditions

Любой из:

Сравнение
Параметр Тип Обязательность Описание
type string Required Тип условия
id string Required Идентификатор условия
parentId string Optional Идентификатор родительского условия
negation boolean Required Флаг: включить ли для функции сравнения отрицание
compareFn string Optional Функция сравнения. Допустимые значения:eq, streq, exist, in, substr, search, gt, gte, lt, lte, in_sub, in_pref, in_suf, pref, suf, table_search, table_check_ip, between
expressions Array<Expressions> Required Выражение. Массив может содержать разную структуру объекта, в зависимости от источника данных:
- LoglineGetExpression - значение из события
- TableGetExpression, TableCountExpression или TableDefinitionExpression - значение из табличного списка
- ConstExpression - ручной ввод значения
Expressions

Один из:

LoglineGetExpression
Параметр Тип Обязательность Описание
type string Required Тип выражения
value string Required Значение
TableGetExpression
Параметр Тип Обязательность Описание
type string Required Тип выражения
store string Required Источник данных (табличный список)
column string Required Колонка
key object Required Ключ
key{type} string Required Тип ключа. Допустимые значения: logline-get, const-string
key{value} string Required Значение ключа
TableCountExpression
Параметр Тип Обязательность Описание
type string Required Тип выражения
store string Required Источник данных (табличный список)
TableDefinitionExpression
Параметр Тип Обязательность Описание
type string Required Тип выражения
store string Required Источник данных (табличный список)
column string Required Колонка
ConstExpression
Параметр Тип Обязательность Описание
type string Required Тип выражения. Допустимые значения:const-string, const-integer, const-double, const-boolean, const-ip, const-cidr, const-date, const-null, const-string-array
value string Required Значение. Параметр “value” принимает значения разных типов, в зависимости от значения “type”:
- “type” == “const-string” => “value” == “string"
- "type” == “const-integer” => “value” == “string"
- "type” == “const-double” => “value” == “string"
- "type” == “const-boolean” => “value” == “boolean"
- "type” == “const-ip” => “value” == “string"
- "type” == “const-cidr” => “value” == “string"
- "type” == “const-date” => “value” == “string"
- "type” == “const-null” => “value” == “null"
- "type” == “const-string-array” => “value” == “array of strings”
Логическое выражение
Параметр Тип Обязательность Описание
type string Required Тип условия
id string Required Идентификатор условия
parentId string Optional Идентификатор родительского условия
negation boolean Required Флаг: включить ли для функции сравнения отрицание
operator string Required Оператор. Допустимые значения: and, or

SettingRule

Параметр Тип Обязательность Описание
function_metrics boolean Optional Флаг: собирать ли дополнительные метрики
is_constructor boolean Optional Флаг: создано ли правило с помощью визуального конструктора
max_alerts integer Optional Максимальное количество сработок
max_alerts_per_second integer Optional Максимальное количество сработок в секунду
max_rule_memory_mb integer Optional Ограничение памяти (Мб)