Übersicht #
Dieser Artikel erklärt, wie eine F5 BIG-IP iRule, die zur Beschränkung der HTTP-Upload-Größe verwendet wird, migriert wird nach RELIANOID unter Verwendung der integrierten WAF (Webanwendungs-Firewall) bieten genau das. ModSecurity und OWASP CRS.
Die ursprüngliche iRule prüft Folgendes:
- HTTP-Methode (
POST) Content-LengthKopfzeile
Und blockiert Uploads, die größer als 200 MB mit einem HTTP 413 Payload Too Large Antwort.
Original F5 iRule #
Wenn eine HTTP-Anfrage vom Typ POST ist, wird die Inhaltslänge im Header „Content-Length“ festgelegt. Falls die Inhaltslänge nicht größer als 200 MB ist, wird eine HTTP-Antwort mit dem Statuscode 413 gesendet, die die Upload-Größe überschreitet. Andernfalls wird das Ereignis deaktiviert.
RELIANOID Migrationsansatz #
In RELIANOIDDiese Funktionalität kann wie folgt implementiert werden:
- WAF-/IPDS-Modul
- ModSecurity-Regeln
- OWASP CRS-Integration
Dieser Ansatz bietet:
- Zentralisierte Sicherheitsdurchsetzung
- Bessere Protokollierung und Transparenz
- Einfachere Wartung
- Inspektion nativer HTTP-Anfragen
Bereitstellung über manuelles Regelset #
RELIANOID WAF-Konfigurationsbeispiel #
Unter dem Pfad /usr/local/relianoid/config/ipds/waf/sets/ Erstellen Sie eine Konfigurationsdatei mit folgendem Inhalt:
## begin conf SecRuleEngine on SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:1" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:2" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:3" SecDefaultAction "pass,log,logdata:'client:%{REMOTE_ADDR}',phase:4" ## end conf SecRule REQUEST_METHOD "POST" \ "id:910001,\ phase:1,\ t:none,\ chain,\ deny,\ status:413,\ msg:'Upload size exceeds limit.',\ log" SecRule REQUEST_HEADERS:Content-Length "@gt 200000000"
Wie die Regel funktioniert #
Die Regel führt folgende Logik aus:
REQUEST_METHOD "POST"Prüft nur POST-Anfragen
REQUEST_HEADERS:Content-Length: Liest Uploadgröße
@gt 200000000Prüft, ob die Größe 200 MB überschreitet.
deny,status:413Lehnt die Anfrage ab
msg:'Upload size exceeds limit.': Generiert eine Audit-Log-Nachricht
Äquivalente Verhaltensabbildung von F5 iRule zu RELIANOID WAF #
HTTP::method: REQUEST_METHOD
HTTP::header "Content-Length": REQUEST_HEADERS:Content-Length
HTTP::respond 413: deny,status:413
event disable: Immediate WAF deny
Bereitstellung über die WebUI #
Diese Konfiguration kann auch direkt über die RELIANOID WebUI.
WebUI-Konfigurationspfad #
Navigieren Sie zu IPDS > WAF > Regeln
Erstellen Sie anschließend ein WAF-Regelset mit einer Regel mit 2 Bedingungen, wie unten dargestellt.

Validierung #
Testen Sie mit CURL #
Beispielanfrage:
curl -k -X POST -H "Content-Length: 250000000" https://LB_VIP/upload -v
erwartetes Ergebnis #
Die Antwort sollte Folgendes zurückgeben:
HTTP/1.1 413 Nutzlast zu groß
Die Anfrage sollte blockiert werden, bevor sie das Backend erreicht.
Protokollvalidierung #
Überprüfen Sie die WAF-Protokolle auf Folgendes:
Die Uploadgröße überschreitet das Limit.
Wichtige Hinweise #
Inhaltslängenabhängigkeit #
Diese Regel setzt voraus, dass der Client ein gültiges Paket sendet. Content-Length Header. Bei Uploads mit Chunked Transfer Encoding oder Streaming-Uploads können zusätzliche Schutzmaßnahmen erforderlich sein.
Beschränken Sie nur bestimmte URLs #
Die Regel kann mit der URI-Validierung verkettet werden.
Ejemplo:
SecRule REQUEST_URI "@beginsWith /upload"
Problemlösung #
Regel wird nicht ausgelöst #
Überprüfen:
- WAF ist auf der Farm aktiviert.
- Die Regel ist korrekt angehängt.
- Die Anfragemethode ist POST.
- Der Content-Length-Header ist vorhanden
Uploads erreichen weiterhin das Backend #
Mögliche Ursachen:
- WAF wurde nicht auf den richtigen Bauernhof angewendet
- Problem mit der Regelsyntax
- Der Upload verwendet Chunked Encoding.
False Positives #
Manche Anwendungen erfordern unter Umständen berechtigterweise große Upload-Daten.
Empfehlung:
- Anwendungsspezifische Ausnahmen erstellen
- Schwellenwerte sorgfältig anpassen
Praxisbeispiele #
- Verwenden Sie anwendungsspezifische Upload-Limits.
- Kombinieren Sie dies nach Möglichkeit mit einer Ratenbegrenzung.
- WAF-Protokolle regelmäßig überwachen
- Vermeiden Sie unnötig hohe Upload-Schwellenwerte.
- Uploadverhalten nach der Bereitstellung validieren
Zusammenfassung #
F5 iRules, die zur Beschränkung der Upload-Größe verwendet werden, können migriert werden in RELIANOID unter Verwendung nativer WAF/ModSecurity-Regeln, die in OWASP CRS integriert sind.
Dieser Ansatz bietet:
- Zentralisierte Richtliniendurchsetzung
- Bessere Protokollierung und Transparenz
- Einfachere Skalierbarkeit
- Reduzierte Skriptkomplexität
- Standardbasierte Anforderungsprüfung