Обновлено 16 авгPDF

Логирование каждого пакета

DosGate позволяет сохранять сведения о пакетах, проходящих через систему, с помощью быстрых таблиц данных — меток.

Метки позволяют определить, какое правило сработало для пакета и какое терминальное действие было выполнено, например DROP или ACCEPT. Этот метод используется, если стандартной статистики по правилам и профилям недостаточно для детального анализа трафика.

Внимание!
Логирование каждого пакета снижает производительность DosGate. Не рекомендуется включать этот режим на платформах, которые обрабатывают более 20 млн пакетов в секунду, а также на серверах с процессорами производительностью ниже Intel Xeon Gold 6230.

Подготовка платформы DosGate

  1. Добавить метку в правила, по которым требуется сохранять данные о пакетах:
    • hmark — IP-адрес отправителя
    • dmark — IP-адрес получателя
    • sdhmark — IP-адреса отправителя и получателя
    • connmark — IP-адреса отправителя и получателя, протокол, порты отправителя и получателя

    В одном профиле можно использовать несколько типов меток.
  2. Определить количество хранимых записей, например 100 000.
  3. Обновить максимальный размер таблицы в соответствии с разделом Изменение максимального размера XDP map. По умолчанию каждая метка хранит до 1 000 000 записей.

Настройка профиля

  1. Для настройки логирования добавить метку в правила, по которым требуется сохранять данные о пакетах.
  2. Разместить метку перед терминальным действием DROP или ACCEPT.
  3. Указать уникальное значение value для каждого правила. Значение ID можно оставить одинаковым.
  4. Задать в параметре 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 — hmark
  • dhost — dmark
  • sdhost — sdhmark
  • conn — 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.