Встроенные правила
PRX-WAF поставляется с 398 заранее подготовленными правилами в трёх категориях, плюс 10+ детекторов, скомпилированных в бинарный файл. Вместе они обеспечивают всестороннее покрытие OWASP Top 10 и известных CVE-эксплоитов.
OWASP Core Rule Set (310 правил)
Правила OWASP CRS конвертированы из OWASP ModSecurity Core Rule Set v4 в нативный YAML-формат PRX-WAF. Они охватывают наиболее распространённые векторы веб-атак:
| Файл | CRS ID | Правила | Категория |
|---|---|---|---|
sqli.yaml | 942xxx | ~87 | SQL-инъекции |
xss.yaml | 941xxx | ~41 | Межсайтовый скриптинг |
rce.yaml | 932xxx | ~30 | Удалённое выполнение кода |
lfi.yaml | 930xxx | ~20 | Включение локальных файлов |
rfi.yaml | 931xxx | ~12 | Включение удалённых файлов |
php-injection.yaml | 933xxx | ~18 | PHP-инъекции |
java-injection.yaml | 944xxx | ~15 | Java / Expression Language инъекции |
generic-attack.yaml | 934xxx | ~12 | Node.js, SSI, разделение HTTP |
scanner-detection.yaml | 913xxx | ~10 | Обнаружение UA сканеров безопасности |
protocol-enforcement.yaml | 920xxx | ~15 | Соответствие протоколу HTTP |
protocol-attack.yaml | 921xxx | ~10 | Контрабанда запросов, CRLF-инъекции |
multipart-attack.yaml | 922xxx | ~8 | Обход multipart |
method-enforcement.yaml | 911xxx | ~5 | Белый список HTTP-методов |
session-fixation.yaml | 943xxx | ~6 | Фиксация сессии |
web-shells.yaml | 955xxx | ~8 | Обнаружение веб-шеллов |
response-*.yaml | 950-956xxx | ~13 | Инспекция ответов |
Файлы данных словарей
Правила OWASP CRS используют phrase-match (pm_from_file) против 20+ файлов словарей, хранящихся в rules/owasp-crs/data/:
scanners-user-agents.data— известные строки user-agent сканеровlfi-os-files.data— пути к конфиденциальным файлам ОСsql-errors.data— паттерны сообщений об ошибках базы данных- и другие
Правила сообщества ModSecurity (46 правил)
Вручную составленные правила для категорий угроз, не полностью охваченных OWASP CRS:
| Файл | Правила | Категория |
|---|---|---|
ip-reputation.yaml | ~15 | Обнаружение IP ботов/сканеров/прокси |
dos-protection.yaml | ~12 | DoS и аномальные паттерны запросов |
data-leakage.yaml | ~10 | Обнаружение утечки PII и учётных данных |
response-checks.yaml | ~9 | Инспекция тела ответа |
Виртуальные патчи CVE (39 правил)
Целевые правила обнаружения для высокопрофильных CVE. Они действуют как виртуальные патчи, блокируя попытки эксплуатации до того, как они достигнут уязвимых приложений:
| Файл | CVE | Описание |
|---|---|---|
2021-log4shell.yaml | CVE-2021-44228, CVE-2021-45046 | Apache Log4j RCE через JNDI lookup |
2022-spring4shell.yaml | CVE-2022-22965, CVE-2022-22963 | Spring Framework RCE |
2022-text4shell.yaml | CVE-2022-42889 | Apache Commons Text RCE |
2023-moveit.yaml | CVE-2023-34362, CVE-2023-36934 | MOVEit Transfer SQL-инъекция |
2024-xz-backdoor.yaml | CVE-2024-3094 | Обнаружение бэкдора XZ Utils |
2024-recent.yaml | Различные | Высокопрофильные CVE 2024 |
2025-recent.yaml | Различные | Высокопрофильные CVE 2025 |
TIP
Правила патчей CVE установлены на уровень паранойи 1 по умолчанию, что означает активность во всех конфигурациях. Они имеют очень низкий уровень ложных срабатываний, поскольку нацелены на специфические полезные нагрузки эксплоитов.
Встроенные детекторы
В дополнение к правилам YAML, PRX-WAF включает детекторы, скомпилированные в бинарный файл. Они выполняются в выделенных фазах конвейера обнаружения:
| Фаза | Детектор | Описание |
|---|---|---|
| 1-4 | Белый/чёрный список IP | Фильтрация IP на основе CIDR |
| 5 | CC/DDoS Rate Limiter | Скользящее окно ограничения скорости по IP |
| 6 | Обнаружение сканеров | Отпечатки сканеров уязвимостей (Nmap, Nikto и т.д.) |
| 7 | Обнаружение ботов | Вредоносные боты, AI-краулеры, headless-браузеры |
| 8 | SQL-инъекции | libinjection + паттерны regex |
| 9 | XSS | libinjection + паттерны regex |
| 10 | RCE / Внедрение команд | Паттерны внедрения команд ОС |
| 11 | Обход каталогов | Обнаружение обхода пути (../) |
| 14 | Конфиденциальные данные | Многопаттерное обнаружение PII/учётных данных Aho-Corasick |
| 15 | Защита от хотлинкинга | Валидация на основе Referer для каждого хоста |
| 16 | CrowdSec | Решения Bouncer + инспекция AppSec |
Обновление правил
Правила можно синхронизировать из апстрим-источников с помощью включённых инструментов:
# Проверить наличие обновлений
python rules/tools/sync.py --check
# Синхронизировать OWASP CRS с конкретным релизом
python rules/tools/sync.py --source owasp-crs --output rules/owasp-crs/ --tag v4.10.0
# Синхронизировать до последней версии
python rules/tools/sync.py --source owasp-crs --output rules/owasp-crs/
# Горячая перезагрузка после обновления
prx-waf rules reloadСтатистика правил
Просматривайте текущую статистику правил через CLI:
prx-waf rules statsПример вывода:
Rule Statistics
===============
OWASP CRS: 310 rules (21 files)
ModSecurity: 46 rules (4 files)
CVE Patches: 39 rules (7 files)
Custom: 3 rules (1 file)
─────────────────────────
Total: 398 rules (33 files)
Enabled: 395
Disabled: 3
Paranoia 1: 280
Paranoia 2: 78
Paranoia 3: 30
Paranoia 4: 10Следующие шаги
- Пользовательские правила — создание собственных правил
- Синтаксис YAML — полный справочник схемы правил
- Обзор движка правил — как конвейер оценивает правила