Ülevaade #
See artikkel selgitab, kuidas migreerida F5 BIG-IP iRule'i, mida kasutatakse HTTP üleslaadimise suuruste piiramiseks, RELIANOID kasutades integreeritud WAF (veebirakenduse tulemüür) powered by ModSecurity ja OWASP CRS.
Algne iRule kontrollib:
- HTTP-meetod (
POST) Content-Lengthpäise kaudu
Ja blokeerib üleslaadimised, mis on suuremad kui 200 MB HTTP-ga 413 Payload Too Large vastus.
Algne F5 iRule #
when HTTP_REQUEST { if { [HTTP::method] eq "POST" } { set content_length [HTTP::header "Content-Length"] if { $content_length ne "" && $content_length > 200000000 } { # Lükka tagasi üle 200 MB suurused taotlused HTTP::respond 413 content "Üleslaadimise suurus ületab piirangut." event disable } } }
RELIANOID Rände lähenemisviis #
In RELIANOID, seda funktsionaalsust saab rakendada järgmiselt:
- WAF / IPDS moodul
- ModSecurity reeglid
- OWASP CRS-i integratsioon
See lähenemisviis pakub:
- Tsentraliseeritud turvalisuse jõustamine
- Parem logimine ja nähtavus
- Lihtsam hooldus
- Natiivne HTTP-päringute kontroll
Juurutamine käsitsi reeglistiku abil #
RELIANOID WAF-i konfiguratsiooni näide #
Raja all /usr/local/relianoid/config/ipds/waf/sets/ loo conf-fail sisuga:
## alusta konf SecRuleEngine käsuga 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" ## lõpeta conf SecRule REQUEST_METHOD "POST" \ "id:910001,\ phase:1,\ t:none,\ chain,\ deny,\ status:413,\ msg:'Üleslaadimise suurus ületab piirangut.',\ log" SecRule REQUEST_HEADERS:Content-Length "@gt 200000000"
Kuidas reegel toimib #
Reegel täidab järgmist loogikat:
REQUEST_METHOD "POST"Kontrollib ainult POST-päringuid
REQUEST_HEADERS:Content-Length: Loeb üleslaadimise suurust
@gt 200000000Kontrollib, kas suurus ületab 200 MB
deny,status:413: Lükkab taotluse tagasi
msg:'Upload size exceeds limit.': Genereerib auditilogi teate
Ekvivalentne käitumise kaardistamine F5 iRule'ist kuni 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
Juurutamine veebiliidese kaudu #
Seda konfiguratsiooni saab juurutada ka otse läbi RELIANOID Veebikasutajaliides.
WebUI konfiguratsiooni tee #
Liigu IPDS > WAF > Reeglid
Siis Looma WAF-reeglistik, millel on kaks tingimust, nagu allpool näidatud.

Kinnitamine #
Testi CURL-iga #
Näidispäring:
curl -k -X POST -H "Sisu pikkus: 250000000" https://LB_VIP/upload -v
Oodatud Tulemus #
Vastus peaks tagastama:
HTTP/1.1 413 Kasulik koormus on liiga suur
Ja päring tuleks enne taustsüsteemi jõudmist blokeerida.
Logimise valideerimine #
Kontrollige WAF-i logisid järgmiste andmete osas:
Üleslaaditava faili suurus ületab piirangut.
Olulised märkused #
Sisu ja pikkuse sõltuvus #
See reegel sõltub kliendi saadetud kehtivast Content-Length päis. Kui üleslaadimisel kasutatakse tükeldatud edastuskodeeringut või voogedastusüleslaadimist, võib olla vajalik täiendav kaitse.
Piira ainult teatud URL-e #
Reegli saab URI valideerimisega aheldada.
Näide:
Turvareegel REQUEST_URI "@beginsWith /upload"
Probleemid #
Reegel ei käivitu #
Kinnitage:
- WAF on farmis lubatud
- Reegel on õigesti kinnitatud
- Taotluse meetod on POST
- Sisu pikkuse päis on olemas
Üleslaadimised jõuavad ikka serveriserverini #
Võimalikud põhjused:
- WAF-i ei rakendatud õigele talule
- Reegli süntaksi probleem
- Üleslaadimine kasutab tükeldatud kodeeringut
Vale positiivsed #
Mõned rakendused võivad õigustatult nõuda suuri üleslaadimisi.
Soovitus:
- Looge rakendusepõhised erandid
- Reguleerige lävesid hoolikalt
Best Practices #
- Kasutage rakendusepõhiseid üleslaadimispiiranguid
- Võimalusel kombineeri kiirusepiiranguga
- Jälgige WAF-logisid regulaarselt
- Vältige ebavajalikult kõrgeid üleslaadimislävesid
- Üleslaadimise toimimise valideerimine pärast juurutamist
kokkuvõte #
Üleslaadimismahtude piiramiseks kasutatavad F5 iRule'id saab migreerida RELIANOID kasutades OWASP CRS-iga integreeritud natiivseid WAF/ModSecurity reegleid.
See lähenemisviis pakub:
- Tsentraliseeritud poliitika jõustamine
- Parem logimine ja nähtavus
- Lihtsam skaleeritavus
- Vähendatud skriptimise keerukus
- Standardipõhine taotluste kontroll