Arilinet | HSTS cos'è e perchè è importante attivarlo
SEO, Cybersecurity

HSTS: cos’è e perchè è importante abilitarlo sui siti web

HSTS (HTTP Strict Transport Security) è una politica di sicurezza per i siti web che consente di proteggere gli utenti dalle vulnerabilità associate agli attacchi basati su SSL/TLS (Secure Socket Layer/Transport Layer Security). La procedura HSTS è una risposta alle minacce di tipo “Man-in-the-Middle” (MITM) e alle forme di attacchi di degrado della sicurezza basati sul protocollo HTTP.

Il funzionamento di HSTS è abbastanza semplice: quando un browser riceve la risposta da un sito web contenente la direttiva HSTS, il browser memorizza questa informazione e impone l’uso di una connessione sicura (HTTPS) per tutte le richieste future verso quel sito, per un periodo di tempo specificato. Durante questo periodo, il browser automaticamente forzerà le richieste HTTP a essere indirizzate verso HTTPS, anche se l’utente dovesse inserire manualmente “http://” nella barra degli indirizzi.

Ciò è particolarmente utile perché evita che gli utenti siano esposti ad attacchi di “downgrade” della connessione, in cui un aggressore cerca di costringere il browser dell’utente a utilizzare una connessione HTTP insicura invece di quella crittografata HTTPS. Inoltre, impedisce che l’utente acceda inavvertitamente a un sito web non sicuro.

Le principali vulnerabilità associate alla mancanza di attivazione di HSTS includono:

  1. Attacchi MITM: Senza HSTS, un attaccante potrebbe intercettare il traffico tra il browser dell’utente e il sito web durante la fase iniziale di connessione (detta “handshake”) e forzare una connessione HTTP non crittografata, rendendo più facile il furto di dati sensibili.
  2. Attacchi di degrado della sicurezza: Senza HSTS, un aggressore potrebbe inviare al browser dell’utente delle richieste HTTP, anche se il sito supporta HTTPS, facendo sembrare che la connessione sicura non sia disponibile e spingendo il browser a utilizzare una connessione non crittografata.
  3. Schemi di phishing: Senza HSTS, i cibercriminali potrebbero creare siti web che somigliano a quelli legittimi e utilizzare una connessione non crittografata per rubare informazioni personali, come le credenziali di accesso.
  4. Session Hijacking: In mancanza di HSTS, gli attaccanti potrebbero utilizzare attacchi di “session hijacking” per intercettare le sessioni degli utenti e assumere il controllo delle loro sessioni attive.
  5. Analisi del traffico: In assenza di HSTS, gli attaccanti potrebbero essere in grado di monitorare e analizzare il traffico tra l’utente e il sito web per raccogliere informazioni sensibili o scoprire vulnerabilità potenziali.

Per prevenire queste vulnerabilità e garantire una maggiore sicurezza durante le interazioni tra utenti e siti web, è consigliabile abilitare HSTS sul server web. I siti web che implementano correttamente HSTS comunicano al browser degli utenti di utilizzare sempre HTTPS, riducendo significativamente il rischio di esposizione a vulnerabilità e attacchi basati su SSL/TLS.

Approfondiamo ulteriormente alcuni aspetti legati a HSTS (HTTP Strict Transport Security):

  1. Come funziona HSTS: Quando un server web implementa HSTS, invia un’intestazione HTTP chiamata “Strict-Transport-Security” al browser dell’utente. Questa intestazione specifica il periodo di tempo (in secondi) per cui il browser deve ricordarsi di forzare l’utilizzo di HTTPS per quel particolare sito. Ad esempio, se il server invia l’intestazione “Strict-Transport-Security: max-age=31536000”, il browser memorizzerà questa informazione per un anno. Durante questo periodo, il browser automaticamente convertirà le richieste HTTP in richieste HTTPS per quel dominio specifico.
  2. Inclusione delle subrisorse: HSTS può essere configurato per includere anche le subrisorse del sito. Ciò significa che se un dominio principale attiva HSTS, tutte le richieste di risorse come immagini, script o stili saranno automaticamente reindirizzate verso HTTPS senza ulteriori richieste al server. Questa configurazione, chiamata “includeSubDomains”, offre una protezione più ampia per tutte le risorse del sito.
  3. Opzione “preload” di HSTS: Per aumentare ulteriormente la sicurezza, i siti web possono richiedere di essere inseriti in una lista di pre-caricamento (“preload list”) gestita da alcuni browser. Ciò significa che anche se un utente visita per la prima volta il sito, il browser già conoscerà l’impostazione HSTS, eliminando la necessità di un’interazione precedente con il sito. Per essere pre-caricato, il sito deve soddisfare determinati requisiti di sicurezza e inviare una richiesta ai progetti HSTS preload.
  4. Politiche di backup (fallback): Quando il server invia l’intestazione HSTS, il browser inizierà a forzare l’utilizzo di HTTPS. Tuttavia, cosa succede se il sito non supporta più HTTPS o c’è un problema con il certificato SSL? Per evitare l’accesso bloccato ai siti in queste situazioni, è possibile impostare una politica di backup chiamata “includeSubdomains preload;” che richiede al browser di ignorare temporaneamente HSTS in determinate circostanze e consentire l’accesso tramite HTTP. Questo offre una maggiore flessibilità e mitigazione dei rischi.
  5. HSTS Preloading e tempi di impegno: Una volta che un sito è incluso nella lista di pre-caricamento, l’impostazione HSTS diventa vincolante per tutti gli utenti di quel browser per un periodo di tempo molto più lungo. La rimozione da questa lista richiederà molto tempo (mesi o anni) e richiede l’invio di richieste aggiornate ai progetti HSTS preload per aggiornare le informazioni nei browser.

In generale, HSTS è uno strumento potente per migliorare la sicurezza delle connessioni web e proteggere gli utenti da varie minacce legate all’uso di connessioni non crittografate. La sua attivazione e configurazione corretta sono raccomandate per tutti i siti web che supportano HTTPS, in modo da fornire un ambiente online più sicuro per gli utenti.

close