Счетчики

Счётчики — это набор правил для мониторинга трафика по заданным 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 обеспечит непрерывную защиту без снятия маршрутизации между волнами.