Документация: ПО Факел — разрабатываемая версия
Защита от атак DDoS¶
Обзор¶
Система обнаружения вторжений ПО Факел (раздел service ids ddos-protection) отслеживает трафик защищаемых сетей и обнаруживает атаки типа «отказ в обслуживании» (DDoS) по превышению порогов интенсивности трафика.
Трафик для анализа поступает одним из двух способов, которые задает команда mode:
mirror— анализ зеркалированного трафика, который поступает на интерфейсыlisten-interface. В этом режиме необходимо задать хотя бы один интерфейс. В текущей версии ПО Факел анализатор получает только трафик, который проходит через ядро Linux; трафик, который пересылает FVE, ему не виден (см. Ограничения);sflow— прием потоков sFlow от других устройств на адресеsflow listen-addressи портуsflow port(по умолчанию 6343). В этом режиме адрес необходимо задать. Источником sFlow может быть и другой маршрутизатор ПО Факел (system sflow).
Без режима проверка конфигурации завершается ошибкой.
Защищаемые сети задает команда network, сети, которые исключаются из защиты, — команда excluded-network (трафик адресов этих сетей учитывается в статистике анализатора, но атака для них не обнаруживается). Трафик, у которого и отправитель, и получатель входят в защищаемые сети, считается внутренним и не проверяется: например, если в защищаемую сеть входит адрес источника sFlow или самого маршрутизатора. Команда direction задает, какой трафик анализируется: входящий (in), исходящий (out) или оба направления.
Пороги обнаружения атаки задаются командами threshold: для всего трафика (general) и отдельно для трафика TCP, UDP и ICMP. Для каждого вида трафика можно задать порог в пакетах в секунду (pps), мегабитах в секунду (mbps) и потоках в секунду (fps). Адрес, для которого порог превышен, переходит в заблокированное состояние на время ban-time (по умолчанию 1900 секунд). Заблокированное состояние — это отметка анализатора и запуск сценария администратора: сам трафик адреса система не блокирует. По истечении ban-time адрес выходит из этого состояния, только если атака закончилась; пока атака продолжается, адрес остается заблокированным. Сценарий администратора задает команда alert-script. Сценарий запускается с аргументами: адрес, направление атаки (incoming или outgoing), интенсивность в пакетах в секунду и действие — ban при обнаружении атаки, attack_details с подробностями атаки и unban при выходе адреса из заблокированного состояния. Подробности атаки (тип, протокол, интенсивность по видам трафика) сценарий получает в стандартном потоке ввода; файл сценария должен существовать и быть исполняемым, иначе проверка конфигурации завершается ошибкой.
При применении конфигурации выводится предупреждение о том, что защита от атак DDoS в текущем виде устарела и будет удалена в будущих версиях ПО Факел.
В текущей версии ПО Факел пороги по числу потоков threshold tcp fps, threshold udp fps и threshold icmp fps принимаются, но атака по ним не обнаруживается (пороги по пакетам и скорости и threshold general fps работают) (см. Ограничения).
Список команд¶
Режим «Конфигурирование»¶
service ids ddos-protection alert-script <alert-script>¶
ban, attack_details или unban); подробности атаки передаются в стандартный поток ввода.Синтаксис:
set service ids ddos-protection alert-script
<alert-script>delete service ids ddos-protection alert-script
<alert-script>show service ids ddos-protection alert-script
Аргументы:
<alert-script>— путь к файлу сценария. Формат: строка.
Режим: «Конфигурирование».
service ids ddos-protection ban-time <ban-time>¶
Синтаксис:
set service ids ddos-protection ban-time
<ban-time>delete service ids ddos-protection ban-time
<ban-time>show service ids ddos-protection ban-time
Аргументы:
<ban-time>— время блокировки в секундах. Формат: целое число. Диапазон значений: от 1 до 4294967294. Значение по умолчанию: 1900.
Режим: «Конфигурирование».
service ids ddos-protection direction <direction>¶
Синтаксис:
set service ids ddos-protection direction
<direction>delete service ids ddos-protection direction
<direction>show service ids ddos-protection direction
Аргументы:
<direction>— направление трафика. Возможные значения:in— входящий трафик;out— исходящий трафик. Можно задать несколько значений.
Режим: «Конфигурирование».
service ids ddos-protection excluded-network <excluded-network>¶
alert-script не запускается.Синтаксис:
set service ids ddos-protection excluded-network
<excluded-network>delete service ids ddos-protection excluded-network
<excluded-network>show service ids ddos-protection excluded-network
Аргументы:
<excluded-network>— IPv4- или IPv6-префикс. Формат: IPv4-префикс (x.x.x.x/x) или IPv6-префикс (h:h:h:h:h:h:h:h/x). Можно задать несколько значений.
Режим: «Конфигурирование».
service ids ddos-protection listen-interface <listen-interface>¶
mirror необходимо задать хотя бы один интерфейс, иначе проверка конфигурации завершается ошибкой.Синтаксис:
set service ids ddos-protection listen-interface
<listen-interface>delete service ids ddos-protection listen-interface
<listen-interface>show service ids ddos-protection listen-interface
Аргументы:
<listen-interface>— имя интерфейса. Формат: строка. Можно задать несколько значений.
Режим: «Конфигурирование».
service ids ddos-protection mode <mode>¶
Синтаксис:
set service ids ddos-protection mode
<mode>delete service ids ddos-protection mode
<mode>show service ids ddos-protection mode
Аргументы:
<mode>— режим получения трафика. Возможные значения:mirror— анализ зеркалированного трафика;sflow— прием потоков sFlow.
Режим: «Конфигурирование».
service ids ddos-protection network <network>¶
Синтаксис:
set service ids ddos-protection network
<network>delete service ids ddos-protection network
<network>show service ids ddos-protection network
Аргументы:
<network>— IPv4- или IPv6-префикс. Формат: IPv4-префикс (x.x.x.x/x) или IPv6-префикс (h:h:h:h:h:h:h:h/x). Можно задать несколько значений.
Режим: «Конфигурирование».
service ids ddos-protection sflow listen-address <listen-address>¶
sflow адрес необходимо задать, иначе проверка конфигурации завершается ошибкой.Синтаксис:
set service ids ddos-protection sflow listen-address
<listen-address>delete service ids ddos-protection sflow listen-address
<listen-address>show service ids ddos-protection sflow listen-address
Аргументы:
<listen-address>— локальный IPv4-адрес. Формат: IPv4-адрес (x.x.x.x).
Режим: «Конфигурирование».
service ids ddos-protection sflow port <port>¶
Синтаксис:
set service ids ddos-protection sflow port
<port>delete service ids ddos-protection sflow port
<port>show service ids ddos-protection sflow port
Аргументы:
<port>— номер порта. Формат: целое число. Диапазон значений: от 1 до 65535. Значение по умолчанию: 6343.
Режим: «Конфигурирование».
service ids ddos-protection threshold general fps <fps>¶
Синтаксис:
set service ids ddos-protection threshold general fps
<fps>delete service ids ddos-protection threshold general fps
<fps>show service ids ddos-protection threshold general fps
Аргументы:
<fps>— количество потоков в секунду. Формат: целое число. Диапазон значений: от 0 до 4294967294.
Режим: «Конфигурирование».
service ids ddos-protection threshold general mbps <mbps>¶
Синтаксис:
set service ids ddos-protection threshold general mbps
<mbps>delete service ids ddos-protection threshold general mbps
<mbps>show service ids ddos-protection threshold general mbps
Аргументы:
<mbps>— количество мегабит в секунду. Формат: целое число. Диапазон значений: от 0 до 4294967294.
Режим: «Конфигурирование».
service ids ddos-protection threshold general pps <pps>¶
Синтаксис:
set service ids ddos-protection threshold general pps
<pps>delete service ids ddos-protection threshold general pps
<pps>show service ids ddos-protection threshold general pps
Аргументы:
<pps>— количество пакетов в секунду. Формат: целое число. Диапазон значений: от 0 до 4294967294.
Режим: «Конфигурирование».
service ids ddos-protection threshold icmp fps <fps>¶
Синтаксис:
set service ids ddos-protection threshold icmp fps
<fps>delete service ids ddos-protection threshold icmp fps
<fps>show service ids ddos-protection threshold icmp fps
Аргументы:
<fps>— количество потоков в секунду. Формат: целое число. Диапазон значений: от 0 до 4294967294.
Режим: «Конфигурирование».
service ids ddos-protection threshold icmp mbps <mbps>¶
Синтаксис:
set service ids ddos-protection threshold icmp mbps
<mbps>delete service ids ddos-protection threshold icmp mbps
<mbps>show service ids ddos-protection threshold icmp mbps
Аргументы:
<mbps>— количество мегабит в секунду. Формат: целое число. Диапазон значений: от 0 до 4294967294.
Режим: «Конфигурирование».
service ids ddos-protection threshold icmp pps <pps>¶
Синтаксис:
set service ids ddos-protection threshold icmp pps
<pps>delete service ids ddos-protection threshold icmp pps
<pps>show service ids ddos-protection threshold icmp pps
Аргументы:
<pps>— количество пакетов в секунду. Формат: целое число. Диапазон значений: от 0 до 4294967294.
Режим: «Конфигурирование».
service ids ddos-protection threshold tcp fps <fps>¶
Синтаксис:
set service ids ddos-protection threshold tcp fps
<fps>delete service ids ddos-protection threshold tcp fps
<fps>show service ids ddos-protection threshold tcp fps
Аргументы:
<fps>— количество потоков в секунду. Формат: целое число. Диапазон значений: от 0 до 4294967294.
Режим: «Конфигурирование».
service ids ddos-protection threshold tcp mbps <mbps>¶
Синтаксис:
set service ids ddos-protection threshold tcp mbps
<mbps>delete service ids ddos-protection threshold tcp mbps
<mbps>show service ids ddos-protection threshold tcp mbps
Аргументы:
<mbps>— количество мегабит в секунду. Формат: целое число. Диапазон значений: от 0 до 4294967294.
Режим: «Конфигурирование».
service ids ddos-protection threshold tcp pps <pps>¶
Синтаксис:
set service ids ddos-protection threshold tcp pps
<pps>delete service ids ddos-protection threshold tcp pps
<pps>show service ids ddos-protection threshold tcp pps
Аргументы:
<pps>— количество пакетов в секунду. Формат: целое число. Диапазон значений: от 0 до 4294967294.
Режим: «Конфигурирование».
service ids ddos-protection threshold udp fps <fps>¶
Синтаксис:
set service ids ddos-protection threshold udp fps
<fps>delete service ids ddos-protection threshold udp fps
<fps>show service ids ddos-protection threshold udp fps
Аргументы:
<fps>— количество потоков в секунду. Формат: целое число. Диапазон значений: от 0 до 4294967294.
Режим: «Конфигурирование».
service ids ddos-protection threshold udp mbps <mbps>¶
Синтаксис:
set service ids ddos-protection threshold udp mbps
<mbps>delete service ids ddos-protection threshold udp mbps
<mbps>show service ids ddos-protection threshold udp mbps
Аргументы:
<mbps>— количество мегабит в секунду. Формат: целое число. Диапазон значений: от 0 до 4294967294.
Режим: «Конфигурирование».
service ids ddos-protection threshold udp pps <pps>¶
Синтаксис:
set service ids ddos-protection threshold udp pps
<pps>delete service ids ddos-protection threshold udp pps
<pps>show service ids ddos-protection threshold udp pps
Аргументы:
<pps>— количество пакетов в секунду. Формат: целое число. Диапазон значений: от 0 до 4294967294.
Режим: «Конфигурирование».