Oversigt #
Denne artikel forklarer, hvordan man migrerer en F5 BIG-IP iRule, der bruges til at begrænse HTTP-uploadstørrelser, til RELIANOID ved hjælp af den integrerede WAF (firewall til webapplikationer) drives af ModSecurity og OWASP CRS.
Den originale iRule inspicerer:
- HTTP-metode (
POST) Content-Lengthheader
Og blokerer uploads større end 200 MB med en HTTP 413 Payload Too Large respons.
Original F5 iRule #
when HTTP_REQUEST { if { [HTTP::method] eq "POST" } { set content_length [HTTP::header "Content-Length"] if { $content_length ne "" && $content_length > 200000000 } { # Afvis anmodninger over 200 MB HTTP::respond 413 content "Uploadstørrelse overstiger grænsen." event deaktiver } } }
RELIANOID Migrationstilgang #
In RELIANOID, kan denne funktionalitet implementeres ved hjælp af:
- WAF/IPDS-modul
- ModSikkerhedsregler
- OWASP CRS-integration
Denne tilgang giver:
- Centraliseret sikkerhedshåndhævelse
- Bedre logføring og synlighed
- Nemmere vedligeholdelse
- Inspektion af native HTTP-anmodninger
Implementering via manuelt regelsæt #
RELIANOID Eksempel på WAF-konfiguration #
Under stien /usr/local/relianoid/config/ipds/waf/sets/ opret en conf-fil med indholdet:
## start conf SecRuleEngine på 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" ## slut conf SecRule REQUEST_METHOD "POST" \ "id:910001,\phase:1,\t:none,\chain,\deny,\status:413,\msg:'Uploadstørrelse overstiger grænsen.',\log" SecRule REQUEST_HEADERS:Content-Length "@gt 200000000"
Sådan fungerer reglen #
Reglen udfører følgende logik:
REQUEST_METHOD "POST"Inspicerer kun POST-anmodninger
REQUEST_HEADERS:Content-LengthLæser uploadstørrelse
@gt 200000000Kontrollerer om størrelsen overstiger 200 MB
deny,status:413Afviser anmodningen
msg:'Upload size exceeds limit.'Genererer en revisionslogmeddelelse
Ækvivalent adfærdskortlægning fra F5 iRule til 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
Implementering via WebUI #
Denne konfiguration kan også implementeres direkte via RELIANOID WebUI.
WebUI-konfigurationssti #
Naviger til IPDS > WAF > Regler
Derefter Opret et WAF-regelsæt med en regel med 2 betingelser, som vist nedenfor.

Validering #
Test med CURL #
Eksempel på anmodning:
curl -k -X POST -H "Indholdslængde: 250000000" https://LB_VIP/upload -v
forventet resultat #
Svaret skal returnere:
HTTP/1.1 413 Nyttelasten er for stor
Og anmodningen skal blokeres, før den når backend.
Logningsvalidering #
Tjek WAF-logfiler for:
Uploadstørrelsen overskrider grænsen.
Vigtige bemærkninger #
Afhængighed af indholdslængde #
Denne regel afhænger af, at klienten sender en gyldig Content-Length header. Hvis uploads bruger chunked transfer encoding eller streaming uploads, kan yderligere beskyttelse være påkrævet.
Begræns kun specifikke webadresser #
Reglen kan kædes sammen med URI-validering.
Eksempel:
SecRule REQUEST_URI "@beginsWith /upload"
Fejlfinding #
Regel udløses ikke #
Verificere:
- WAF er aktiveret på farmen
- Reglen er korrekt vedhæftet
- Anmodningsmetoden er POST
- Content-Length-headeren er til stede
Uploads når stadig backend #
Mulige årsager:
- WAF ikke anvendt på den korrekte gård
- Problem med regelsyntaks
- Upload bruger chunked encoding
Falske Positiver #
Nogle applikationer kan berettiget kræve store uploads.
Anbefaling:
- Opret applikationsspecifikke undtagelser
- Juster tærsklerne omhyggeligt
Best Practices #
- Brug applikationsspecifikke uploadgrænser
- Kombinér med hastighedsbegrænsning, når det er muligt
- Overvåg WAF-logfiler regelmæssigt
- Undgå unødvendigt høje uploadgrænser
- Valider uploadadfærd efter implementering
Resumé #
F5 iRules, der bruges til at begrænse uploadstørrelser, kan migreres til RELIANOID ved hjælp af native WAF/ModSecurity-regler integreret med OWASP CRS.
Denne tilgang giver:
- Centraliseret håndhævelse af politikker
- Bedre logføring og synlighed
- Lettere skalerbarhed
- Reduceret kompleksitet af scripting
- Standardbaseret anmodningsinspektion