HTTP Security Headers, cosa sono e a cosa servono

Postato in data 3 Marzo 2022 da Riccardo Esposito - Aggiornato il 20 Novembre 2023

Dici HTTP Security Headers e pensi subito a qualcosa di estremamente tecnico. In realtà questo aspetto della struttura di un blog o di un sito web deve essere approfondito e affrontato al meglio se si vuole lavorare in un’ottica di ottimizzazione SEO e mantenere una funzionalità elevata del proprio portale. Detto in altre parole, non puoi essere online e ignorare questo argomento.

Stiamo parlando, come avrai intuito, di un parametro relativo alla sicurezza del sito web. Una sicurezza che oggi fa parte dei parametri noti come Page Experience Google. Ovvero una valutazione generale dei vari elementi che compongono l’esperienza utente.

All’interno troviamo anche i Core Web Vitals, l’ottimizzazione per il mobile, la presenza dell’HTTPS e, appunto, la sicurezza delle pagine web. Quindi gli HTTP Security Headers restano al centro delle tue attenzioni: qui trovi le principali intestazioni di sicurezza, qualche consiglio per implementarle e i plugin di WordPress puoi utilizzare per impostare al meglio questo lavoro.

Cosa sono gli HTTP Security Headers

Sono semplicemente delle direttive, relative alla sicurezza del sito web, che vengono trasmesse attraverso l’HTTP header response. Ovvero la risposta che il web server dà al software browser che sta cercando di accedere al sito web.

Il client, il programma che usi per navigare, si connette al tuo spazio web attraverso un dominio e riceve diverse informazioni. Come ad esempio lo status code (200 se va bene, 404 se va male). Le intestazioni di sicurezza relative all’HTTP Security Headers definiscono limiti e istruzioni che impediscono azioni non desiderate e pericolose per il tuo lavoro pubblicato su internet.

Perché utilizzare HTTP Security Headers

Questi elementi hanno il compito di definire un livello di sicurezza avanzato. Limitando i comportamenti permessi dal browser e dal server (quindi richiesta e risposta di dati) una volta che viene eseguita un’azione dall’utente. O da un bot. I software automatizzati sono sempre alla ricerca di siti web per individuare punti deboli della sicurezza. Certo, puoi lavorare anche su altri fronti.

Ad esempio utilizzando plugin per aumentare la sicurezza e montando un buon firewall o utilizzando un hosting di qualità che monta un sistema come Bitninja. Ma non è sempre sufficiente, ecco perché entrano in gioco gli HTTP Security Headers.

Da leggere: cos’è e come risolvere la schermata bianca della morte

Le principali intestazioni di sicurezza

Alcune intestazioni sono state deprecate nel tempo, altre sono apparse e molte si relazionano in base al tipo di browser utilizzato. Ci sono diverse intestazioni, quali sono le più importanti? Qui trovi la lista completa. Io ho fatto una selezione che devi prendere in considerazione quando vuoi aumentare la sicurezza del tuo sito web in modo chirurgico, accurato.

X Content Type Options

L’impostazione di questo HTTP Security Headers blocca il browser interpretare i file in modo diverso da quanto specificato nell’intestazione HTTP Content-Type. Questo è utile per bloccare la tecnica dello MIME type sniffing. Questa vulnerabilità si presenta quando un sito consente di caricare dati sul server e un utente maschera un file HTML come un tipo di file diverso.

Ciò consente di aprire una breccia nella tua sicurezza, ma la buona notizia è proprio questa: puoi impedire che avvenga questa interpretazione malevola dei file. Se tutto questo ti spaventa puoi impostare l’header X-Content-Type-Options in questo modo:

X-Content-Type-Options: nosniff

HTTP Strict Transport Security (HSTS)

Questa istruzione contrasta gli attacchi attraverso un downgrade del protocollo HTTPS a una connessione HTTP, soluzione che consente di sfruttare redirect 301 non sicuri. In questo modo che i browser devono interagire con il tuo portale solo attraverso connessioni HTTPS sicure e mai tramite il protocollo HTTP. L’intestazione HSTS impedisce che ciò accada. In che modo?

HTTP Security Headers

Costringendo il browser a non accettare assolutamente una connessione che non sia sicura per te e per l’utente che digita i dati. Questo HTTP Security Headers ha due valori: tempo di durata dell’istruzione e presenza o meno di sottodomini. Esempio:

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

Clear Site Data (CSD)

Il parametro Clear-Site-Data cancella i dati di navigazione (tipo cookie, cache) relativi al sito web. Consente ai webmaster di avere maggiore controllo sulle informazioni archiviate da un browser di navigazione. Questa intestazione è utile durante un processo di logout. Ad esempio garantisce che tutti i contenuti archiviati sul browser vengano rimossi. Nella sintassi dell’header puoi indicare i singoli parametri da cancellare o utilizzare l’asterisco per comprenderli tutti, anche quelli futuri che verranno aggiunti. Esempio:

Clear-Site-Data: "cache","cookies","storage"

Content Security Policy (CSP)

Questa soluzione è pensata per anticipare e disinnescare un’ampia gamma di attacchi, inclusi i Cross Site scripting che utilizzano una falla nella sicurezza del portale. Grazie a queste leggerezze, tipo usare plugin non sicuri o non aggiornare i temi, i malintenzionati possono lanciare script dannosi su un sito web che vengono poi scaricati nel browser dell’utente.

Questo è una noia per tutti, soprattutto per cil proprietario del portale che può ricevere anche un ban da Google. Il Content Security Policy suggerisce al browser di scaricare solo le risorse da un determinato gruppo di domini. Senza andare oltre. Ovviamente sei tu a decidere se la politica di sicurezza dei contenuti deve essere più o meno restrittiva. Un esempio:

Content-Security-Policy: font-src font.example.com;

Referrer Policy

Vuoi aumentare la sicurezza del tuo sito WordPress partendo dalle cose semplici? Quando dal tuo sito web un utente clicca su un link manda delle informazioni strutturali sulla fonte agli strumenti di analisi del sito internet di atterraggio.

Lo scopo di un’intestazione Referrer-Policy è quello di controllare quali informazioni vengono inviate quando un visitatore lascia le tue pagine per visitare un altro portale. In sintesi, con l’HTTP Referrer-Policy determini quali informazioni devono essere incluse con le richieste effettuate. Con il comando no-referrer l’intestazione verrà omessa del tutto. Ecco l’esempio:

Referrer-Policy: no-referrer

Analizzare gli HTTP Security Header

Per avere un report completo di questi elementi puoi utilizzare un tool gratuito: securityheaders.com. Basta inserire l’URL del sito web che vuoi analizzare e cliccare su invio per avere un report completo della tua condizione. E ricorda sempre che la sicurezza del tuo sito web inizia dalla scelta di un hosting di qualità, strutturato e in grado di vigilare per conto tuo.

Clicca per votare questo articolo!
[Voti totali: 1 Media: 5]
Riccardo Esposito

Discussione

1 commento presente
  • Francesco ha commentato il 2023-04-21 12:02:41

    salve, è possibile impostare queste direttive su un vostro hosting wordpress?


  • Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *