L’HTTPS lo conosce il browser

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:

http://alessandrobasi.it

il browser invierà una richiesta al server web del sito, successivamente il server web può:

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:

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.

About the author

alessandrobasi

Appassionato di informatica, scrivo su argomenti tecnici poco conosciuti su cui vale la pena soffermarsi.

Be the first to comment

Rispondi