HSTS – HTTP Strict Transport Security

HSTS

HTTP Strict Transport Security, più comunemente chiamato HSTS, è un meccanismo in grado di migliorare la sicurezza del tuo sito web.
Questa tecnologia serve per evitare il reindirizzamento (downgrade) dalla navigazione su canale sicuro (https) verso un canale non protetto (http).
Quando una comunicazione viene trasmessa su un canale non cifrato, è possibile che i dati trasmessi vengano compromessi o sottratti da parte di individui con fini malevoli.

Cerchiamo di capire più nel dettaglio il suo funzionamento e come è possibile implementarlo.
L’HSTS si basa sull’esistenza di un header HTTP, lo stesso ha il nome di “Strict-Transport-Security” e può assumere diversi valori.

Vediamo di seguito i valori configurabili:

– Età (max-age=)

Questo valore serve ad indicare la durata della policy.
In fase di abilitazione di questo header, è consigliato impostare un valore basso (300 – 5 minuti) per evitare di danneggiare il traffico verso il sito in caso di problemi.
Se il sito non manifesta errori, consigliamo di aumentarlo poco per volta (604800 – 1 settimana, 2592000 – 1 mese).
Una volta che si è confidenti dell’implementazione, è possibile specificare una policy di lunga durata (15552000 – 6 mesi, 31536000 – 1 anno, 63072000 – 2 anni).

– Inclusione sottodomini (includeSubDomains)

Questo valore serve per specificare se la policy deve agire anche sui sottodomini e non solo sul dominio principale

– Precaricamento (preload)

Questo valore è necessario se si vuole includere il proprio sito nelle liste di precaricamento.
Tali liste sono direttamente incluse nei più comuni browser e permettono di aumentare ulteriormente la sicurezza dei siti web
Se si desidera specificare questo valore, è necessario impostare il valore di max-age ad almeno 31536000 (1 anno) ed includere i sottodomini.
Dopo che l’header è stato correttamente impostato, è possibile effettuare richiesta al seguente sito: https://hstspreload.org/

Per impostare l’header è possibile intervenire con differenti modalità, anche a seconda del servizio utilizzato.

– Apache o LiteSpeed (htaccess)

Se si utilizza un web server in grado di riconoscere le direttive htaccess, è possibile inserire quanto segue:
Header always set Strict-Transport-Security “max-age=63072000; includeSubDomains; preload”

– Nginx

In caso di servizio basato su web server nginx, bisogna specificare dentro la sua configurazione quanto segue:
add_header ‘Strict-Transport-Security’ ‘max-age=63072000; includeSubDomains; preload’;
Attenzione che alcuni pannelli di controllo, come ad esempio Plesk, utilizzano Nginx come reverse proxy.

– VHosting HSTS Manager (disponibile sui servizi Cloud Hosting con pannello cPanel)

Per i nostri clienti, è possibile aprire il pannello di controllo cPanel e cliccare sulla voce “VHosting – HSTS Manager” nell’area “Sicurezza”.
Tramite pochi clic e senza necessità di essere esperti, potrai implementare l’header HSTS e verificare lo stato del precaricamento.

HSTS