Migrazione delle restrizioni di dimensione di caricamento di iRules F5 a RELIANOID

Visualizza categorie

Migrazione delle restrizioni di dimensione di caricamento di iRules F5 a RELIANOID

3 min letto

Panoramica #

Questo articolo spiega come migrare un iRule F5 BIG-IP utilizzato per limitare le dimensioni dei caricamenti HTTP in RELIANOID utilizzando l'integrato WAF (firewall per applicazioni Web) offerto da ModSecurity e OWASP CRS.

La regola iRule originale analizza:

  • Metodo HTTP (POST)
  • Content-Length testata

E blocca i caricamenti più grandi di 200 MB con un HTTP 413 Payload Too Large risposta.

iRule F5 originale #

quando HTTP_REQUEST { se { [HTTP::method] eq "POST" } { imposta content_length [HTTP::header "Content-Length"] se { $content_length ne "" && $content_length > 200000000 } { # Rifiuta le richieste superiori a 200 MB HTTP::respond 413 content "La dimensione del caricamento supera il limite." event disable } } }

RELIANOID Approccio alla migrazione #

In RELIANOID, questa funzionalità può essere implementata utilizzando:

  • Modulo WAF/IPDS
  • Regole di ModSecurity
  • Integrazione OWASP CRS

Questo approccio fornisce:

  • Applicazione centralizzata delle norme di sicurezza
  • Migliore registrazione e visibilità
  • Manutenzione più semplice
  • Ispezione delle richieste NativeHT

Distribuzione tramite set di regole manuali #

RELIANOID Esempio di configurazione WAF #

Sotto il sentiero /usr/local/relianoid/config/ipds/waf/sets/ crea un file di configurazione con il seguente contenuto:

## inizio conf SecRuleEngine su 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" ## fine conf SecRule REQUEST_METHOD "POST" \ "id:910001,\ fase:1,\ t:none,\ catena,\ nega,\ stato:413,\ msg:'La dimensione del caricamento supera il limite.',\ log" SecRule REQUEST_HEADERS:Content-Length "@gt 200000000"

Come funziona la regola #

La regola esegue la seguente logica:

REQUEST_METHOD "POST": Esamina solo le richieste POST
REQUEST_HEADERS:Content-Length: Legge la dimensione del caricamento
@gt 200000000: Verifica se la dimensione supera i 200 MB
deny,status:413: Rifiuta la richiesta
msg:'Upload size exceeds limit.': Genera un messaggio nel registro di controllo

Mappatura del comportamento equivalente da F5 iRule a 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

Distribuzione tramite interfaccia web #

Questa configurazione può essere distribuita anche direttamente tramite RELIANOID WebUI.

Percorso di configurazione dell'interfaccia Web #

Accedere a IPDS > WAF > Regole

Poi Crea Un set di regole WAF con una regola con 2 condizioni come mostrato di seguito.

limite di lunghezza del contenuto di relanoid ipds waf

Convalida #

Prova con CURL #

Esempio di richiesta:

curl -k -X POST -H "Content-Length: 250000000" https://LB_VIP/upload -v

Risultato atteso #

La risposta dovrebbe essere:

HTTP/1.1 413 Payload Too Large

La richiesta dovrebbe essere bloccata prima di raggiungere il backend.

Convalida della registrazione #

Controlla i log del WAF per:

La dimensione del file caricato supera il limite.

Note Importanti #

Dipendenza dalla lunghezza del contenuto #

Questa regola dipende dall'invio da parte del client di un valido Content-Length intestazione. Se i caricamenti utilizzano la codifica di trasferimento a blocchi o i caricamenti in streaming, potrebbero essere necessarie protezioni aggiuntive.

Limita solo URL specifici #

La regola può essere combinata con la convalida dell'URI.

Esempio:

SecRule REQUEST_URI "@beginsWith /upload"

Troubleshooting #

Regola non attivata #

Verificare:

  • WAF è abilitato sulla farm
  • La regola è allegata correttamente
  • Il metodo della richiesta è POST
  • L'intestazione Content-Length è presente

I caricamenti raggiungono ancora il backend #

Cause possibili:

  • WAF non applicato all'azienda agricola corretta
  • Problema di sintassi della regola
  • Il caricamento utilizza la codifica a blocchi

Falsi Positivi #

Alcune applicazioni potrebbero legittimamente richiedere caricamenti di grandi dimensioni.

Raccomandazione:

  • Creare eccezioni specifiche per l'applicazione
  • Regolare attentamente le soglie

Best Practices #

  • Utilizzare limiti di caricamento specifici per l'applicazione
  • Quando possibile, combinare con la limitazione della velocità.
  • Monitorare regolarmente i log del WAF
  • Evita soglie di caricamento inutilmente elevate
  • Convalidare il comportamento di caricamento dopo la distribuzione

Sintesi #

Le regole F5 iRules utilizzate per limitare le dimensioni dei caricamenti possono essere migrate in RELIANOID Utilizzo di regole WAF/ModSecurity native integrate con OWASP CRS.

Questo approccio fornisce:

  • Applicazione centralizzata delle policy
  • Migliore registrazione e visibilità
  • Scalabilità più semplice
  • Complessità di scripting ridotta
  • Ispezione su richiesta basata su standard

📄 Scarica questo documento in formato PDF #

    EMAIL: *

    Sviluppato da BetterDocs