Che cos'è HTTP Strict Transport Security (HSTS)?

Scopri di più su HTTP Strict Transport Security (HSTS), un meccanismo di sicurezza web cruciale che impone connessioni HTTPS. Scopri i suoi vantaggi, i passaggi di implementazione e le best practice per proteggere il tuo sito web dagli attacchi comuni.

HTTP Strict Transport Security (HSTS) è un meccanismo di policy di sicurezza web che aiuta a proteggere i siti web dagli attacchi di downgrade del protocollo e dal dirottamento dei cookie. Consente ai server web di dichiarare che i browser web (o altri user agent conformi) devono interagire con esso solo tramite connessioni HTTPS sicure e mai tramite il protocollo HTTP non sicuro.

Guida rapida: implementazione di HSTS

  1. Assicurati che il tuo sito web sia completamente accessibile tramite HTTPS.

  2. Aggiungi l'intestazione Strict-Transport-Security alle risposte del tuo server web:

    Sicurezza rigorosa per il trasporto: età massima = 300; includeSubDomains; precarico
  3. Testa l'implementazione HSTS utilizzando strumenti online e strumenti per sviluppatori di browser.

  4. Aumentare il valore max-age dopo aver confermato la corretta implementazione.

  5. Per la massima sicurezza, valuta la possibilità di inviare il tuo dominio alla lista di precaricamento HSTS.

Ora esploriamo i dettagli dell'HSTS, i suoi vantaggi e le considerazioni sulla sua implementazione.

Comprendere HSTS in dettaglio

Quale problema risolve l'HSTS?

HSTS è stato sviluppato per risolvere diverse vulnerabilità di sicurezza che si verificano quando i siti web si basano esclusivamente su HTTPS senza protezioni aggiuntive:

  • Attacchi di stripping SSL: Un aggressore potrebbe intercettare la richiesta HTTP iniziale e reindirizzare l'utente a una versione non protetta del sito.
  • Contenuto misto: Alcune risorse di una pagina potrebbero comunque essere caricate tramite HTTP, creando vulnerabilità di sicurezza.
  • Comportamento dell'utente: Gli utenti potrebbero digitare manualmente "http://" oppure omettere completamente il protocollo quando inseriscono un URL, esponendosi potenzialmente a connessioni non protette.

HSTS attenua questi problemi forzando tutte le connessioni a utilizzare HTTPS, anche quando un utente tenta di accedere a un sito tramite HTTP.

Come funziona HSTS

Quando un server web invia l'intestazione HSTS nella sua risposta, istruisce il browser a:

  • Converti automaticamente tutti i link HTTP non sicuri in link HTTPS sicuri.
  • Impedisce agli utenti di ignorare gli avvisi sui certificati.
  • Ricordare questa istruzione per un periodo di tempo specificato (definito dalla direttiva max-age).

Ecco una ripartizione dei componenti dell'intestazione HSTS:

  • età massima: Specifica per quanto tempo (in secondi) il browser deve ricordarsi di forzare HTTPS.
  • includeSottodomini: (Facoltativo) Applica il criterio HSTS a tutti i sottodomini del dominio corrente.
  • precarico: (Facoltativo) Indica che il proprietario del dominio acconsente al precarico del proprio dominio nei browser.

Vantaggi dell'implementazione di HSTS

  • Sicurezza avanzata: Protegge dagli attacchi man-in-the-middle, dallo stripping SSL e dal dirottamento dei cookie.
  • Maggiore esperienza utente: Reindirizza automaticamente le richieste HTTP a HTTPS, riducendo la latenza.
  • Vantaggi SEO:I motori di ricerca favoriscono i siti web sicuri, migliorando potenzialmente il posizionamento nei risultati di ricerca.
  • Conformità: Aiuta a soddisfare vari requisiti normativi in ​​materia di protezione dei dati e privacy.
Pronto a proteggere il tuo sito web con HTTPS?
Inizia subito a utilizzare il certificato generale di SSL.com e fai il primo passo verso l'implementazione di HSTS per una maggiore sicurezza.

Implementazione di HSTS sul tuo server Web

Passaggio 1: prepara il tuo sito web per HTTPS

Prima di implementare HSTS, assicurati che il tuo sito web sia completamente funzionante tramite HTTPS:

  1. Ottieni un SSL/TLS certificato da un'autorità di certificazione attendibile come SSL.com.
  2. Installa il certificato sul tuo server web.
  3. Configura il tuo server web per utilizzare HTTPS.
  4. Aggiornare tutti i link interni per utilizzare HTTPS.
  5. Assicurarsi che tutte le risorse esterne (script, immagini, ecc.) vengano caricate tramite HTTPS.

Passaggio 2: aggiungere l'intestazione HSTS

Inizia aggiungendo l'intestazione HSTS con un breve valore max-age per testare la tua configurazione. Ad esempio, usa max-age=300 (5 minuti):

Apache

Aggiungere quanto segue al file .htaccess o alla configurazione del server:

testata imposta sempre Strict-Transport-Security "max-age=300; includeSubDomains; precarica"

Nginx

Aggiungilo al blocco del server nella configurazione Nginx:

aggiungi_intestazione Strict-Transport-Security "max-age=300; includeSubDomains; precarica" sempre;

IIS

Per IIS, è possibile aggiungere l'intestazione tramite il file web.config:

<sistema.webServer>
  <httpProtocollo>
    <intestazioni personalizzate>
      <aggiungere Nome="Sicurezza-rigorosa-dei-trasporti" APPREZZIAMO="max-age=300; includeSubDomains; precarica"/>
    </intestazioni personalizzate>
  </httpProtocollo>
</sistema.webServer>

Passaggio 3: testare l'implementazione HSTS

Dopo aver aggiunto l'intestazione, è fondamentale testare l'implementazione:

  1. Usa gli strumenti online: Strumenti come SSL Labs o Security Headers possono verificare che l'intestazione HSTS sia presente e correttamente configurata.

  2. Strumenti per sviluppatori del browser:

    • Apri il tuo sito web in un browser (ad esempio Chrome o Firefox).

    • Premi F12 per aprire gli strumenti di sviluppo.

    • Passare alla scheda Rete.

    • Aggiorna la pagina e seleziona la richiesta iniziale (solitamente il tuo dominio).

    • Cercare l'intestazione Strict-Transport-Security nella sezione Intestazioni per confermare che l'invio è avvenuto.

  3. Prova l'applicazione HTTPS:

    • Prova ad accedere al tuo sito web tramite http:// e assicurati che venga reindirizzato a https://.

    • Se hai incluso la direttiva includeSubDomains, verifica che anche i sottodomini siano protetti.

Passaggio 4: aumentare il valore max-age

Dopo aver verificato che l'implementazione HSTS funziona correttamente con una durata massima breve, è possibile aumentarla a una durata più lunga, ad esempio un anno (durata massima=31536000):

Apache

testata imposta sempre Strict-Transport-Security "max-age=31536000; includeSubDomains; precarica"

Nginx

aggiungi_intestazione Strict-Transport-Security "max-age=31536000; includeSubDomains; precarica" sempre;

IIS

<sistema.webServer>
  <httpProtocollo>
    <intestazioni personalizzate>
      <aggiungere Nome="Sicurezza-rigorosa-dei-trasporti" APPREZZIAMO="max-age=31536000; includeSubDomains; precarica"/>
    </intestazioni personalizzate>
  </httpProtocollo>
</sistema.webServer>

Passaggio 5: considerare il precaricamento HSTS

Il precaricamento HSTS offre un ulteriore livello di sicurezza includendo il tuo dominio in un elenco di siti abilitati HSTS codificato nei browser. Per precaricare il tuo sito:

  1. Assicurati che l'intestazione HSTS includa preload nella direttiva.
  2. Visita il sito web per l'invio dell'elenco di precaricamento HSTS.
  3. Inserisci il tuo dominio e segui la procedura di invio.

Nota: il precaricamento è una potente protezione, ma può essere difficile da annullare. Assicurati che il tuo sito sia pronto per l'accesso HTTPS-only a lungo termine prima di inviare.

Migliori Pratiche e Considerazioni

  • Inizia con un max-age breve: Inizia con un valore più basso (ad esempio, max-age=300) e aumentalo gradualmente man mano che confermi che tutto funziona correttamente. Questo impedisce che gli utenti vengano bloccati se c'è una configurazione errata.
  • Fai attenzione con includeSubDomains: Prima di utilizzare questa opzione, assicurarsi che tutti i sottodomini siano pronti per HTTPS.
  • Pianificare a lungo termine: Una volta implementato HSTS, tornare a HTTP può essere difficile. Assicurati che la tua organizzazione si impegni a mantenere HTTPS.
  • Monitoraggio regolare: Monitora costantemente la tua configurazione HTTPS per assicurarti che i certificati rimangano validi e configurati correttamente.
  • Istruzione degli utenti: Sebbene HSTS gestisca gran parte delle operazioni in modo automatico, è opportuno informare gli utenti sull'importanza di HTTPS e prestare attenzione agli avvisi di sicurezza.

Potenziali sfide e soluzioni

Problemi di contenuto misto

  • La sfida: Alcune risorse vengono ancora caricate tramite HTTP.
  • Soluzione: Utilizzare le intestazioni Content Security Policy (CSP) per rilevare e segnalare contenuti misti.

Scadenza del certificato

  • La sfida: I certificati scaduti possono bloccare gli utenti a causa delle rigide politiche HSTS.
  • Soluzione: Implementare sistemi automatizzati di monitoraggio e rinnovo dei certificati.

Complicazioni del proxy inverso

  • La sfida: Le intestazioni HSTS potrebbero non propagarsi correttamente tramite alcune configurazioni di proxy inverso.
  • Soluzione: Assicurati che il tuo proxy inverso sia configurato per passare o impostare correttamente le intestazioni HSTS.

Ambienti di sviluppo e test

  • La sfida: HSTS può complicare l'accesso ad ambienti di sviluppo non HTTPS.
  • Soluzione: Utilizzare domini separati per lo sviluppo/staging che non siano abilitati per HSTS.

Conclusione

HTTP Strict Transport Security (HSTS) è uno strumento potente. Forzando connessioni sicure, HSTS protegge il tuo sito web e i suoi utenti da vari attacchi. Mentre l'implementazione richiede un'attenta pianificazione ed esecuzione, i vantaggi in termini di sicurezza superano di gran lunga le complessità di configurazione iniziale.

Ricorda, la sicurezza web è un processo continuo. Rivedi e aggiorna regolarmente la tua policy HSTS, monitora l'implementazione HTTPS e resta informato sulle best practice emergenti per la sicurezza web per mantenere il tuo sito web e i tuoi utenti al sicuro.

Rimani informato e sicuro

SSL.com è un leader globale nella sicurezza informatica, PKI e certificati digitali. Iscriviti per ricevere le ultime notizie del settore, suggerimenti e annunci di prodotti da SSL.com.

SSL.com

Ci piacerebbe il tuo feedback

Partecipa al nostro sondaggio e facci sapere cosa ne pensi del tuo recente acquisto.

Centro preferenze sulla privacy
SSL.com

Questo sito Web utilizza i cookie in modo che possiamo offrirti la migliore esperienza utente possibile. Le informazioni sui cookie sono memorizzate nel tuo browser e svolgono funzioni come riconoscerti quando ritorni sul nostro sito Web e aiutare il nostro team a capire quali sezioni del sito Web ritieni più interessanti e utili.

Per maggiori informazioni leggi il nostro Informativa su cookie e privacy.

3rd Cookie di terze parti

Questo sito web utilizza Google Analytics & Contatore statistiche per raccogliere informazioni anonime quali il numero di visitatori del sito e le pagine più popolari.

Mantenere abilitati questi cookie ci aiuta a migliorare il nostro sito Web.

Mostra i dettagli