Migration der Upload-Größenbeschränkungen von F5 iRules nach RELIANOID

Kategorien anzeigen

Migration der Upload-Größenbeschränkungen von F5 iRules nach RELIANOID

3 min gelesen

Ü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-Length Kopfzeile

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.

relanoid ipds waf content length limit

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

📄 Laden Sie dieses Dokument im PDF-Format herunter #

    EMAIL: *

    Bereitgestellt von BetterDocs