Логирование каждого пакета
DosGate позволяет сохранять сведения о пакетах, проходящих через систему, с помощью быстрых таблиц данных — меток.
Метки позволяют определить, какое правило сработало для пакета и какое терминальное действие было выполнено, например DROP или ACCEPT. Этот метод используется, если стандартной статистики по правилам и профилям недостаточно для детального анализа трафика.
Внимание!
Логирование каждого пакета снижает производительность DosGate. Не рекомендуется включать этот режим на платформах, которые обрабатывают более 20 млн пакетов в секунду, а также на серверах с процессорами производительностью ниже Intel Xeon Gold 6230.
Подготовка платформы DosGate
- Добавить метку в правила, по которым требуется сохранять данные о пакетах:
- hmark — IP-адрес отправителя
- dmark — IP-адрес получателя
- sdhmark — IP-адреса отправителя и получателя
- connmark — IP-адреса отправителя и получателя, протокол, порты отправителя и получателя
В одном профиле можно использовать несколько типов меток. - Определить количество хранимых записей, например 100 000.
- Обновить максимальный размер таблицы в соответствии с разделом Изменение максимального размера XDP map. По умолчанию каждая метка хранит до 1 000 000 записей.
Настройка профиля

- Для настройки логирования добавить метку в правила, по которым требуется сохранять данные о пакетах.
- Разместить метку перед терминальным действием DROP или ACCEPT.
- Указать уникальное значение value для каждого правила. Значение ID можно оставить одинаковым.
- Задать в параметре lifetime время хранения записи.

По значению value можно определить, какое именно правило сработало. При использовании sdhmark запись содержит IP-адреса отправителя и получателя.
Интеграция с SIEM
Данные из меток можно получать через API DosGate и передавать в SIEM.
Получение списка профилей арены
curl --location 'http://<node_ip>/fapi' \
--header 'Content-Type: application/json' \
--data '{
"url": "arena://<arena>",
"cmd": "list"
}'
Получение списка правил профиля
Запрос выполнить для каждого профиля, данные которого передаются в SIEM.
curl --location 'http://<node_ip>/fapi' \
--header 'Content-Type: application/json' \
--data '{
"url": "profile://<arena>/<profile>",
"cmd": "list"
}'
Получение списка записей
В параметре type указать значение, соответствующее используемому типу метки:
shost— hmarkdhost— dmarksdhost— sdhmarkconn— connmark
Полный список записей рекомендуется запрашивать не чаще одного раза в три секунды.
Получение 100 000 записей занимает около 1100 мс. Размер ответа составляет около 4,8 Мбайт.
curl --location 'http://<node_ip>/fapi' \
--header 'User-Arena: <arena>' \
--header 'Content-Type: application/json' \
--data '{
"url": "mark://<arena>/<profile>",
"type": "<marktype>",
"cmd": "list"
}'
Передача данных в SIEM
Вместе с записями из метки рекомендуется передавать: - дату и время получения данных - название ноды DosGate - название арены - название профиля - список правил профиля
Название ноды задаётся произвольно и позволяет определить источник данных, если центр обработки состоит из нескольких нод DosGate.
Список правил позволяет определить по значениям value и ID, какое правило соответствует записи в метке.
Поле lifetime можно исключить, если оно не используется при обработке данных в SIEM.
Повторный запрос
Через заданный интервал повторно запросить записи из метки и передать обновлённые данные в SIEM.