HSTS, cos’è, come funzione e perché è importante.
Iniziamo col dire che quando si mette l’indirizzo di un sito web dentro un browser, per esempio:
il browser invierà una richiesta al server web del sito, successivamente il server web può:
- mandarti da http://alessandrobasi.it a http://WWW.alessandrobasi.it
- mandarti da http://alessandrobasi.it a httpS://alessandrobasi.it
Ma in tutti e due i casi il browser non ha trovato ancora i file del sito, verrà allora richiamato di nuovo il server per eseguire un ulteriore passaggio:
- mandarti da http://WWW.alessandrobasi.it a httpS://WWW.alessandrobasi.it
- mandarti da httpS://alessandrobasi.it a httpS://WWW.alessandrobasi.it
in tutti i casi, il server arriverà a https://www.alessandrobasi.it in cui poi il vostro browser troverà i file del sito.
Qual’è il percorso migliore per ottenere la massima sicurezza nelle connessioni?
Il percorso più sicuro è quello in cui già il primo passaggio del server web è da http://alessandrobasi.it a httpS://alessandrobasi.it
poiché ogni volta che il server vi reindirizza alla chiamata successiva, il vostro browser tiene traccia delle connessioni.
In questo caso da http a httpS il traffico è ancora in chiaro, il redirect successivo invece sarà già criptato e quindi potenzialmente immune a vari attacchi lato client.
Se invece si viene inviati prima a www e poi in https, tutte e due le richieste saranno in chiaro e quindi più vulnerabili ad attacchi.
Ma c’è un metodo ancora più sicuro?
Si, esiste ormai dal 2012 una direttiva chiamata “HTTP Strict Transport Security“, il cui acronimo è HSTS.
Questa direttiva è ormai supportata su gran parte dei browser esistenti, potete controllare dove è supportata su questo sito
Ho già accennato a questo HSTS in
Spiegando a grandi linee quello che faceva, andiamo a vedere nei particolari come funziona.
Qual’è l’obbiettivo del HSTS?
L’obbiettivo è quello di creare subito una connessione sicura col sito, ancor prima di chiedere al server l’url.
Per far ciò il browser deve controllare se il sito che si vuole visitare è nella lista di siti autorizzati (lista HSTS), se lo trova allora aggiungerà https in automatico, senza fare alcuna richiesta al server.
Per vedere se un sito è nella lista HSTS, potete recarvi sul sito hstspreload.org.
Questo sito web non solo controlla se un dominio è nella lista, ma mostra, in caso non ci fosse, quali misure cambiare per richiedere l’inserimento nella lista.
Come inserire il proprio sito nella lista HSTS
Recatevi su hstspreload.org e inserite il dominio che volete aggiungere.
Se è già stato settato tutto a dovere, il sito vi proporrà di inserire il dominio nella lista HSTS, cliccate le due caselle di controllo e cliccate il tasto “Submit” sottostante.
Se tutto è andato bene, il vostro sito sarà nella coda dei siti per essere aggiunti.
Attendete qualche giorno e il vostro sito sarà aggiunto.
Se invece il vostro sito non soddisfa i requisiti, dovrete sistemarli come spiegato dal sito.
Grazie a Cloudflare questo procedimento potrà essere svolto in pochi passaggi.
Bisognerà andare nella sezione “Cripto”, abilitare “Always Use HTTPS” e settare “HTTP Strict Transport Security (HSTS)”, nelle impostazioni di quest’ultimo mettete tutto attivo e in “Max Age Header (max-age)” mettete 12 mesi invece che 6 mesi.
Se questi due parametri sono stati configurati, con molta probabilità potrete inserire il vostro sito nella lista HSTS.
Tornate su hstspreload.org e reinserite il vostro dominio, a questo punto cliccate le due spunte e poi su “Submit”.
Sicurezza migliorata
I siti presenti nella lista HSTS saranno raggiungibili solo tramite HTTPS poiché sarà direttamente il browser che metterà il protocollo sicuro.
In questo modo la connessione, tra il browser e il sito web, non potrà essere soggetta ad attacchi di tipo “Downgrade attack” (forzare da https a http) oppure “cookie hijacking” (furto del session id), entrambi basati sul protocollo http.
Forzando il solo protocollo https il browser si rifiuterà di caricare il sito o i cookie in http e quindi immune agli attacchi elencati sopra.
Be the first to comment