{{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?nolink&1100|}}
Для корректного отображения гео-отчетов DDoS-атак необходимо включить параметр ''GEO_IP_DIC_AUTOLOAD_ENABLED'':\\
{{:dpi:dpi_options:opt_ddos:geo_ru.png?nolink&1100|}}
=====7. Анализ атак=====
Обнаруженные атаки можно изучить в разделах DDoS атаки в QoE Аналитике.
- Начните с раздела "ТОП атак" за период 24 часа.\\ Отсортируйте атаки по количеству сессий, запишите себе несколько IP с наибольшим количеством сессиий.\\ {{:dpi:dpi_options:opt_ddos:qoe_ddos_3.png?nolink&700|}}
- Посмотрите раздел "ТОП атак по протоколам"\\ Также отсортируйте по количеству сессий. Запишите себе эти протоколы
- Посмотрите раздел "ТОП атакующих IP-адресов", запишите себе несколько IP с наибольшим количеством сессиий\\ {{:dpi:dpi_options:opt_ddos:qoe_ddos_2.png?nolink&700|}}
- Проанализируйте Лог атак с фильтром по выбранным ранее абонентам и протоколу.\\ Там можно почерпнуть детали атаки и сделать дополнительные выводы, чтобы принимать какие-либо решения.\\ Например, на скриншоте ниже явно видно, что идет перебор портов на одном и том же адресе по UDP протоколу. В этом случае достаточно назначить на профиль атакующего абонента политику ''drop'' для прикладного протокола ''upd unknown'' через сессионный полисинг (18 услуга).\\ \\ Это означает что для выбранного абонента будет полностью заблокирован трафик попадающий в данный протокол, т.е. как UDP flood, так и легитимный UDP трафик определенный на DPI как udp unknown.
Подробнее о настройке сессионного полисинга: [[dpi:dpi_options:opt_shaping:shaping_session]]
{{:dpi:dpi_options:opt_ddos:qoe_ddos_4.png?nolink&1100|}}\\