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

Модель

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

Параметр Тип Обязательность Описание
id string Required Идентификатор макроса
created_at string time Required Дата создания макроса в формате: date-time
updated_at string time Required Дата изменения макроса в формате: date-time
name string Required Название макроса
content string Required Код макроса
is_system boolean Required Флаг: является ли макрос системным
logmule_go_rules Array<LogmuleGoRule> Optional Список правил, использующих данный макрос
_relations object Optional Словарь описывающий связанные модели через идентификаторы
_relations{logmule_go_rules} Array<string> 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 Ограничение памяти (Мб)