Это старая версия документа!
Настройка детектора 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 протоколу. В этом случае достаточно назначить на профиль атакующего абонента политику drop для прикладного протокола upd unknown через сессионный полисинг (18 услуга).
Это означает что для выбранного абонента будет полностью заблокирован трафик попадающий в данный протокол, т.е. как UDP flood, так и легитимный UDP трафик определенный на DPI как udp unknown.
Была ли полезна эта информация?



