Настройка детектора DDoS и BotNet на базе QoE

Детектор позволяет автоматически контролировать входящий трафик, выявлять DDoS-атаки и оперативно принимать меры для защиты сети. При обнаружении угрозы система может полностью изолировать вредоносный поток или очистить трафик, сохранив доступность сервисов для пользователей. Решение требует СКАТ версии BASE, COMPLETE или BRAS с дополнительными опциями и разворачивается на существующем сервере с QoE. Подробнее об инструментах для защиты от DDoS и выявления BotNet

1. Обновление QoE

На сервере QoE.

Обновить QoE до последней версии, предварительно остановив ресиверы. Перед запуском ресиверов пропатчить ClickHouse:

dnf --refresh install clickhouse-patched

Запустить ресиверы.

2. Обновление GUI

На сервере GUI.

Обновить GUI до последней версии. Подключить GUI к VAS Cloud, если еще не подключен. Выдать опцию лицензии aniddos.

В файле /var/www/html/dpiui2/frontend/env.js прописать опцию AppEnv.DDoSAttack_isVisible = 1;

3. Установка детектора

На сервере QoE.

Установить пакет митигатора fastm_qoe на все узлы:

dnf install fastm_qoe

Переключить версию python:

dnf install -y python39 python39-devel -y
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 60
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 70
sudo update-alternatives --config python3

Выбрать версию 3.9:

python3 --version

4. Настройка детектора

На сервере QoE.

На всех узлах, либо на выбранных.

Отредактировать файл /var/fastm_qoe/etc/.env.
В нем должно быть следующее содержимое:

ANALYZER=avg-based-z-score
ANALYZER_RULES_KEY=avg-based-z-score-any
IDLE_MODE=1
FORCE_MODE=0
DB_DROP_TABLES=1
FM_ATTACKS_METRICS_BY_SUBS_FILTER="and has_attack = 0"
FM_ATTACKS_METRICS_BY_SUBS_LIMIT=1
FM_ATTACKS_METRICS_BY_SUBS_COLLAPSE=1
FM_ATTACKS_METRICS_BY_SUBS_DAY='day_'

Обновить схему:

fastm-db-scheme

Включить сбор метрик
Для этого в файле /var/qoestor/backend/.env добавить FM_FULLFLOW_HOOK_ENABLE=1
Собирать метрики несколько часов, лучше сутки. После отредактировать файл /var/fastm_qoe/etc/.env снова и изменить 2 параметра:

IDLE_MODE=0
DB_DROP_TABLES=0

Это активирует детектор.

5. Пороги срабатывания

В файле /var/fastm_qoe/lib/rules/config.json отредактировать раздел avg-based-z-score-any следующим образом:

"avg-based-z-score-any": {
"octets": { "th": 100, "weight": 0.1 },
"octets_dropped": { "th": 1000, "weight": 0.3 },
"packets": { "th": 100, "weight": 0.3 },
"packets_dropped": { "th": 1000, "weight": 0.3 },
"flows": { "th": 100, "weight": 0.4 },
"sessions": { "th": 100, "weight": 0.4 },
"duration": { "th": 100, "weight": 0.01 },
"host_ips": { "th": 100, "weight": 0.3 },
"protos": { "th": 100, "weight": 0.3 },
"bits_sec": { "th": 100, "weight": 0.05 },
"bits_dropped_sec": { "th": 1000, "weight": 0.05 },
"packets_sec": { "th": 100, "weight": 0.05 },
"packets_dropped_sec": { "th": 1000, "weight": 0.05 }
},

6. Хранение метрик (логи DDoS атак)

В веб-интерфейсе GUI настроить хранение сырых и агрегированных метрик, а также хранение сырого и агрегированного лога атак.

В разделе Администратор → Конфигурация GUI → QoE Stor: Настройки времени жизни БД задать следующие значения параметрам:

QOESTOR_FM_ATTACKS_MAIN_LOG_PARTITIONS_LIFE_TIME_HOUR = 720

QOESTOR_FM_ATTACKS_AGG_LOG_PARTITIONS_LIFE_TIME_DAYS = 30

QOESTOR_FM_METRICS_MAIN_LOG_PARTITIONS_LIFE_TIME_HOUR = 72

QOESTOR_FM_METRICS_AGG_LOG_PARTITIONS_LIFE_TIME_DAYS = 7

7. Анализ атак

Обнаруженные атаки можно изучить в разделах DDoS атаки в QoE Анлитике.

Начните с раздела "ТОП атак" за период 24 часа.
Отсортируйте атаки по количеству сессий, запишите себе несколько IP с наибольшим количеством сессиий.

Посмотрите раздел "ТОП атак по протоколам"
Также отсортируйте по количеству сессий. Запишите себе эти протоколы

Посмотрите раздел "ТОП атакующих IP-адресов", запишите себе несколько IP с наибольшим количеством сессиий

Посмотрите Лог атак
С фильтром по выбранным ранее абонентам и протоколу.
Там можно почерпнуть детали атаки и сделать доп. выводы, чтобы принимать какие-либо решения.
Например, на скрине ниже явно видно, что идет перебор портов на одном и том же адресе по UDP протоколу. В данном случае достаточно поместить IP атакующего в отдельную АС и сделать ее drop.

Блокировка АС подробно описана в сценарии Блокировка IP с помещением в автономную систему