Migrazione del filtro F5 iRules X-Forwarded-For a RELIANOID WAF/IPDS

Visualizza categorie

Migrazione del filtro F5 iRules X-Forwarded-For a RELIANOID WAF/IPDS

4 min letto

Panoramica #

Questo articolo spiega come migrare un iRule F5 BIG-IP utilizzato per bloccare le richieste in base a X-Forwarded-For Intestazione HTTP in RELIANOID utilizzando l'integrato WAF/IPDS (Sistema di prevenzione e rilevamento delle intrusioni) Basato su ModSecurity/compatibile con il set di regole OWASP.

L'iRule originale ispeziona il X-Forwarded-For intestazione e restituisce HTTP 410 Gone quando viene trovata una corrispondenza in un elenco di indirizzi IP.

iRule F5 originale #

quando HTTP_REQUEST { se { [HTTP::header values ​​"X-Forwarded-For"] contiene "31.192.108.123" || [HTTP::header values ​​"X-Forwarded-For"] contiene "65.103.109.21" || [HTTP::header values ​​"X-Forwarded-For"] contiene "193.90.12.87" || [HTTP::header values ​​"X-Forwarded-For"] contiene "208.100.0.117" || [HTTP::header values ​​"X-Forwarded-For"] contiene "100.113.150.102" || [HTTP::header values ​​"X-Forwarded-For"] contiene "176.10.99.200" || [HTTP::header values ​​"X-Forwarded-For"] contiene "163.172.143.114" || [HTTP::header values ​​"X-Forwarded-For"] contiene "163.172.209.46" || [HTTP::header values ​​"X-Forwarded-For"] contiene "188.138.9.49" || [HTTP::header values ​​"X-Forwarded-For"] contiene "217.23.13.129" || [HTTP::header values ​​"X-Forwarded-For"] contiene "162.247.72.27" || [HTTP::header values ​​"X-Forwarded-For"] contiene "194.67.208.57" || [HTTP::header values ​​"X-Forwarded-For"] contiene "41.216.186.114" } { HTTP::respond 410 } }

RELIANOID Approccio alla migrazione #

In RELIANOIDQuesta logica può essere implementata utilizzando:

  • Modulo WAF/IPDS
  • Regole personalizzate di ModSecurity/OWASP
  • File di corrispondenza IP esterno

Questo approccio è più scalabile e più facile da gestire rispetto all'inserimento di più confronti IP all'interno di uno script.

Consigliato RELIANOID Architettura #

La migrazione utilizza:

  • Ispezione dell'intestazione HTTP X-Forwarded-For
  • File esterno di blacklist contenente indirizzi IP
  • Corrispondenza IP dinamica tramite operatori del set di regole ModSecurity/OWASP

vantaggi:

  • Gestione della proprietà intellettuale semplificata
  • Lista nera centralizzata
  • Non è necessario modificare le regole per ogni cambio di indirizzo IP.
  • Migliore scalabilità

Configurazione delle regole WAF #

La seguente regola ModSecurity/OWASP può essere configurata in modalità Raw all'interno del modulo WAF/IPDS.

SecRule REQUEST_HEADERS:X-Forwarded-For "@ipMatchFromFile /usr/local/relianoid/config/ipds/waf/sets/xff_blacklist.data" "\ id:1001,\ msg:'Corrispondenza personalizzata',\ fase:1,\ nega,\ nolog"

Come funziona la regola #

Questa regola esegue le seguenti azioni:
REQUEST_HEADERS:X-Forwarded-For: Legge l'intestazione HTTP X-Forwarded-For
@ipMatchFromFile: Confronta il valore dell'intestazione con un file esterno
xff_blacklist.txtContiene l'elenco degli indirizzi IP bloccati
phase:1: Eseguito durante l'elaborazione dell'intestazione della richiesta
deny: Blocca le richieste corrispondenti
nolog: Disabilita la registrazione per le richieste corrispondenti

Configurazione del file della blacklist #

Crea il file della blacklist:

/usr/local/relianoid/config/ipds/waf/sets/xff_blacklist.data

Contenuti di esempio:

31.192.108.123
65.103.109.21
193.90.12.87
208.100.0.117
100.113.150.102
176.10.99.200
163.172.143.114
163.172.209.46
188.138.9.49
217.23.13.129
162.247.72.27
194.67.208.57
41.216.186.114

Configura la regola tramite interfaccia web #

Creare l'elenco dei dati IP #

Creare un nuovo file di dati WAF nella sezione IPDS > WAF > File incluso il contenuto dell'elenco IP:

file di dati della blacklist di Relanoid IPDS WAF

Crea la condizione della regola #

Crea un nuovo set di regole WAF nella sezione IPDS > WAF > Set di regole inclusa la condizione IP della partita:

relanoid ipds waf xff blacklist rule farm enable

Abilita la regola nella fattoria #

Abilita il set di regole e assegnalo alle aziende agricole desiderate.

relanoid ipds waf xff blacklist rule farm enable

Nota operativa importante #

Qualsiasi modifica al file della blacklist richiede:

  • Fermare la regola WAF
  • Ricominciamo con la regola WAF

Questa operazione ricarica la regola e applica l'elenco IP aggiornato. Ciò avrà effetto solo sulle regole WAF ispezionate nei farm interessati, senza influire sul traffico effettivo che transita attraverso il bilanciatore di carico.

Convalida e test #

Il seguente comando può essere utilizzato per convalidare il comportamento della regola:

curl -k -H "X-Forwarded-For: IP_ADDRESS" https://LB_VIP -v

Esempio:

curl -k -H "X-Forwarded-For: 31.192.108.123" https://192.168.1.100 -v

Risultato atteso #

Quando l'indirizzo IP corrisponde alla blacklist:

  • La richiesta è stata rifiutata dal WAF.
  • Viene restituita una risposta di errore HTTP

Miglioramento opzionale: restituzione del codice HTTP 410 #

La regola iRule F5 originale restituisce esplicitamente:

HTTP 410 Gone

Per impostazione predefinita, le azioni di negazione dei set di regole di ModSecurity/OWASP possono restituire HTTP 403 Forbidden.

Se è richiesta un'esatta parità comportamentale, la regola può essere migliorata per restituire 410.

Esempio:

SecRule REQUEST_HEADERS:X-Forwarded-For "@ipMatchFromFile /usr/local/relianoid/config/ipds/waf/xff_blacklist.txt" "\ id:1001,\ msg:'Custom Match',\ phase:1,\ deny,\ status:410,\ nolog"

Troubleshooting #

Regola non attivata #

Verificare:

  • WAF/IPDS è abilitato sulla farm
  • La regola è stata caricata correttamente
  • L'intestazione è presente nella richiesta
  • Regola riavviata dopo le modifiche al file

Richieste non bloccate #

Dai un'occhiata:

  • Formattazione IP all'interno del file
  • Nessuno spazio aggiuntivo o carattere nascosto
  • Permessi file corretti

Intestazione mancante #

Alcuni proxy a monte potrebbero non inviare X-Forwarded-For. Convalida con:

curl -k -H "X-Forwarded-For: 1.2.3.4" https://LB_VIP -v

Registrazione necessaria per la risoluzione dei problemi #

Rimuovere temporaneamente:

nolog

Ciò consente la registrazione delle regole di ModSecurity/OWASP a scopo di debug.

Best Practices #

  • Gestire centralmente i file della blacklist
  • Utilizzare l'automazione per gli aggiornamenti della blacklist.
  • Rivedere periodicamente gli indirizzi IP bloccati
  • Proteggere i file delle regole WAF con le autorizzazioni appropriate.
  • Per una maggiore scalabilità, è preferibile utilizzare file esterni piuttosto che regole codificate in modo rigido.

Sintesi #

Esecuzione di F5 iRules X-Forwarded-For il filtraggio può essere migrato in modo efficiente in RELIANOID utilizzando il modulo WAF/IPDS integrato e le regole di ModSecurity.

Questo approccio fornisce:

  • Gestione centralizzata della proprietà intellettuale
  • Migliore scalabilità
  • Manutenzione più semplice
  • Integrazione nativa del WAF
  • Complessità di scripting ridotta

📄 Scarica questo documento in formato PDF #

    EMAIL: *

    Sviluppato da BetterDocs