Получение оповещений о пользовательских правилах Suricata

Kaspersky Research Sandbox предоставляет API для получения оповещений Suricata, инициируемых правилами пользователя.

Структура ответа содержит данные, полученные непосредственно от сканера Suricata. Более подробную информацию о структуре данных можно найти в документации Suricata.

Запрос

Метод запроса: GET

Конечная точка: https://<server name>/api/v1/sandbox/tasks/<task ID>/custom-suricata-alerts

Параметры

Параметры получения оповещений о пользовательских правилах Suricata

Параметр

Тип данных

Вхождение

Описание

task_id

строка

Обязательно

Идентификатор задачи выполнения объекта (GUID).

Пример команды cURL:

$ curl --http1.1 --user <user name> --request GET --header "Content-Type:application/octet-stream" --data-binary '@<path to file>' 'https://<server name>/api/v1/sandbox/tasks/<task ID>/custom-suricata-alerts'

Вам будет предложено ввести пароль. Пароль не отображается во время ввода.

Ответы

Конечная точка возвращает оповещения, инициированные пользовательскими правилами Suricata пользователя.

200 OK

Оповещения Suricata успешно получены.

Параметры ответа 200 OK

Параметр

Тип данных

Описание

timestamp

строка

Дата и время регистрации оповещения.

event_type

строка

Тип события, например alert.

flow_id

число

Идентификатор потока.

src_ip

строка

Исходный IP-адрес.

src_port

целое число

Номер порта источника.

dst_ip

строка

IP-адрес назначения.

dst_port

целое число

Номер порта назначения.

proto

строка

Используемый протокол, например UDP.

app_proto

строка

Протокол уровня приложения, например TLS.

packet_info

массив

Информация о пакете:

linktype – тип ссылки, например 1.

alert

массив

Описание оповещения:

action – выполненное действие.

gid – идентификатор группы.

signature_id – указанный пользователем числовой идентификатор правила. Каждое правило в наборе имеет уникальный идентификатор.

rev – версия правила, указанная пользователем. Пользовательские версии позволяют изменять номера версий одного и того же правила, сохраняя при этом один и тот же идентификатор signature_id.

signature – название обнаруженного объекта.

category – категория оповещения.

severity – уровень опасности оповещения.

Пример ответа 200 OK:

{

"timestamp": "2022-09-01T12:01:36.936848+0300",

"event_type": "alert",

"flow_id": 1202053786389392,

"src_ip": "10.109.221.118",

"src_port": 56001,

"dest_ip": "224.0.0.252",

"dest_port": 5355,

"proto": "UDP",

"app_proto": "failed",

"packet_info": {

"linktype": 1

},

"alert": {

"action": "allowed",

"gid": 1,

"signature_id": 1,

"rev": 1,

"signature": "Trojan-Spy.Win32.Solmyr.a",

"category": "",

"severity": 3

},

"packet": "AQBeAAD8AOBM8826CABFAAAyAHMAAAER8GgKbd124AAA/NrBFOsAHtILnD0AAAABAAAAAAAABHdwYWQAAAEAAQ=="

}

400 Bad Request

Не удалось получить оповещения Suricata.

Параметры ответа 400 Bad Request

Параметр

Тип данных

Описание

code

строка

Идентификатор ошибки.

message

строка

Описание ошибки.

meta

строка

Дополнительная информация, если таковая имеется.

Примеры ошибок:

Неверный параметр task_id:

{"code":6,"message":"task not found"}

Неверный формат параметра task_id:

{"code":29,"message":"bad task id"}

401 Unauthorized

Не удалось получить оповещения Suricata из-за неверных учетных данных пользователя.

404 Not Found

Не удалось получить оповещения Suricata из-за неверного идентификатора задачи.

500 Internal Server Error

Не удалось получить оповещения Suricata из-за внутренней ошибки сервера.

В начало