{{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|}}\\