Настройка детектора DDoS и BotNet на базе QoE
Детектор позволяет автоматически контролировать исходящий и входящий трафик, выявлять DDoS-атаки и оперативно принимать меры для защиты сети.
Определять абонентов участников BotNet.
При обнаружении угрозы система может полностью изолировать вредоносный поток или очистить трафик, сохранив доступность сервисов для пользователей.
Решение требует:
- СКАТ версии BASE, COMPLETE или BRAS с дополнительными опциями
- QoE с опцией Обнаружение и очистка трафика (blackhole and flowspec) от BotNet и DDoS-атак (опция antiddos)
- разворачивается на существующем сервере с QoE
1. Обновление QoE
На сервере QoE.
Обновить QoE до последней версии, предварительно остановив ресиверы. Перед запуском ресиверов пропатчить ClickHouse:
dnf --refresh install clickhouse-patched
Установить период ротации на ресиверах – 1 минута.
Запустить ресиверы.
2. Обновление GUI
На сервере GUI.
Обновить GUI до последней версии. Подключить GUI к VAS Cloud, если еще не подключен, подключать обязательно через API-токен. Настройка авторизации. Запросить опцию лицензии antiddos, если она еще не выдана.
В файле /var/www/html/dpiui2/frontend/env.js прописать опцию AppEnv.DDoSAttack_isVisible = 1;
3. Установка детектора
На сервере QoE.
Установить пакет митигатора 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
- Выбрать версию Python 3.9:
python3 --version
- Установить
fastm_qoe:dnf install fastm_qoe
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 clickhouse-client -n --query="system reload function has_attack_func" clickhouse-client -n --query="system reload dictionary fm_attacks_metrics_by_subs_dic"
- Включить сбор метрик
Для этого в файле/var/qoestor/backend/.envдобавитьFM_FULLFLOW_HOOK_ENABLE=1 GEO_IP_DIC_AUTOLOAD_ENABLED=1
Выполнить дневной крон:
sh /var/qoestor/backend/app_bash/cron_daily.sh
Собирать метрики в течение 24 часов. После этого снова отредактировать файл
/var/fastm_qoe/etc/.env, изменить 2 параметра:IDLE_MODE=0 DB_DROP_TABLES=0
Это активирует детектор.
- Обновить словари:
clickhouse-client -n --query="system reload function has_attack_func" clickhouse-client -n --query="system reload dictionary fm_attacks_metrics_by_subs_dic"
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=720QOESTOR_FM_ATTACKS_AGG_LOG_PARTITIONS_LIFE_TIME_DAYS=30QOESTOR_FM_METRICS_MAIN_LOG_PARTITIONS_LIFE_TIME_HOUR=72QOESTOR_FM_METRICS_AGG_LOG_PARTITIONS_LIFE_TIME_DAYS=7
Для корректного отображения гео-отчетов DDoS-атак необходимо включить параметр GEO_IP_DIC_AUTOLOAD_ENABLED:
7. Анализ атак
Обнаруженные атаки можно изучить в разделах DDoS атаки в QoE Анлитике.
- Посмотрите раздел "ТОП атак по протоколам"
Также отсортируйте по количеству сессий. Запишите себе эти протоколы - Посмотрите Лог атак
С фильтром по выбранным ранее абонентам и протоколу.
Там можно почерпнуть детали атаки и сделать доп. выводы, чтобы принимать какие-либо решения.
Например, на скрине ниже явно видно, что идет перебор портов на одном и том же адресе по UDP протоколу. В данном случае достаточно поместить IP атакующего в отдельную АС и сделать ее drop.
Была ли полезна эта информация?



