Типы правил

ID статьи: 1871
Последнее обновление: 20 ноя, 2025
Product: WAF
Version: 7.x

Правила межсетевого экрана

Префиксы

Имя

Описание

PASS

Разрешение трафика.

DENY

Блокировка трафика.

Условия

src.zonesrc.geoipsrc.ip.

dst.zonedst.geoipdst.ip.

timeurl.

Свойства

namedescenabledrule_logreject_with.

Пример

[firewall "Firewall rules"]
% ----------------- 1 -----------------
DENY \
    scenario = "Example torrent detection scenario" \
    dst.zone = Untrusted \
    dst.ip = lib.network("Botnets IP list") \
    rule_log(session) \
    reject_with("host-unreach") \
    enabled(true) \
    name("Example block RU RKN by IP list")
% ----------------- 2 -----------------
PASS \
    scenario = "Example torrent detection scenario" \
    src.zone = Trusted \
    dst.zone = Untrusted \
    rule_log(yes, "3/h", 5) \
    enabled(true) \
    name("Allow trusted to untrusted")

Правила защиты почтового трафика

Префиксы

Имя

Описание

PASS

Пропуск трафика без изменений.

DENY ("with error")

Блокировка письма, при этом сообщается об ошибке доставки письма на сервер.

DENY

Блокировка письма без уведомления о блокировке.

WARNING

Маркировка почтовых сообщений.

Условия

src.zonesrc.geoipsrc.ip.

dst.zonedst.geoipdst.ip.

userservice, envelope_from, envelope_to.

Свойства

namedescenabledrule_logmark_hdrmarkantispam_usergatednsbl.

Пример

[mailsecurity "Mail Security Rules"]
% ----------------- 1 -----------------
PASS \
    user = (example, "CN=VPN users,DC=LOCAL") \
    envelope_from = "Email froup from" \
    envelope_to = "Email froup to" \
    service = SMTP \
    rule_log(yes) \
    mark_hdr(Subject) \
    enabled(true) \
    name("Mail Pass Rule")
% ----------------- 2 -----------------
DENY("with error") \
    service = (SMTPS, SMTP) \
    rule_log(yes) \
    mark_hdr(Subject) \
    antispam_usergate(yes) \
    enabled(true) \
    name("Mail Drop Rule")
% ----------------- 3 -----------------
DENY \
    src.zone = Untrusted \
    service = SMTP \
    mark_hdr(Subject) \
    dnsbl(yes) \
    enabled(false) \
    name("DNSBL spam drop rule")
% ----------------- 4 -----------------
WARNING \
    src.zone = Untrusted \
    service = (SMTP, POP3, SMTPS, POP3S) \
    mark_hdr(Subject) \
    mark("[SPAM]") \
    antispam_usergate(yes) \
    enabled(false) \
    name("SMTP and POP3 filtering")

Правила reverse-прокси

Префиксы

Имя

Описание

OK

Всегда ОК.

Условия

src.zonesrc.geoipsrc.ipsrc.mac.

dst.zonedst.geoipdst.ip.

request.header.User-Agenturl.port.

Свойства

namedescenabledrule_logprofile, certificateis_httpsssl_profile

waf_profilerewrite_path.

Пример

[reverseproxy "Reverse proxy Rules"]
% ----------------- 1 -----------------
OK \
    url.port = 80 \
    src.zone = Untrusted \
    desc("Example reverse proxy rule. This is an example rule which can be changed or deleted if necessary. ") \
    profile("Example reverse proxy server") \
    rewrite_path("example.com/path1", "example.local/path1") \
    waf_profile("Example WAF profile") \
    enabled(true) \
    name("Example reverse proxy rule")

Правила балансировки reverse-прокси

Префиксы

Имя

Описание

OK

Всегда ОК.

Свойства

namedescenabled, profile.

Пример

[reverseproxy_balancing "Reverse proxy load balancing Rules"]
% ----------------- 1 -----------------
OK \
    profile("Example reverse proxy server") \
    enabled(true) \
    name("Reverse-proxy load balancing")

Правила временной блокировки IP-адреса

Префиксы

Имя

Описание

DENY

Блокировка IP-адреса

Условия

http.response.code

Свойства

nameenabled

Пример

В примере для конкретного источника (условие scr.ip) настроен подсчет количества кодов ответа 404. Если количество таких ответов за последние 30 секунд превысит 10, IP-адрес этого источника будет заблокирован на одну минуту.

def var counter_404
    init = 0
    window = 00:00:30   
    key = src.ip
end
def var block
    init = 0
    window = 00:01:00
    key = src.ip
end
 
DENY var.block = 1.. log_message("Black list") enabled(true) name("Black list")
http.response.code = 404 inc(var.counter_404, 1) log_message("Incriment counter")  enabled(true) name("Incriment counter")
DENY var.counter_404 = 10.. inc(var.block, 1) log_message("Enable block") enabled(true) name("Enable block")

Эта статья была:   Полезна | Не полезна
ID статьи: 1871
Последнее обновление: 20 ноя, 2025
Ревизия: 9
Просмотры: 416
Комментарии: 0