Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

Eingebaute Regeln

PRX-WAF wird mit 398 vorgefertigten Regeln in drei Kategorien ausgeliefert, plus 10+ in die Binärdatei kompilierte Erkennungsprüfer. Zusammen bieten sie umfassende Abdeckung der OWASP Top 10 und bekannter CVE-Exploits.

OWASP Core Rule Set (310 Regeln)

Die OWASP CRS-Regeln werden aus dem OWASP ModSecurity Core Rule Set v4 in das native YAML-Format von PRX-WAF konvertiert. Sie decken die häufigsten Web-Angriffsvektoren ab:

DateiCRS-IDsRegelnKategorie
sqli.yaml942xxx~87SQL-Injection
xss.yaml941xxx~41Cross-Site-Scripting
rce.yaml932xxx~30Remote Code Execution
lfi.yaml930xxx~20Local File Inclusion
rfi.yaml931xxx~12Remote File Inclusion
php-injection.yaml933xxx~18PHP-Injection
java-injection.yaml944xxx~15Java / Expression Language Injection
generic-attack.yaml934xxx~12Node.js, SSI, HTTP-Splitting
scanner-detection.yaml913xxx~10Sicherheitsscanner UA-Erkennung
protocol-enforcement.yaml920xxx~15HTTP-Protokoll-Compliance
protocol-attack.yaml921xxx~10Request-Smuggling, CRLF-Injection
multipart-attack.yaml922xxx~8Multipart-Bypass
method-enforcement.yaml911xxx~5HTTP-Methoden-Allowlist
session-fixation.yaml943xxx~6Session Fixation
web-shells.yaml955xxx~8Web-Shell-Erkennung
response-*.yaml950-956xxx~13Antwortinspektion

Wordlist-Datendateien

Die OWASP CRS-Regeln verwenden Phrasen-Matching (pm_from_file) gegen 20+ Wordlist-Dateien, die in rules/owasp-crs/data/ gespeichert sind:

  • scanners-user-agents.data -- Bekannte Scanner-User-Agent-Strings
  • lfi-os-files.data -- Sensible OS-Dateipfade
  • sql-errors.data -- Datenbankfehlermeldungsmuster
  • Und mehr

ModSecurity Community-Regeln (46 Regeln)

Handgefertigte Regeln für Bedrohungskategorien, die vom OWASP CRS nicht vollständig abgedeckt werden:

DateiRegelnKategorie
ip-reputation.yaml~15Bot/Scanner/Proxy-IP-Erkennung
dos-protection.yaml~12DoS und abnormale Anfragemuster
data-leakage.yaml~10PII- und Anmeldedaten-Leck-Erkennung
response-checks.yaml~9Antwortkörper-Inspektion

CVE-Virtuelle Patches (39 Regeln)

Gezielte Erkennungsregeln für hochkarätige CVEs. Diese fungieren als virtuelle Patches und blockieren Exploit-Versuche, bevor sie anfällige Anwendungen erreichen:

DateiCVE(s)Beschreibung
2021-log4shell.yamlCVE-2021-44228, CVE-2021-45046Apache Log4j RCE via JNDI-Lookup
2022-spring4shell.yamlCVE-2022-22965, CVE-2022-22963Spring Framework RCE
2022-text4shell.yamlCVE-2022-42889Apache Commons Text RCE
2023-moveit.yamlCVE-2023-34362, CVE-2023-36934MOVEit Transfer SQL-Injection
2024-xz-backdoor.yamlCVE-2024-3094XZ Utils Backdoor-Erkennung
2024-recent.yamlVerschiedeneHochkarätige CVEs 2024
2025-recent.yamlVerschiedeneHochkarätige CVEs 2025

TIP

CVE-Patch-Regeln sind standardmäßig auf Paranoia-Stufe 1 gesetzt, was bedeutet, dass sie in allen Konfigurationen aktiv sind. Sie haben sehr niedrige Falsch-Positiv-Raten, da sie auf spezifische Exploit-Payloads abzielen.

Eingebaute Erkennungsprüfer

Zusätzlich zu den YAML-Regeln enthält PRX-WAF in die Binärdatei kompilierte Erkennungsprüfer. Diese laufen in dedizierten Phasen der Erkennungspipeline:

PhasePrüferBeschreibung
1-4IP-Allowlist/BlocklistCIDR-basierte IP-Filterung
5CC/DDoS-RatenbegrenzerGleitfenster-Ratenbegrenzung pro IP
6Scanner-ErkennungSicherheitsscanner-Fingerprints (Nmap, Nikto usw.)
7Bot-ErkennungBösartige Bots, KI-Crawler, Headless Browser
8SQL-Injectionlibinjection + Regex-Muster
9XSSlibinjection + Regex-Muster
10RCE / BefehlsinjektionOS-Befehlsinjektionsmuster
11Verzeichnis-TraversalPfad-Traversal-Erkennung (../)
14Sensible DatenAho-Corasick Multi-Muster PII/Anmeldedaten-Erkennung
15Anti-HotlinkingReferer-basierte Validierung pro Host
16CrowdSecBouncer-Entscheidungen + AppSec-Inspektion

Regeln aktualisieren

Regeln können mit den enthaltenen Tools aus Upstream-Quellen synchronisiert werden:

bash
# Auf Updates prüfen
python rules/tools/sync.py --check

# OWASP CRS auf ein bestimmtes Release synchronisieren
python rules/tools/sync.py --source owasp-crs --output rules/owasp-crs/ --tag v4.10.0

# Auf neueste Version synchronisieren
python rules/tools/sync.py --source owasp-crs --output rules/owasp-crs/

# Nach dem Update Hot-Reload auslösen
prx-waf rules reload

Regelstatistiken

Aktuelle Regelstatistiken via CLI anzeigen:

bash
prx-waf rules stats

Beispielausgabe:

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

Nächste Schritte

Released under the Apache-2.0 License.