Обновлено 16 марPDF

Правила

Правила – алгоритм (инструкция) для обработки трафика.

Создание и редактирование правил

Правила могут быть заданы одним из двух способов: с использованием пресета или вручную.

Создание правила через пресет

  1. Перейти в необходимый профиль.
  2. Выбрать опцию Создать через пресет.
  3. В правом нижнем углу отобразятся доступные контрмеры:
    • Контрмеры отображаются фиолетовым цветом, если подключена база вредоносных сигнатур.
    • Контрмеры отображаются белым цветом, если они были созданы вручную в разделе Пресеты.
  4. Выбрать необходимую контрмеру и перетянуть в поле Правила.
  5. Для применения изменений необходимо нажать желтую кнопку Применить

Создание правила вручную

  1. Перейти в необходимый профиль.
  2. Выбрать опцию Вручную.

В DosGate правила создаются путем комбинирования совпадений и действий. Совпадения определяют условия, при которых правило срабатывает. Действия применяются к трафику, если условия совпадений выполнены. Такой процесс позволяет гибко настраивать фильтрацию и управление трафиком.

Пример №1

Назначение правила: Ограничения доступа на основе географического происхождения IP-адреса. Весь трафик, не относящийся к России, будет отброшен.

  1. В интерфейсе профиля нажать кнопку Вручную. Это откроет форму для настройки совпадений.
  2. В поле Совпадение выбрать параметр geoipcountryRU.
  3. Активировать радиокнопку NOT, чтобы применить логическое отрицание. Условие будет выполняться для всех IP-адресов, не принадлежащих РФ.
  4. В поле Сверяем установить src, правило будет охватывать весь трафик, источник которого находится за пределами РФ. Нажать кнопку Добавить.
  5. В поле Действие выбрать STATS — это позволяет записывать все срабатывания правила в отдельный счётчик. Ввести имя счётчика: GEO_NOT_RU, чтобы в дальнейшем можно было анализировать объём и частоту трафика, не относящегося к России. Нажать кнопку Добавить.
  6. В поле Действие выберать DROP - это действие приведёт к немедленному отбрасыванию всех пакетов, соответствующих условию (т.е. всех, кто не из РФ). Пакеты будут сброшены без уведомления отправителя и без дальнейшей обработки.
  7. При необходимости добавить комментарий к правилу. Это может быть пояснение или примечание для администратора.
  8. Нажать зелёную кнопку Добавить, чтобы сохранить правило в список.
  9. После добавления необходимо нажать жёлтую кнопку Применить в левой части интерфейса. Только после этого правило будет активно и начнёт применяться к обрабатываемому трафику.

Пример №2

Назначение правила: Ограничение частоты UDP-трафика с последующей временной блокировкой IP-адреса-источника при превышении лимита. Правило также регистрирует статистику по всем срабатываниям.

  1. В интерфейсе профиля нажать кнопку Вручную. Это откроет форму для настройки совпадений.
  2. В поле Совпадение выбрать параметр protocoludp. Нажать зелёную кнопку Добавить Это ограничит обработку правил только UDP-трафиком.
  3. В поле Действие выбрать ratelimit, указав параметры:
    • id8
    • Bucket keyl3_proto и l3_src
    • pps → rate500

    Нажать зелёную кнопку Добавить. Это ограничение установит максимум 500 пакетов в секунду от одного источника. В правом нижнем углу нажать зелёную кнопку Добавить для добавления первого правила.
  4. Добавить второе правило. В поле Совпадение выбрать verdict, установить:
    • typeratelimit
    • valueexceed

    Нажать зелёную кнопку Добавить.Это условие будет выполнено, если лимит, указанный в предыдущем шаге, превышен.
  5. В поле Действие поочередно выбрать:
    • STATS – имя счётчика RL_UDP_SRC_BLOCK. Это позволит учитывать случаи превышения лимита. Нажать кнопку Добавить.
    • HMARK, указав: - id2 - value2 - lifetime300
      Нажать кнопку Добавить. Действие установит метку на IP-адрес на 300 секунд.
    • DROP – для немедленного отбрасывания пакета.

    В правом нижнем углу нажать зелёную кнопку Добавить для добавления второго правила.
  6. Добавить третье правило. В поле Действие выбрать:
    • verdictclear.

    Нажать кнопку Добавить. Сбрасывает verdict правила, если ни одно из предыдущих условий не выполнено.
    В правом нижнем углу нажать зелёную кнопку Добавить для добавления третьего правила.
  7. Добавить четвертое правило. В поле Совпадение добавить параметр HMARK, указав:
    • id2
    • statusvalid
      Нажать кнопку Добавить. Это условие проверяет, что у пакета уже установлена действительная хеш-метка.
  8. В поле Действие выбрать STATS и ввести имя счётчика: TEMP_BLOCK. Нажать кнопку Добавить. Это позволит отслеживать количество срабатываний правила.
  9. Добавить ещё одно действие: DROP.
    Все пакеты с валидной меткой 2 будут отброшены.
    Нажать зелёную кнопку Добавить, чтобы сохранить правило в список.
  10. Необходимо переместить четвёртое правило в начало списка правил (сделать его первым). Это обеспечивает приоритетную фильтрацию пакетов, уже помеченных HMARK id 2, без повторной проверки всех условий, заданных ниже. Такое расположение позволяет сразу отбрасывать трафик, ранее идентифицированный как превышающий лимит, минимизируя нагрузку на последующую обработку.
  11. Нажать жёлтую кнопку Применить в левой части интерфейса. Только после этого правила начнут применяться к трафику.

Совпадения

В системе Dosgate каждая проверка совпадения содержит один или несколько аргументов, настраиваемых пользователем. Для всех совпадений предусмотрена возможность включения флага NOT, реализованного в виде переключателя. NOT — логическая операция отрицания, при активации которой условие совпадения инвертируется: правило сработает для всех значений, кроме указанного.

dport - Порт получателя

ПараметрОписание
portНомер порта, для которого применяется правило (диапазон от 0 до 65535)

dst - IP получателя

ПараметрОписание
IP-маскаПрефикс, для которого применяется правило
(Если маска подсети не указана, по умолчанию будет применена маска /32)

hmark - Метка для IP-отправителя

ПараметрВариантыОписание
idИдентификатор метки (диапазон от 1 до 255)
statusСостояние метки. Возможные значения:
expiredМетка существует, но срок действия истёк
validМетка активна, срок действия не истёк
age_opОператор сравнения для времени жизни метки:
bwМежду двумя значениями
eqРавно указанному значению
gtБольше указанного значения
ltМеньше указанного значения
nullСравнение по времени не выполняется
age_valueВремя жизни метки (например, 1200 секунд или диапазон 5m-10m)
valueЧисловое значение метки, присвоенной пакету ранее с помощью
действия HMARK

port - Порт отправителя и получателя

ПараметрОписание
portНомер порта, для которого применяется правило (диапазон от 0 до 65535)

protocol - Протокол

ПротоколОписание
ipv4Протокол интернета версии 4
ipv6Протокол интернета версии 6
tcpПротокол управления передачей (Transmission Control Protocol)
udpПротокол пользовательских дейтаграмм (User Datagram Protocol)
ahПротокол аутентификации заголовков (Authentication Header)
espПротокол безопасности IP (Encapsulating Security Payload)
ethПротокол Ethernet
greПротокол инкапсуляции (Generic Routing Encapsulation)
icmpПротокол управления интернет-сообщениями (Internet Control Message Protocol)
icmpv6Версия ICMP для IPv6
ipipПротокол туннелирования IP-в-IP, используется для инкапсуляции
одного IP-пакета в другой
netГруппа протоколов сетевого уровня: включает ipv4, ipv6
sctpПротокол управления потоками сообщений (Stream Control Transmission Protocol)
secГруппа протоколов (IPsec): включает ah, esp
transportГруппа протоколов транспортного уровня: включает tcp, udp, sctp, icmp
tunГруппа туннельных протоколов: включает gre, ipip
tun_ahПротокол ah с туннелированным заголовком
tun_espПротокол esp с туннелированным заголовком
tun_ipv4Протокол ipv4 с туннелированным заголовком
tun_ipv6Протокол ipv6 с туннелированным заголовком
tun_netГруппа протоколов сетевого уровня с туннелированным заголовком
tun_secГруппа протоколов sec с туннелированным заголовком
vlanТегированный трафик

sport - Порт отправителя

ПараметрОписание
portНомер порта, для которого применяется правило (диапазон от 0 до 65535)

verdict - Вердикт для предыдущего алгоритма

ТипЗначениеОписание
rateРезультат оценки текущей скорости трафика
conformСкорость не превышает заданное пороговое значение,
соответствие норме
cooldownСработал период охлаждения после зафиксированной перегрузки,
трафик временно не считается превышающим
exceedСкорость превышена,
текущий трафик нарушает установленный лимит
ratelimitРезультат проверки соблюдения ограничений скорости
передачи битов или пакетов
conformПередача данных укладывается
в установленные пределы
cooldownВключён период восстановления после превышения,
трафик временно допускается
exceedПревышен первый порог (1-rate),
допустим только краткосрочный допуск
violateПревышен второй порог (2-rate),
нарушение лимита требует блокировки
sampleРезультат применения механизма выборки трафика
matchПакет выбран
согласно параметрам выборки
skipПакет исключён из выборки,
не обрабатывается по текущему правилу
tcpauthРезультат проверки подлинности TCP-пакета
validTCP-пакет успешно аутентифицирован,
подпись валидна
invalidTCP-пакет не прошёл проверку подлинности,
подпись некорректна
ignoredTCP-пакет не может быть аутентифицирован

connmark - Метка для соединений

ПараметрВариантыОписание
idИдентификатор метки (диапазон от 1 до 255)
statusСостояние метки. Возможные значения:
expiredМетка существует, но срок действия истёк
validМетка активна, срок действия не истёк
age_opОператор сравнения для времени жизни метки:
bwМежду двумя значениями
eqРавно указанному значению
gtБольше указанного значения
ltМеньше указанного значения
nullСравнение по времени не выполняется
age_valueВремя жизни метки (например, 1200 секунд или диапазон 5m-10m)
valueЧисловое значение метки, присвоенной пакету ранее с помощью
действия CONNMARK

dhmark - Метка для IP-получателя

ПараметрВариантыОписание
idИдентификатор метки (диапазон от 1 до 255)
statusСостояние метки. Возможные значения:
expiredМетка существует, но срок действия истёк
validМетка активна, срок действия не истёк
age_opОператор сравнения для времени жизни метки:
bwМежду двумя значениями
eqРавно указанному значению
gtБольше указанного значения
ltМеньше указанного значения
nullСравнение по времени не выполняется
age_valueВремя жизни метки (например, 1200 секунд или диапазон 5m-10m)
valueЧисловое значение метки, присвоенной пакету ранее с помощью
действия DHMARK

frag - Фрагмент сетевого уровня

ПараметрОписание
anyСоответствует любому фрагменту (первому, промежуточному или последнему)
dfТолько пакеты с флагом Don't Fragment (IPv4)
firstТолько первый фрагмент
internalТолько промежуточные фрагменты (не первый и не последний)
lastТолько последний фрагмент
unfragТолько целые (нефрагментированные) пакеты

geoip - Географическая БД для IP

ПараметрВариантыОписание
СверяемОпределяет, какой IP-адрес использовать для географической
проверки:
srcIP-адрес источника
dstIP-адрес назначения
countryФильтрация по стране
continentФильтрация по континенту

icmp - Типы и коды ICMP

  • icmp type — определение типа сообщения.
  • icmp code — уточнение подтипа (если указано).
icmp typeicmp codeОписание
alt_addrСообщение ICMP об альтернативном адресе назначения
converrОшибка преобразования дейтаграммы при конвертации
протоколов
echo_replyОтвет на ICMP-запрос эха (проверка доступности узла)
echo_requestЗапрос эха ICMP (диагностика доступности узлов)
exПревышено время жизни пакета (TTL)
defragВремя ожидания сборки фрагментов превышено
ttlВремя жизни (TTL) истекло при транзите
info_reqplyОтвет на запрос информации об узле
info_requestЗапрос информации об узле
ipv6_hiaУведомление "Я здесь" (IPv6)
ipv6_wayЗапрос "Где ты?" (IPv6)
mask_replyОтвет ICMP с маской подсети
mask_requestЗапрос маски подсети
mob_redirПеренаправление пакетов мобильному хосту
mob_reg_replyОтвет на регистрацию мобильного узла
mob_reg_requestЗапрос на регистрацию мобильного узла
mobexpЭкспериментальные протоколы мобильности
name_replyОтвет с доменным именем
name_requestЗапрос доменного имени
paramОшибка параметров заголовка IP-пакета
lenНедопустимая длина заголовка
optОтсутствует обязательная опция
ptrУказатель ссылается на некорректное значение
photurisОшибка механизма Photuris (безопасность обмена ключами)
quenchУведомление об уменьшении скорости передачи
raРеклама маршрутизатора
redirectПереадресация пакета на другой шлюз
hostПереадресация для конкретного хоста
netПереадресация в пределах сети
tos_hostПереадресация с учетом класса обслуживания и хоста
tos_netПереадресация с учетом класса обслуживания и сети
rsЗапрос маршрутизатора для обнаружения шлюза
skip_discoverСообщение обнаружения SKIP
traceICMP-сообщение трассировки пути пакета
tsЗапрос временной метки
ts_replyОтвет на временную метку
unreachПункт назначения недостижим
fragТребуется фрагментация, но установлен флаг DF
hostХост назначения недоступен
hpvНарушение приоритета хоста
iso_hostИзоляция источника
netСеть назначения недоступна
pcДостигнут предел приоритета
portПорт назначения недоступен
prДоступ запрещён администратором
pr_hostДоступ к хосту запрещён
pr_netДоступ к сети запрещён
protoПротокол назначения недоступен
srСбой маршрутизации по заданному маршруту
tos_hostХост недоступен по классу обслуживания
tos_netСеть недоступна по классу обслуживания
unk_hostХост назначения неизвестен
unk_netСеть назначения неизвестна
xecho_replyРасширенный ответ на эхо-запрос
badНекорректный запрос
intfНет интерфейса для ответа
multНайдено несколько интерфейсов
okЗапрос выполнен успешно
tblТаблица маршрутизации не содержит записи
xecho_requestРасширенный эхо-запрос с дополнительной информацией

icmp6 - Типы и коды ICMPv6

Тип сообщенияНазваниеОписание
cpaCertification Path
Advertisement
Используется для распространения
информации о сертификационном пути
cpsCertification Path
Solicitation
Применяется для запроса
сертификационного пути
echo_replyEcho ReplyОтвет на ICMPv6-эхо-запрос, применяется
для диагностики сетевой доступности
echo_requestEcho RequestОтправляется для проверки
доступности узла (аналог ping)
exTime ExceededГенерируется при превышении
времени жизни (Hop Limit) пакета
hadd_replyHome Agent Address
Discovery Reply
Ответ с адресом домашнего агента
в мобильной IPv6-сети
hadd_requestHome Agent Address
Discovery Request
Запрос адреса
домашнего агента
indaInverse Neighbor
Discovery Advertisement
Ответ, содержащий IPv6-адрес,
связанный с MAC-адресом
indsInverse Neighbor
Discovery Solicitation
Запрос IPv6-адреса
по MAC-адресу
iniqICMP Node
Information Query
Запрос информации об узле
(например, hostname или адреса)
inirICMP Node
Information Response
Ответ с запрошенной
информацией об узле
mldMulticast Listener DoneОповещение о выходе
из multicast-группы
mlqMulticast Listener QueryЗапрос о наличии
подписчиков multicast-группы
mlr1Version 1 Multicast
Listener Report
Отчет о подписке на
multicast-группу (версия 1)
mlr2Version 2 Multicast
Listener Report
Отчет о подписке на
multicast-группу (версия 2)
mobexpExperimental
mobility protocols
Используется в экспериментальных
протоколах мобильности
mpaMobile Prefix
Advertisement
Реклама IPv6-префикса
для мобильных узлов
mpsMobile Prefix
Solicitation
Запрос префикса у
маршрутизатора мобильной сети
mraMulticast Router
Advertisement
Служебное сообщение для
объявления маршрутизатора multicast
mrsMulticast Router
Solicitation
Запрос на обнаружение
multicast-маршрутизаторов
mrtMulticast Router
Termination
Уведомление об отключении
функции multicast-маршрутизатора
naNeighbor AdvertisementОтвет на Neighbor Solicitation,
содержит MAC-адрес узла
nsNeighbor SolicitationИспользуется для определения
MAC-адреса по IPv6
paramParameter ProblemУказывает на ошибки
в заголовке IPv6-пакета
raRouter AdvertisementИспользуется маршрутизаторами
для объявления себя в сети
redirRedirectИнформирует хост
об оптимальном маршруте к назначению
rrRouter RenumberingИспользуется для перенумерации
адресов маршрутизатора
rsRouter SolicitationЗапрос маршрутизатора
для получения RA-сообщений
toobigPacket Too BigУказывает, что пакет превышает
максимально допустимый размер MTU
unreachDestination UnreachableУведомление о невозможности
доставки пакета до получателя

len - Длина пакета

ПараметрВариантыОписание
lenЧисловое значение в диапазоне 0–65535.
levelЭлемент кадра для анализа:
applicationАнализ содержимого данных приложений
(HTTP, DNS и другие L7-протоколы)
encapАнализ инкапсуляции (PPPoE, MPLS и др.)
macАнализ MAC-адресов и полей Ethernet-заголовка
netАнализ IP-заголовков (адреса, TTL, протокол)
secАнализ IPSec (заголовки AH/ESP, параметры шифрования)
transportАнализ транспортных заголовков (TCP/UDP порты, флаги)
tunАнализ заголовков туннелирования
tun_netАнализ IP-заголовков внутри туннеля
tun_secАнализ IPSec в туннелированном трафике
vlanАнализ VLAN-тегов
elmОпределяет конкретную часть сетевого кадра/пакета для анализа:
headerТолько заголовков пакета
packetВсего пакета целиком
payloadТолько полезной нагрузки

mark - Локальная метка на пакет

ПараметрОписание
valueЧисловое значение метки, присвоенной пакету ранее с помощью действия MARK

pset - Префикс-сет

ПараметрВариантыОписание
nameИмя предопределенного набора адресов
classТип префикс-сета:
localЛокальные префикс-сеты
globalГлобальные префикс-сеты
whatКакое поле анализировать:
srcАдрес источника
dstАдрес назначения
valueЧисловое значение или диапазон

sdhmark - Метка для IP отправителя и получателя

ПараметрВариантыОписание
idИдентификатор метки (диапазон от 1 до 255)
statusСостояние метки. Возможные значения:
expiredМетка существует, но срок действия истёк
validМетка активна, срок действия не истёк
age_opОператор сравнения для времени жизни метки:
bwМежду двумя значениями
eqРавно указанному значению
gtБольше указанного значения
ltМеньше указанного значения
nullСравнение по времени не выполняется
age_valueВремя жизни метки (например, 1200 секунд или диапазон 5m-10m)
valueЧисловое значение метки, присвоенной пакету ранее с помощью
действия SDMARK

seq - Последовательность байтов

ПараметрВариантыОписание
levelЭлемент кадра для анализа:
applicationАнализ содержимого данных приложений
(HTTP, DNS и другие L7-протоколы)
encapАнализ инкапсуляции (PPPoE, MPLS и др.)
macАнализ MAC-адресов и полей Ethernet-заголовка
netАнализ IP-заголовков (адреса, TTL, протокол)
secАнализ IPSec (заголовки AH/ESP, параметры шифрования)
transportАнализ транспортных заголовков (TCP/UDP порты, флаги)
tunАнализ заголовков туннелирования
tun_netАнализ IP-заголовков внутри туннеля
tun_secАнализ IPSec в туннелированном трафике
vlanАнализ VLAN-тегов
elmОпределяет конкретную часть сетевого кадра/пакета для анализа:
headerТолько заголовков пакета
packetВсего пакета целиком
payloadТолько полезной нагрузки
rangeДиапазон байтов внутри полезной нагрузки пакета,
в пределах которого осуществляется поиск.
По умолчанию: 0-1500 (начальная часть кадра/пакета)
repeatКоличество повторений искомой последовательности
в пределах указанного диапазона.
По умолчанию: 0 (повторение не проверяется)
distanceМинимальное расстояние в байтах между повторяющимися
вхождениями последовательности (если указан repeat)
seqASCII-строка для поиска в теле пакета.
Поиск по декодированному содержимому (аналогично Wireshark)
b64seqСтрока в Base64, представляющая последовательность как в seq,
но закодированную. Для точного соответствия
бинарным данным или нестандартной кодировке

spi - IPSec SPI

ПараметрОписание
spiЧисловое значение или диапазон

src - IP отправителя

ПараметрОписание
IP-маскаПрефикс, для которого применяется правило
(Если маска подсети не указана, по умолчанию будет применена маска /32)

tcpflags - TCP Flags

  • flags - список TCP-флагов, которые должны быть установлены в пакете (со значением 1). Указываются через запятую в левой части выражения.
  • mask — список флагов, по которым производится сравнение (в правой части выражения). Если флаг указан в маске, то он обязательно проверяется: его наличие или отсутствие должно точно соответствовать соответствующему значению в flags.

Семантика работы следующая: каждый флаг из mask проверяется — если он присутствует в flags, то он должен быть установлен (равен 1), если отсутствует — то должен быть сброшен (равен 0).

Поддерживаются следующие TCP-флаги:

ФлагНазваниеОписание
ackAcknowledgementФлаг подтверждения
allAllВсе флаги одновременно
cwrCongestion Window ReducedФлаг уменьшения окна перегрузки
eceECN EchoФлаг ECN-Echo
finFinishФлаг завершения соединения
pshPushФлаг принудительной отправки данных
rstResetФлаг аварийного разрыва соединения
synSynchronizationФлаг синхронизации
urgUrgentФлаг срочных данных

tcpmss - TCP Maximum Segment Size

ПараметрОписание
valueЧисловое значение или диапазон от 1 до 4096

tcpopts - TCP опции

  • left side — список TCP-опций, которые должны быть установлены. Указывается в левой части выражения, через запятую.
  • right side — маска TCP-опций, по которым будет производиться проверка. Указывается в правой части выражения, через запятую.

Семантика работы следующая: каждая опция из right side проверяется — если она присутствует в left side, то она должен быть установлена (равна 1), если отсутствует — то должна быть сброшена (равна 0).

Поддерживаются следующие TCP-опции:

ОпцияНазначение
ECHOЗапрос проверки соединения.
Измерение задержки (RTT)
ECHO_REPLYОтвет на Echo Request
EOLМаркер конца списка опций TCP.
Выравнивание опционного поля
MSSМаксимальный размер TCP-сегмента.
Определяет размер принимаемых данных
NOOPПустая опция-заполнитель.
Не содержит полезных данных
SACKВыборочное подтверждение.
Отслеживание полученных блоков при потерях
SACK_PERMITРазрешение использования SACK.
Только в SYN-пакетах
TIMESTAMPИзмерение времени доставки.
Защита от повторных передач
WSCALEМасштабирование окна приёма.
Для высокоскоростных сетей

tcpws - TCP Window Scale

ПараметрОписание
valueЧисловое значение или диапазон

tdst - IP-получателя в туннеле

ПараметрОписание
valueПрефикс, для которого применяется правило
(Если маска подсети не указана, по умолчанию будет применена маска /32)

tgeoip - GeoIP в туннеле

ПараметрВариантыОписание
СверяемОпределяет, какой IP-адрес использовать для географической
проверки:
srcIP-адрес источника
dstIP-адрес назначения
countryФильтрация по стране
continentФильтрация по континенту

tpset - Префикс-сет в туннеле

ПараметрВариантыОписание
nameИмя предопределенного набора адресов
classТип префикс-сета:
localЛокальные префикс-сеты
globalГлобальные префикс-сеты
whatКакое поле анализировать:
srcАдрес источника
dstАдрес назначения
valueЧисловое значение или диапазон

tspi - Tunnelled IPSec SPI

ПараметрОписание
spiЧисловое значение или диапазон

tsrc - IP-отправителя в туннеле

ПараметрОписание
valueПрефикс, для которого применяется правило
(Если маска подсети не указана, по умолчанию будет применена маска /32)

ttl - TTL пакета

ПараметрОписание
ttlЧисловое значение или диапазон от 1 до 255

Действия

ACCEPT

Разрешает прохождение пакета, передавая его на выход.

DROP

Немедленно отбрасывает пакет, прекращая его обработку.

HMARK

Устанавливает или модифицирует метку для IP-отправителя на основе заданной операции и параметров. Применяется для маркировки пакетов с целью дальнейшей классификации или маршрутизации.

ПараметрВариантыОписание
idЧисло в диапазоне 1-255
howДействие с меткой:
addДобавить значение
andПобитовое И
decДекремент
divДеление на указанное значение
incИнкремент
multУмножение на указанное значение
notПобитовая инверсия
orПобитовое ИЛИ
restoreВосстановить сетевую метку из общей метки
saveСохранить сетевую метку в общую метку
setУстановить метку
subВычесть значение
xorПобитовое исключающее ИЛИ
valueЧисловое значение 0 до 232-1
lifetimeВремя жизни метки в секундах. Если значение равно 0 или
не указано — метка считается постоянной

RATELIMIT

Действие RATELIMIT применяется для ограничения частоты обработки пакетов по заданным ключам агрегации (bucket key). Позволяет задавать предельные значения по количеству пакетов в секунду (PPS) и/или объёму данных (BPS), а также управлять поведением при превышении лимитов.

ПараметрВариантыОписание
idЧисловой идентификатор
Bucket keyКлюч агрегации:
Определяет, по какому признаку (или их совокупности)
будут сгруппированыпакеты при учёте скорости
Any matchВсе пакеты обрабатываются в одном общем bucket-е,
без разделения
l3_dstПо IP-адресу назначения
l3_srcПо IP-адресу источника
l3_protoПо протоколу L3 (IPv4, IPv6)
l3_tun_dstПо адресу назначения туннелированного L3
l3_tun_srcПо адресу источника туннелированного L3
l3_tun_protoПо протоколу туннелированного L3
l4_dstПо порту назначения
l4_srcПо порту источника
l4_protoПо протоколу L4 (TCP, UDP)
sec_idПо идентификатору IPsec
sec_protoПо протоколу IPsec
sec_tun_idПо SPI туннелированного трафика
sec_tun_protoПо протоколу туннелированного IPsec
tun_idПо ID туннеля
tun_protoПо протоколу туннеля
cooldownИнтервал восстановления (в секундах).
Время, в течение которого, после превышения лимита,
новое срабатывание ограничения по данному bucket-ключу
невозможно.
ppsОграничение по количеству пакетов в секунду:
rateМаксимальное количество пакетов в секунду (PPS)
burstДопустимый всплеск в миллисекундах.
В течение указанного времени может быть превышен лимит rate,
после чего срабатывает ограничение.
bpsОграничение по объёму трафика (бит в секунду):
rateПредельная скорость передачи данных
в битах в секунду (BPS)
burstДопустимое превышение в миллисекундах,
В течение указанного времени может быть превышен лимит rate,
после чего срабатывает ограничение

UH

Активирует сессионную защиту и анализ трафика на уровнях L3–L7. Выбор уровня определяет глубину проверки:

ПараметрОписание
L3-L4Выполняется только отслеживание соединений (Connection Tracking);
правила TLS и анализ L7 не применяются.
L3-L7Выполняются все доступные проверки:
от Connection Tracking до анализа TLS-пакетов

CAPTURE

Управляет захватом трафика с помощью dosgate-uh. Используется для сохранения копий трафика при выполнении конечного действия.

ПараметрОписание
onАктивирует захват трафика при достижении терминального действия
offОтключает ранее назначенное действие захвата

CONNMARK

Устанавливает или модифицирует метку, связанную с TCP/UDP-соединением. Применяется для отслеживания состояния и последующей фильтрации пакетов в рамках одного соединения.

ПараметрВариантыОписание
idЧисло в диапазоне 1-255
howДействие с меткой:
addДобавить значение
andПобитовое И
decДекремент
divДеление на указанное значение
incИнкремент
multУмножение на указанное значение
notПобитовая инверсия
orПобитовое ИЛИ
restoreВосстановить сетевую метку из общей метки
saveСохранить сетевую метку в общую метку
setУстановить метку
subВычесть значение
xorПобитовое исключающее ИЛИ
valueЧисловое значение 0 до 232-1
lifetimeВремя жизни метки в секундах. Если значение равно 0 или
не указано — метка считается постоянной

DHMARK

Присваивает метку, основанную на IP-адресе получателя. Используется для классификации трафика по адресу назначения.

ПараметрВариантыОписание
idЧисло в диапазоне 1-255
howДействие с меткой:
addДобавить значение
andПобитовое И
decДекремент
divДеление на указанное значение
incИнкремент
multУмножение на указанное значение
notПобитовая инверсия
orПобитовое ИЛИ
restoreВосстановить сетевую метку из общей метки
saveСохранить сетевую метку в общую метку
setУстановить метку
subВычесть значение
xorПобитовое исключающее ИЛИ
valueЧисловое значение 0 до 232-1
lifetimeВремя жизни метки в секундах. Если значение равно 0 или
не указано — метка считается постоянной

DNAT

Выполняет Destination Stateless NAT — заменяет IP-адрес назначения в пакете без сохранения состояния соединения.

ПараметрОписание
prefixСписок IP-префиксов, разделённых запятыми, по одному на каждую
поддерживаемую адресную семью (например, IPv4, IPv6)

DNSAUTH

Имитирует ответ DNS-сервера с установленным флагом TC, вынуждая отправителя повторить запрос по TCP.

EXPORT

Управляет экспортом трафика с помощью dosgate-uh. Применяется для передачи данных на внешний анализатор или систему хранения.

ПараметрОписание
onАктивирует захват трафика при достижении терминального действия
offОтключает ранее назначенное действие захвата

GOTO

Выполняет передачу управления в чейн (другую цепь фильтрации).

ПараметрОписание
chainИмя целевой цепи, в которую будет направлен пакет

MARK

Устанавливает метку (mark) непосредственно на обрабатываемый пакет. Может использоваться для последующей фильтрации или маршрутизации на основе значения метки.

ПараметрВариантыОписание
howДействие с меткой:
addДобавить значение
andПобитовое И
decДекремент
divДеление на указанное значение
incИнкремент
multУмножение на указанное значение
notПобитовая инверсия
orПобитовое ИЛИ
restoreВосстановить сетевую метку из общей метки
saveСохранить сетевую метку в общую метку
setУстановить метку
subВычесть значение
xorПобитовое исключающее ИЛИ
valueЧисловое значение 0 до 232-1

PASS

Операция PASS определяет правило передачи Ethernet-кадра либо в операционную систему, либо в сессионную защиту.

ПараметрЗначениеТипОписание
to:Направление передачи:
osПередача кадра в операционную систему
uh:Передача кадра в сессионную защиту
L3-L4Выполняется только отслеживание соединений
(Connection Tracking);
правила TLS и анализ L7 не применяются
L3-L7Выполняются все доступные проверки:
от Connection Tracking до анализа TLS-пакетов
vidVLAN ID.
Кадр передаётся в ОС только при совпадении указанного
VLAN-тега с тегом в кадре
macMAC-адрес.
Кадр передаётся в ОС только при совпадении MAC-адреса
назначения с указанным

SDHMARK

Присваивает метку, основанную на IP-адресах как отправителя, так и получателя. Обеспечивает более точную идентификацию потоков трафика между конкретными хостами

ПараметрВариантыОписание
idЧисло в диапазоне 1-255
howДействие с меткой:
addДобавить значение
andПобитовое И
decДекремент
divДеление на указанное значение
incИнкремент
multУмножение на указанное значение
notПобитовая инверсия
orПобитовое ИЛИ
restoreВосстановить сетевую метку из общей метки
saveСохранить сетевую метку в общую метку
setУстановить метку
subВычесть значение
xorПобитовое исключающее ИЛИ
valueЧисловое значение 0 до 232-1
lifetimeВремя жизни метки в секундах. Если значение равно 0 или
не указано — метка считается постоянной

SNAT

Выполняет Source Stateless NAT — заменяет IP-адрес источника в пакете без сохранения состояния соединения. Применяется для маскировки исходящего трафика.

ПараметрОписание
prefixСписок IP-префиксов, разделённых запятыми,
по одному на каждую поддерживаемую адресную семью

STATS

Регистрирует статистику по обработанным пакетам. Используется для мониторинга, учёта и анализа трафика.

ПараметрОписание
nameИмя или числовой идентификатор счётчика,
в который будут записаны данные

TCPAUTH

Операция TCPAUTH реализует механизм проверки TCP-соединений на этапе установления (SYN или SYN/ACK) с помощью одного из методов аутентификации. Результатом выполнения является вердикт tcpauth valid или tcpauth invalid, на основании которого принимается решение о дальнейшем прохождении трафика.

ПараметрЗначениеОписание
idЧисловой идентификатор
synМетод аутентификации при получении TCP SYN:
greylistСбрасывает все входящие пакеты от источника в течение
timeout, ожидая повторную попытку в интервале window
hsПолное TCP-рукопожатие. После успешного взаимодействия
выносится вердикт tcpauth valid
synackВ ответ на входящий SYN отправляется поддельный SYN-ACK.
Источник должен корректно ответить RST.
В случае правильной реакции — tcpauth valid
noneАутентификация не проводится
syn-ackМетод аутентификации при получении SYN-ACK
(реверсивная проверка):
greylistСбрасывает все входящие пакеты от источника в течение
timeout, ожидая повторную попытку в интервале window
hsПолное TCP-рукопожатие
noneАутентификация не проводится
timeoutВремя ожидания завершения аутентификации.
Если в течение этого времени клиент не проходит проверку,
соединение признаётся неуспешным, выдаётся tcpauth invalid
windowПериод, в течение которого ожидается повторный пакет
от источника, успешно прошедшего аутентификацию

VERDICT

Изменяет общее значение вердикта действия для всех пакетов проходящих через правило

ТипЗначениеОписание
opОперация с вердиктом
clearСброс ранее установленного вердикта;
используется для удаления текущего значения вердикта
setУстанавливает заданное значение вердикта;
требует обязательного указания параметра value
rateРезультат оценки текущей скорости трафика
conformСкорость не превышает заданное пороговое значение,
соответствие норме
cooldownСработал период охлаждения после зафиксированной перегрузки,
трафик временно не считается превышающим
exceedСкорость превышена,
текущий трафик нарушает установленный лимит
ratelimitРезультат проверки соблюдения ограничений скорости
передачи битов или пакетов
conformПередача данных укладывается
в установленные пределы
cooldownВключён период восстановления после превышения,
трафик временно допускается
exceedЗафиксировано превышение хотя бы одного из установленных лимитов
(1-rate или 2-rate). Допускается краткосрочная передача трафика
violateПревышены оба установленных лимита (1-rate и 2-rate).
Требуется блокировка трафика
sampleРезультат применения механизма выборки трафика
matchПакет выбран
согласно параметрам выборки
skipПакет исключён из выборки,
не обрабатывается по текущему правилу
tcpauthРезультат проверки подлинности TCP-пакета
validTCP-пакет успешно аутентифицирован,
подпись валидна
invalidTCP-пакет не прошёл проверку подлинности,
подпись некорректна