Счетчики
Счётчики — это набор правил для мониторинга трафика по заданным CIDR‑адресам. Они позволяют задать пороговые значения в байтах, пакетах или битах.
Настройка правил
В правой части интерфейса отображается панель настройки параметров счётчика. Здесь последовательно указываются ключевые характеристики создаваемого порога:
- Приоритет правила
- Тип
- Единица измерения
- Вектор
- Порог
Приоритет правила
При создании правила система автоматически назначает ему приоритет, учитывая общее количество существующих правил в объекте. По умолчанию новое правило размещается последним по приоритету. Чем меньше номер приоритета, тем раньше сработает правило — например, правило с приоритетом 1 будет обрабатываться первым. Для изменения порядка срабатывания необходимо вручную указать нужный порядковый номер.
Тип
Типы подсчета трафика. Доступны три режима: global, local и subnet. Тип подсчета определяет, каким образом система интерпретирует превышение лимита в рамках заданного диапазона IP-адресов (CIDR).
- global
Подсчет трафика выполняется суммарно по всем IP-адресам, указанным во вкладке CIDR. Превышение порога регистрируется, если совокупный трафик на все адреса в диапазоне превысил заданное значение. Этот режим подходит для оценки общей нагрузки на подсеть или группу адресов.
- local
Подсчет ведется по каждому отдельному IP-адресу внутри указанного диапазона. Например, для CIDR 192.168.0.0/24 порог будет контролироваться индивидуально для каждого из 256 адресов. Аномалия фиксируется, если превышение лимита произошло на одном из адресов. Используется для точечной детекции атак на конкретные хосты внутри подсети.
- subnet
Подсчёт ведётся по каждому отдельному префиксу, начиная с длины маски /31. Превышение фиксируется только в том случае, если трафик в пределах конкретной подсети превышает порог. Если нагрузка распределена между несколькими подсетями и в каждой из них порог не превышен, аномалия не регистрируется. Подходит для контроля нагрузки на изолированные адресные диапазоны.
Единицы измерения
Для анализа трафика используются следующие варианты измерения:
- bits - Количество битов в секунду.
- bytes - Количество байт в секунду.
- packets - Количество пакетов в секунду.
Вектор
Вектор — это фильтр, определяющий, по каким признакам FlowCollector будет учитывать трафик при подсчёте и анализе. Указывается один или несколько векторов, каждый из которых задаёт условие по протоколу, порту, флагу TCP, размеру или структуре пакета. Трафик, не соответствующий заданным векторным условиям, исключается из подсчёта. Векторы необходимы для ограничения области анализа и настройки правил под конкретные типы атак.
Поддерживаемые векторы атак:
Вектор атаки | Описание |
---|---|
Apple Remote Desktop Amplification | UDP, порт источника 3283 |
Chargen Amplification | UDP, порт источника 19 |
DNS Amplification | UDP, порт источника 53 |
DNS Flood | UDP или TCP, порт получателя 53 |
GRE Flood | Протокол GRE |
HTTP Flood | TCP, порт получателя 80 |
HTTPS Flood | TCP, порт получателя 444 |
IBM CICS Amplification | UDP, порт источника 1435 |
ICMP Flood | Протокол ICMP (только IPv4) |
Invalid Protocol Flood | Пакет с идентификатором протокола 0 |
IP Fragmentation Flood | Пакет с установленным битом фрагментации |
IP Private Flood | IPv4 с адресом источника из диапазонов: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 |
LDAP Amplification | UDP, порт источника 389 |
Memcached Amplification | UDP, порт источника 11211 |
MSSQL Amplification | UDP, порт источника 1434 |
NTP Amplification | UDP, порт источника 123 |
SNMP Amplification | UDP, порт источника 161 |
SNMPTRAP Amplification | UDP, порт источника 162 |
Spoofing Flood | Пакеты с подменёнными (спуфингованными) IP-адресами источника |
SSDP Amplification | UDP, порт источника 1900 |
TCP ACK Flood | TCP с флагом ACK (Acknowledgment, 0x10) |
TCP CWR Flood | TCP с флагом CWR (Congestion Window Reduced, 0x80) |
TCP ECE Flood | TCP с флагом ECE (ECN-Echo, 0x40) |
TCP FIN Flood | TCP с флагом FIN (No more data, 0x01) |
TCP Flood | Протокол TCP |
TCP Null Flood | TCP без установленных флагов (флаг 0) |
TCP PSH Flood | TCP с флагом PSH (Push Function, 0x08) |
TCP RST Flood | TCP с флагом RST (Reset, 0x04) |
TCP SYN Flood | TCP с флагом SYN (Synchronize, 0x02) |
TCP URG Flood | TCP с флагом URG (Urgent Pointer, 0x20) |
Total Traffic | Любой сетевой пакет (IPv4/IPv6) |
UDP Big Packets Flood | UDP-пакет, где длина заголовка и данных ≥ 1498 байт |
UDP Flood | Протокол UDP |
UDP Zero Payload Flood | UDP-пакет с нулевым payload (без данных) |
WS Discovery Amplification | UDP, порт источника 3702 |
Порог
Порог определяет условие, при котором трафик считается аномальным. В одном правиле может быть указано несколько порогов; срабатывание любого из них считается нарушением.
Поддерживаются следующие типы порогов:
- Threshold
Статический порог. Значение задаётся явно (например, 1 MB/s или 10 Kpps). Срабатывает при превышении заданного значения.
- Diff
Динамический порог по абсолютной разнице. Система сравнивает текущее значение трафика с предыдущим, измеренным 1000 мс назад. Если разница превышает заданный порог (например, рост на 5000 пакетов/с), фиксируется аномалия.
- Reldiff
Динамический порог по относительной разнице (множителю). Система сравнивает текущее значение с предыдущим, но срабатывает, если рост превышает заданный множитель (например, в 5 раз).
Примеры типовых правил
Ниже приведён набор типовых правил, используемых в базовой конфигурации FlowCollector. Эти правила охватывают ключевые типы трафика и применяются для детектирования наиболее распространённых векторов атак.
Действия при срабатывании порогов
Next-hop action
Данная опция определяет, куда перенаправлять трафик при срабатывании порогов. Выбор действия осуществляется по имени, заданному в конфигурационном файле analyzer.yaml.
Пример конфигурации:
nexthops: # BGP next-hop'ы.
- name: transit # Имя next-hop'а
ip: 192.168.0.1 # IP-адрес next-hop'а
- name:dosgate # Имя next-hop'а
ip: 192.168.10.1 # IP-адрес next-hop'а
В поле Next-hop action правила необходимо указать логическое имя (например, dosgate или transit), соответствующее записи в конфигурации. При срабатывании порога система инициирует перенаправление трафика по указанному маршруту.
Confirmation period
Данная опция устанавливает минимальное время (в секундах), в течение которого должно наблюдаться превышение порога, прежде чем будет выполнено действие. Это позволяет избежать ложных срабатываний от кратковременных всплесков трафика.
Пример: если задан confirmation period = 1, превышение порога должно сохраняться в течение одной секунды, чтобы система инициировала действие.
Action timeout
Данная опция позволяет задать количество секунд задержки снятия трафика с маршрута очистки после завершения аномалии. Это необходимо для корректной обработки pulse-wave атак — периодических кратковременных всплесков трафика, которые могут повторяться с одинаковой интенсивностью через короткие интервалы.
Немедленное прекращение действия при каждом снижении трафика может привести к пропуску повторяющихся атак и нестабильной маршрутизации. Задержка позволяет объединить такие всплески в одну аномалию и удерживать трафик на очистке в течение заданного времени.
Пример: Если атака возникает каждые 30 секунд со скачком до 50 Gbps, параметр action timeout = 60 обеспечит непрерывную защиту без снятия маршрутизации между волнами.