Listino Supporto Partner Contatti 800 13.40.41

Articoli

Icona delle News


Che cos'è HSTS e perché dovrei usarlo?

19/03/20 CoreTech Blog

×Non sei ancora nostro cliente Acunetix? Diventa Partner CoreTech e visita il nostro configuratore prezzi

HSTS è l'acronimo di HTTP Strict Transport Security. Si tratta di un metodo utilizzato dai siti Web per dichiarare che dovrebbe essere accessibile solo utilizzando una connessione sicura (HTTPS). Se un sito Web dichiara un criterio HSTS, il browser deve rifiutare tutte le connessioni HTTP e impedire agli utenti di accettare certificati SSL non sicuri. HSTS è attualmente supportato dalla maggior parte dei principali browser (solo alcuni browser per dispositivi mobili non riescono ad usarlo).

HTTP Strict Transport Security è stato definito come uno standard di sicurezza web nel 2012 in RFC 6797. L'obiettivo principale della creazione di questo standard era quello di aiutare a evitare attacchi man-in-the-middle (MITM) che utilizzano l’SSL stripping. Lo stripping SSL è una tecnica in cui un utente malintenzionato impone al browser di connettersi a un sito tramite HTTP in modo che possa intercettare i pacchetti e intercettare o modificare le informazioni riservate. HSTS è anche un buon metodo per proteggersi dal dirottamento di cookie.

Come funziona HSTS

In genere, quando si immette un URL nel browser Web, si ignora la parte del protocollo. Ad esempio, si digita www.acunetix.com, non http://www.acunetix.com. In tal caso, il browser presuppone che si desidera utilizzare il protocollo HTTP in modo da eseguire una richiesta HTTP per www.acunetix.com.
In questa fase, il server Web risponde con un reindirizzamento ( codice di risposta301 che punta al sito HTTPS. Il browser effettua una connessione HTTPS a www.acunetix.com. Questo è quando la protezione dei criteri di sicurezza HSTS inizia a usare un'intestazione di risposta HTTP:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

L'intestazione Strict-Transport-Security fornisce istruzioni specifiche al browser. D'ora in poi, ogni connessione al sito e ai relativi sottodomini per l'anno successivo (31536000 secondi), dal momento in cui viene ricevuta questa intestazione, deve essere una connessione HTTPS. Le connessioni HTTP non sono consentite affatto. Se il browser riceve una richiesta di caricamento di una risorsa tramite HTTP, deve provare una richiesta HTTPS. Se HTTPS non è disponibile, la connessione deve essere terminata.

Inoltre, se il certificato non è valido, verrà impedito di effettuare una connessione. In genere, se un certificato non è valido (scaduto, auto firmato, firmato da una CA sconosciuta e così via) il browser visualizza un avviso che indica che è possibile eludere. Tuttavia, se il sito ha HSTS, il browser non vi permetterà di aggirare l'avviso a tutti. Per accedere al sito, è necessario rimuoverlo dall'elenco HSTS all'interno del browser.

L'intestazione Strict-Transport-Security viene inviata per un determinato sito Web e copre un nome di dominio specifico. Pertanto, se si dispone dell'intestazione HSTS per www.acunetix.com, non verrà copreacunetix.com ma solo il sottodominio www. Per questo motivo, per una protezione completa, il sito Web deve includere una chiamata al dominio di base (in questo caso, acunetix.com) e ricevere un'intestazione Strict-Transport-Security per tale dominio con la direttiva includeSubDomains

HSTS è completamente sicuro?

Purtroppo, la prima volta che si accede al sito web, non si è protetti da HSTS. Se il sito Web aggiunge un'intestazione HSTS a una connessione HTTP, tale intestazione viene ignorata. Ciò è dovuto al fatto che un utente malintenzionato può rimuovere o aggiungere intestazioni durante un attacco man-in-the-middle. L'intestazione HSTS non può essere considerata attendibile a meno che non venga recapitata tramite HTTPS.

Si deve anche sapere che il HSTS max-age viene aggiornato ogni volta che il browser legge l'intestazione e il valore massimo è di due anni. Ciò significa che la protezione è permanente fino a quando non passano più di due anni tra le tue visite. Se non si visita un sito web per due anni, viene trattato come un nuovo sito. Allo stesso tempo, se servi l'intestazione HSTS con max-age di 0, il browser tratterà il sito come uno nuovo al prossimo tentativo di connessione (che può essere utile per il test).

È possibile utilizzare un metodo di protezione aggiuntivo denominato elenco di precaricamento HSTS. Il progetto Chromium mantiene un elenco di siti web che utilizzano HSTS e l'elenco è distribuito con i browser. Se aggiungi il tuo sito web all'elenco di precaricamento, il browser controlla prima l'elenco interno in modo che il tuo sito web non sia mai accessibile tramite HTTP, nemmeno durante il primo tentativo di connessione. Questo metodo non fa parte dello standard HSTS, ma viene utilizzato da tutti i principali browser (Chrome, Firefox, Safari, Opera, IE11 e Edge).

L'unico metodo attualmente noto che potrebbe essere utilizzato per ignorare HSTS è un attacco basato su NTP. Se il computer client è suscettibile a un attacco NTP, può essere ingannato a scadere il criterio HSTS e accedere al sito una volta con HTTP.

Come aggiungere un dominio all'elenco di precaricamento HSTS?

Per aggiungere un dominio all'elenco di precaricamento HSTS, i siti per tale dominio devono soddisfare diversi requisiti. Ecco cosa devi fare per aggiungere il tuo dominio:

  1. Assicurarsi che i siti dispongano di certificati validi e di crittografia aggiornati.
  2. Se i siti sono disponibili tramite HTTP, reindirizza tutte le richieste a HTTPS.
  3. Assicurati che i precedenti punti 1 e 2 si applichino a tutti i domini e sottodomini (in base ai record DNS).
  4. Servire l'intestazione Strict-Transport-Security su HTTPS per il dominio di base con max-age di almeno 31536000 (1 anno), la direttiva includeSubDomains e la direttiva preload Vedere sopra per un esempio di tale intestazione HSTS valida.
  5. Vai a hstspreload.org e invia il tuo dominio utilizzando il modulo. Se le condizioni vengono soddisfatte, il dominio verrà accodato per essere aggiunto.

Per una maggiore sicurezza, l'elenco di precaricamento non è accessibile o scaricato dal browser. Viene distribuita come risorsa codificata con nuove versioni del browser. Ciò significa che ci vuole un bel po’ di tempo perché i risultati appaiano sulla lista e ci vuole molto tempo per un dominio da rimuovere dalla lista. Se si desidera aggiungere il sito all'elenco, è necessario assicurarsi di essere in grado di mantenere l'accesso HTTPS completo a tutte le risorse per un periodo di tempo prolungato. In caso contrario, si rischia che il sito web diventi completamente inaccessibile.

Come rimuovere un dominio dalla cache HSTS in un browser?

Quando si configura HSTS e lo si testa, potrebbe essere necessario cancellare la cache HSTS nel browser. Se si configura HSTS in modo non corretto, è possibile che vengano visualizzati errori che bloccheranno l'accesso al sito, a meno che non si cancellino i dati. Ecco i metodi più diffusi per diversi browser. Si noti, inoltre, che se il dominio è nell'elenco di precaricamento HSTS, la cancellazione della cache HSTS sarà inefficace e non è possibile forzare una connessione HTTP.

Rimozione da Google Chrome

Per rimuovere un dominio dalla cache di Chrome HSTS, segui queste istruzioni:

  1. Vai su chrome://net-internals/#hsts
  2. Nella sezione Delete domain security policies (Elimina criteri di sicurezza dominio) immettere il dominio da eliminare nella casella di testo
  3. Fare clic sul pulsante Elimina, accanto alla casella di testo

In seguito, è possibile verificare se la rimozione è stata eseguita correttamente:

  1. Nella sezione Query dominio HSTS/PKP immettere il dominio da verificare nella casella di testo
  2. Fare clic sul pulsante Query accanto alla casella di testo
  3. La risposta dovrebbe essere Non trovata

Rimozione da Mozilla Firefox

Ci sono molti metodi diversi per rimuovere le informazioni HSTS da Firefox per un determinato dominio. Tutti sono descritti in dettaglio in un articolo dedicato. Di seguito vi è il più semplice e più veloce, ma rimuove più di informazioni HSTS dalla cache.

  1. Chiudere tutte le schede aperte per il sito
  2. Aprire la finestra cronologia di Firefox (Libreria > Cronologia > Mostra tutta la cronologia)
  3. Cercare il dominio utilizzando la barra di ricerca
  4. Fare clic con il pulsante destro del mouse sul dominio e scegliere l'opzione Dimentica informazioni su questo sito
  5. Riavviare Firefox

Rimozione da Apple Safari

Rimuovere le informazioni HSTS da Safari è molto facile:

  1. Chiudi Safari
  2. Eliminare il seguente file dalla home directory: /Libreria/Cookies/HSTS.plist
  3. Apri Safari

Rimozione da Microsoft Internet Explorer e Microsoft Edge

Non è possibile rimuovere un dominio dalla cache HSTS per i browser Microsoft. Puoi disattivare HSTS solo temporaneamente in Internet Explorer 11 e solo in Windows 7 o Windows 8.1 (non in Windows 10). Le istruzioni complete sono disponibili nell'articolo del supporto tecnico Microsoft.


Ripe Ncc Member
vmware
CloudLinux
Plesk
HP
Microsoft