Модель
Модель данных 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
- TableGetExpression
- TableCountExpression
- TableDefinitionExpression
- ConstExpression
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 | Ограничение памяти (Мб) |