È noto che HTTPS è molto più sicuro di HTTP. Tuttavia, se doveste visualizzare nel messaggio “HSTS Missing From HTTPS Server”, allora questo protocollo potrebbe mettere a rischio il vostro sito.

Per fortuna, è possibile chiudere questa grave falla nella sicurezza. Anche se non avete riscontrato questo messaggio di errore, qualsiasi sito che reindirizza da HTTP a HTTPS è vulnerabile a questo exploit. Pertanto, è prudente adottare un approccio proattivo e correggere questa falla.

In questo articolo, cercheremo di capire cos’è l’errore “HSTS missing from HTTP server” e perché dovrebbe mettere in allarme qualsiasi sito web che utilizza redirect HTTPS. Vi mostreremo come risolvere il problema e fermare gli hacker, in cinque semplici step.

Guardate la Nostra Video-Guida per Risolvere l’Errore HTTP “HSTS Missing From HTTP Server”.

Introduzione all’Errore “HSTS Missing From HTTP Server

Per permettere di mantenere i visitatori al sicuro, non è raro che i siti eseguano un redirect HTTPS. Questo redirect indirizza i visitatori dalla versione HTTP alla versione HTTPS del sito web.

Un utente può inserire esplicitamente HTTP nella barra degli indirizzi del suo browser o seguire un link che punta ad una versione HTTP del sito. In queste situazioni, un redirect può impedire a terzi malintenzionati di rubare i dati del visitatore.

Purtroppo, nessuna tecnologia è perfetta. Se il vostro sito utilizza redirect HTTPS, potreste essere vulnerabili ad attacchi Man-In-The-Middle (MITM), noti anche come Secure Sockets Layer (SSL) Stripping. In un attacco del genere, l’hacker bloccherà la richiesta di redirect e impedirà al browser di caricare il vostro sito sul protocollo HTTPS. Come risultato, il visitatore accederà al vostro sito tramite HTTP, il che rende molto più facile per gli hacker rubare i dati.

In alternativa, l’attaccante potrebbe intercettare il redirect e inoltrare i visitatori ad una versione clone del vostro sito. A questo punto, l’hacker può rubare tutti i dati condivisi dall’utente, comprese le password e le informazioni di pagamento. Alcuni hacker potrebbero anche cercare di indurre i visitatori a scaricare un software dannoso.

Gli hacker potrebbero ancherubare un cookie di sessione su una connessione non protetta, in un attacco noto come cookie hijacking. Questi cookie possono contenere una grande quantità di informazioni, compresi nomi utente, password e persino i dati della carta di credito.

Per proteggere i visitatori da questi attacchi, consigliamo di attivare HTTP Strict Transport Security (HSTS). Questo protocollo forza il browser ad ignorare qualsiasi richiesta diretta e a caricare il sito su HTTPS.

Il Protocollo HSTS (e Perché Utilizzarlo)

HSTS è una direttiva del server e una policy di sicurezza web. Specificata dall’Internet Engineering Task Force (IETF) nella RFC 6797, HSTS stabilisce delle regole di gestione delle connessioni per user agent e browser web per un sito che gira su HTTPS.

A volte, una scansione di sicurezza IT potrebbe segnalare che al vostro sito mancano “HSTS” o le intestazioni “HTTP Strict Transport Security”. Se riscontrate questo errore, allora il vostro sito non sta usando HSTS, il che significa che i vostri redirect HTTPS potrebbero mettere a rischio i vostri visitatori.

È una vulnerabilità classificata a rischio intermedio. Tuttavia, è incredibilmente comune e rappresenta un frutto da cogliere facilmente per gli aggressori. Se riscontrate questo errore, allora è fondamentale affrontarlo con decisione.

Aggiungendo l’header di sicurezza HSTS al vostro server, potrete forzare il vostro sito a caricare sul protocollo HTTPS. Questo può aiutarvi a proteggere il vostro sito dal cookie hijacking e dagli attacchi al protocollo. Dato che state potenzialmente rimuovendo un redirect dalla procedura di caricamento, il sito potrebbe anche caricare più velocemente.

C’è una possibilità che non abbia riscontrato questo errore ma che siate comunque preoccupati per HSTS. Se non siete sicuri di avere HSTS abilitato, potete analizzare il vostro sito utilizzando uno strumento come Security Headers. Basta inserire l’URL del sito e poi cliccare su Scan.

Scansionare il sito con Security Headers
Scansionare il sito con Security Headers

Security Headers controllerà il vostro sito e mostrerà tutte le intestazioni applicate nella sezione Headers . Se compare Strict-Transport-Security, allora il vostro sito è protetto. Tuttavia, se questa intestazione non è nell’elenco, allora abbiamo del lavoro da fare.

Come Risolvere l’Errore “HSTS Missing From HTTP Server” (in 5 Passi)

La vulnerabilità HSTS è l’occasione perfetta per gli hacker per rubare dati o ingannare i vostri visitatori spingendoli eseguire azioni pericolose. Ecco come abilitare la policy HSTS e mantenere il vostro sito al sicuro.

Passo 1: Creare un Backup Manuale

Abilitare la policy HSTS rappresenta un cambiamento significativo per il vostro sito web. Per questo motivo, consigliamo di creare un backup prima di procedere. Questo vi dà la possibilità di ripristinare il sito nell’improbabile eventualità in cui riscontriate qualche problema quando abilitate HSTS.

Da Kinsta forniamo backup quotidiani automatici di WordPress. Ma è sempre prudente creare un backup manuale prima di fare qualsiasi cambiamento importante. Per creare questa rete di sicurezza, aprite il cruscotto MyKinsta e selezionate il sito web in questione. Poi, fate clic sulla scheda Backup.

La scheda Backup in MyKinsta
La scheda Backup in MyKinsta

Selezionate quindi la scheda Manuale. Cercate il pulsante Esegui backup adesso e fate clic.

“Esegui backup adesso”
“Esegui backup adesso”

Ora potete aggiungere una breve nota al vostro backup. Questo può aiutarvi ad identificarlo nella dashboard di MyKinsta.

Infine, fate clic su Crea backup. Ora genereremo il vostro backup e lo aggiungeremo alla vostra dashboard.

Passo 2: Impostare un Redirect da HTTP a HTTPS

Prima di abilitare la policy HSTS, dovrete distribuire un certificato SSL sul vostro sito web. Da Kinsta, proteggiamo automaticamente tutti i domini verificati grazie alla nostra integrazione di Cloudflare. Questo include certificati SSL gratuiti con supporto wildcard. A meno che non richiediate specificamente un certificato personalizzato, non dovrete preoccuparvi di configurare SSL manualmente.

Successivamente, dovrete impostare un redirect da HTTP a HTTPS, se non l’avete già fatto. Per creare questo redirect, basta accedere al cruscotto di MyKinsta e selezionare il vostro sito web. Poi fate clic su Strumenti.

La scheda “Strumenti” in MyKinsta
La scheda “Strumenti” in MyKinsta

Nella sezione Forza HTTPS, fate clic sul pulsante Abilita. Ora potete scegliere di utilizzare il vostro dominio primario come destinazione o richiedere di utilizzare un dominio alternativo. Dopo aver preso questa decisione, selezionate Forza HTTPS.

Tenete presente che, se utilizzate proxy di terze parti o impostate regole HTTPS personalizzate, forzare HTTPS potrebbe causare errori o altre anomalie. Se riscontrate problemi, potete sempre contattare il nostro team di supporto, che sarà felice di aiutarvi.

Se il vostro server web utilizza Nginx, allora potete reindirizzare tutto il vostro traffico HTTP su HTTPS. Basta aggiungere il seguente codice al file di configurazione di Nginx:

server {

listen 80;

server_name domain.com www.domain.com;

return 301 https://domain.com$request_uri;

}

In alternativa, se siete clienti di Kinsta, potete lasciar fare a noi questa modifica. Basta aprire un ticket di supporto e farci sapere quale dominio volete venga reindirizzato, e noi ci occuperemo del resto.

Passo 3: Aggiungere l’Header HSTS

Ci sono vari tipi di direttive e livelli di sicurezza che potete applicare alla vostra intestazione HSTS. Tuttavia, noi consigliamo di aggiungere la direttiva max-age, perché questa stabilisce il tempo, espresso in secondi, per il quale il server web deve consegnare via HTTPS. Questo blocca l’accesso a pagine o sottodomini che possono essere serviti solo via HTTP.

Se utilizzate un server Apache, dovrete aprire il vostro file hosts virtuale e aggiungere quanto segue:

Header always set Strict-Transport-Security max-age=31536000

Da Kinsta usiamo server Nginx. Se siete clienti di Kinsta, potete aggiungere quanto segue al vostro file di configurazione di Nginx:

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

Come sempre, possiamo fare tutto il lavoro per voi. Basta aprire un ticket di supporto chiedendo di aggiungere un’intestazione HSTS al vostro sito. Il nostro team sarà felice di apportare questa modifica al vostro file Nginx.

Passo 4: Inviare il Sito alla HSTS Preload List

C’è un aspetto negativo importante nella policy HSTS. Un browser deve incontrare l’header HSTS almeno una volta prima di poterlo utilizzare per le successive visite. Questo significa che il vostro pubblico dovrà completare il processo di reindirizzamento da HTTP a HTTPS almeno una volta. Durante questo periodo, i visitatori saranno vulnerabili agli attacchi basati sul protocollo.

Nel tentativo di chiudere questa falla nella sicurezza, Google ha creato la HSTS preload list. Questo elenco contiene tutti i siti web che supportano HSTS, che è poi inserito in Chrome. Aggiungendo il vostro sito a questo elenco, i visitatori non dovranno più completare un redirect HTTPS iniziale.

I principali browser internet hanno le proprie liste di precaricamento HSTS, che sono basate sulla lista di Chrome. Per essere idoneo ad entrare in questa lista, il vostro sito deve soddisfare i criteri di presentazione. La buona notizia è che abbiamo già verificato tutti questi requisiti, quindi potete procedere e presentare il vostro sito alla HSTS preload list.

Una volta che siete entrati in questa lista, alcuni strumenti di ottimizzazione dei motori di ricerca (SEO) potrebbero avvisarvi della presenza di redirect 307. Questi si verificano quando qualcuno tenta di accedere al vostro sito attraverso un protocollo HTTP non sicuro. Questo innesca un redirect 307 invece di un redirect 301 permanente. Se siete preoccupati di questo, potete utilizzare httpstatus per analizzare il vostro sito e verificare se si sta verificando un redirect 301.

Passo 5. Verificare L’Header Strict-Transport-Security

Dopo aver aggiunto l’header HSTS, è una buona idea verificare che funzioni correttamente. Potete eseguire questo controllo utilizzando gli strumenti web integrati del vostro browser.

I passaggi variano a seconda del browser. Potete eseguire la verifica in Google Chrome DevTools. Aprite la pagina web che volete testare e fate clic su qualsiasi area vuota, quindi selezionate Ispeziona.

Home page di Kinsta
Home page di Kinsta

Nel pannello successivo, selezionate la scheda Network. Potrete quindi controllare la sezione degli header, che dovrebbe contenere quanto segue:

strict-transport-security: max-age=31536000

In alternativa, potete scansionare il vostro sito utilizzando lo strumento Security Headers. Come prima, inserite l’URL del vostro sito web e poi fate clic su Scan. Questo restituirà un Security Report che dovrebbe contenere un tag strict-transport-security. Se questo tag è presente, allora il vostro header HSTS è configurato correttamente e avete chiuso con successo la falla del redirect HTTPS.

Riepilogo

Il redirect da HTTP a HTTPS è una best practice di sicurezza. Tuttavia, nessuna tecnologia è perfetta e questo redirect può rendere il vostro sito vulnerabile agli attacchi SSL.

Detto questo, rivediamo brevemente come risolvere l’errore “HSTS missing from HTTP server”:

  1. Create un backup manuale del vostro sito.
  2. Impostate un redirect da HTTP a HTTPS.
  3. Aggiungete l’header HSTS.
  4. Inviate il vostro sito alla HSTS preload list.
  5. Verificate l’header strict-transport-security.

Rimuovere i messaggi di errore può essere compito lungo e noioso. Ma il nostro team di esperti è qui per aiutarvi! Il supporto 24 ore su 24 è incluso in tutti i piani di Kinsta e vi permette di concentrarvi su ciò che conta davvero: far crescere il vostro sito web.