Panoramica #
Questo articolo spiega come migrare una comune iRule F5 BIG-IP utilizzata per l'inserimento dell'intestazione di sicurezza HTTP in RELIANOID utilizzando le funzionalità native del farm HTTP/S.
La seguente iRule inserisce diverse intestazioni di sicurezza nella risposta HTTP:
quando HTTP_RESPONSE_RELEASE { se {!([ HTTP::header esiste "X-XSS-Protection"])} { HTTP::header inserisci "X-XSS-Protection" "1; mode=block" } se { !([ HTTP::header esiste "Strict-Transport-Security" ])} { HTTP::header inserisci "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload" } se { !([ HTTP::header esiste "content-security-policy" ])} { HTTP::header inserisci "content-security-policy" "frame-ancestors 'none'" } se {!([ HTTP::header esiste "X-Content-Type-Options" ])} { HTTP::header inserisci "X-Content-Type-Options" nosniff } }
In RELIANOIDQuesti controlli di sicurezza possono essere configurati direttamente tramite l'interfaccia Web senza richiedere script TCL.
Abilitazione dell'HSTS (Strict-Transport-Security) #
HSTS obbliga i browser a utilizzare solo connessioni HTTPS. I vantaggi includono:
- Prevenire gli attacchi di SSL stripping
- Imporre comunicazioni crittografate
- Migliorare la sicurezza del trasporto lato browser
La seguente sezione iRule:
HTTP::header insert "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload"
È possibile migrare direttamente tramite l'interfaccia web.
Passare a: Farm > Farm HTTP/S > Servizi
Quindi:
- Selezionare il servizio HTTP/S desiderato
- Abilita l'interruttore STS
Questo inietta automaticamente il Strict-Transport-Security intestazione nelle risposte HTTPS.
Configurazione dell'intestazione di sicurezza X-XSS-Protection #
Abilita il filtro XSS dei browser meno recenti. Sebbene i browser moderni si basino maggiormente su CSP, questo header è comunque utile per garantire la compatibilità.
Passare a: Farm > Farm HTTP/S > Globale > Avanzate > IntestazioniQuindi: Fai clic Create ruleSeleziona:
Tipo: Response: Add header
Intestazione: X-XSS-Protection
Valore: 1; mode=block
Configurazione dell'intestazione di sicurezza Content-Security-Policy #
Controlla come i contenuti possono essere incorporati e caricati. Vantaggi:
- Previene il clickjacking
- Limita l'inquadratura non autorizzata
- Migliora la postura di sicurezza del browser
Passare a: Farm > Farm HTTP/S > Globale > Avanzate > IntestazioniQuindi: Fai clic Create ruleSeleziona:
Tipo: Response: Add header
Intestazione: Content-Security-Policy
Valore: frame-ancestors 'none'
Configurazione dell'intestazione di sicurezza X-Content-Type-Options #
Impedisce ai browser di rilevare il tipo MIME. Vantaggi:
- Previene l'interpretazione di contenuti dannosi
- Riduce alcuni vettori di iniezione di script
Passare a: Farm > Farm HTTP/S > Globale > Avanzate > IntestazioniQuindi: Fai clic Create ruleSeleziona:
Tipo: Response: Add header
Intestazione: X-Content-Type-Options
Valore: nosniff
Convalida #
Dopo aver applicato la configurazione, convalidare le intestazioni di risposta utilizzando:
curl -I https://
Uscita prevista:
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload X-XSS-Protection: 1; mode=block Content-Security-Policy: frame-ancestors 'none' X-Content-Type-Options: nosniff
Troubleshooting #
Intestazioni non visualizzate #
Verificare:
- Le regole vengono applicate all'azienda agricola corretta
- HTTPS è abilitato per HSTS
- Le regole dell'intestazione sono configurate come Risposta norme
- La configurazione della fattoria è stata applicata/ricaricata
Intestazioni duplicate #
Se l'applicazione backend inserisce già intestazioni, potrebbero comparire duplicati. Raccomandazione:
- Decidere se le intestazioni devono essere gestite dall'applicazione Backend o da RELIANOID configurazione della fattoria
- Evitate di gestire le stesse intestazioni in entrambi i punti.
HSTS non funziona #
il garantire:
- I client si connettono tramite HTTPS
- Sono installati certificati SSL validi
- I browser non eseguono test tramite HTTP
Le intestazioni HSTS vengono ignorate nelle connessioni non TLS.
Sintesi #
Le regole F5 iRules utilizzate per l'inserimento dell'intestazione di sicurezza HTTP possono essere migrate a RELIANOID Utilizzo delle funzionalità native di HTTP/S senza scripting TCL.
Questo approccio semplifica l'amministrazione pur mantenendo funzionalità di sicurezza equivalenti.