Документация: ПО Факел — разрабатываемая версия

Защита от атак 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>

Описание:
Задает время в секундах, в течение которого IP-адрес остается заблокированным. Если по истечении этого времени атака продолжается, адрес остается заблокированным до ее окончания.

Синтаксис:

  • 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>

Описание:
Задает сети IPv4 и IPv6, которые исключаются из защиты: трафик адресов этих сетей учитывается в статистике анализатора, но превышение порогов для них не обнаруживается и сценарий 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>

Описание:
Задает интерфейс, на который поступает зеркалированный трафик. В текущей версии ПО Факел анализатор получает только трафик ядра Linux на этом интерфейсе; трафик, который пересылает FVE, ему не виден (см. Ограничения).
В режиме 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>

Описание:
Задает сети IPv4 и IPv6, которые принадлежат администратору и защищаются от атак.

Синтаксис:

  • 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>

Описание:
Задает локальный IPv4-адрес, на котором принимаются потоки sFlow.
В режиме 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>

Описание:
Задает номер порта, на котором принимаются потоки sFlow.

Синтаксис:

  • 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>

Описание:
Задает порог обнаружения атаки для трафика ICMP: количество потоков в секунду.

Синтаксис:

  • 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>

Описание:
Задает порог обнаружения атаки для трафика ICMP: количество мегабит в секунду.

Синтаксис:

  • 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>

Описание:
Задает порог обнаружения атаки для трафика ICMP: количество пакетов в секунду.

Синтаксис:

  • 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>

Описание:
Задает порог обнаружения атаки для трафика TCP: количество потоков в секунду.

Синтаксис:

  • 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>

Описание:
Задает порог обнаружения атаки для трафика TCP: количество мегабит в секунду.

Синтаксис:

  • 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>

Описание:
Задает порог обнаружения атаки для трафика TCP: количество пакетов в секунду.

Синтаксис:

  • 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>

Описание:
Задает порог обнаружения атаки для трафика UDP: количество потоков в секунду.

Синтаксис:

  • 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>

Описание:
Задает порог обнаружения атаки для трафика UDP: количество мегабит в секунду.

Синтаксис:

  • 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>

Описание:
Задает порог обнаружения атаки для трафика UDP: количество пакетов в секунду.

Синтаксис:

  • 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.

Режим: «Конфигурирование».