{{indexmenu_n>3}}
======Настройка детектора DDoS и BotNet на базе QoE======
Детектор позволяет автоматически контролировать исходящий и входящий трафик, выявлять DDoS-атаки и оперативно принимать меры для защиты сети.
Определять абонентов участников BotNet.
При обнаружении угрозы система может полностью изолировать вредоносный поток или очистить трафик, сохранив доступность сервисов для пользователей.\\
Решение требует:
* СКАТ версии BASE, COMPLETE или BRAS с дополнительными опциями
* QoE с опцией Обнаружение и очистка трафика (blackhole and flowspec) от BotNet и DDoS-атак (опция antiddos)
* разворачивается на существующем сервере с QoE
[[dpi:dpi_options:opt_ddos:ddos_description|Подробнее об инструментах для защиты от DDoS и выявления BotNet]]
=====1. Обновление QoE=====
**На сервере QoE.**
[[dpi:qoe_analytics:implementation_administration:installation_update:update|Обновить QoE]] до последней версии, предварительно остановив ресиверы. Перед запуском ресиверов пропатчить ClickHouse:
dnf --refresh install clickhouse-patched
Установить период ротации на ресиверах – 1 минута.
Запустить ресиверы.
=====2. Обновление GUI=====
**На сервере GUI.**
[[dpi:dpi_components:dpiui:install_and_update:update|Обновить GUI]] до последней версии. Подключить GUI к VAS Cloud, если еще не подключен, подключать **обязательно через API-токен**. [[dpi:dpi_components:dpiui:user_guide:vas_cloud_services:auth_settings|]]. Запросить опцию лицензии 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'' = ''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''
{{:dpi:dpi_options:opt_ddos:qoe_ddos_1.png?direct&1100|}}
Для корректного отображения гео-отчетов DDoS-атак необходимо включить параметр ''GEO_IP_DIC_AUTOLOAD_ENABLED'':\\
{{:dpi:dpi_options:opt_ddos:geo_ru.png?direct&1100|}}
=====7. Анализ атак=====
Обнаруженные атаки можно изучить в разделах DDoS атаки в QoE Анлитике.
- Начните с раздела "ТОП атак" за период 24 часа.\\ Отсортируйте атаки по количеству сессий, запишите себе несколько IP с наибольшим количеством сессиий.\\ {{:dpi:dpi_options:opt_ddos:qoe_ddos_3.png?direct&700|}}
- Посмотрите раздел "ТОП атак по протоколам"\\ Также отсортируйте по количеству сессий. Запишите себе эти протоколы
- Посмотрите раздел "ТОП атакующих IP-адресов", запишите себе несколько IP с наибольшим количеством сессиий\\ {{:dpi:dpi_options:opt_ddos:qoe_ddos_2.png?direct&700|}}
- Посмотрите Лог атак\\ С фильтром по выбранным ранее абонентам и протоколу.\\ Там можно почерпнуть детали атаки и сделать доп. выводы, чтобы принимать какие-либо решения.\\ Например, на скрине ниже явно видно, что идет перебор портов на одном и том же адресе по UDP протоколу. В данном случае достаточно поместить IP атакующего в отдельную АС и сделать ее drop.
Блокировка АС подробно описана в сценарии [[dpi:qoe_analytics:cases:network_health:flood#блокировка_ip_с_помещением_в_автономную_систему|Блокировка IP с помещением в автономную систему]]
{{:dpi:dpi_options:opt_ddos:qoe_ddos_4.png?direct&1100|}}\\