Come configurare i security header di WordPress per HTTPS

Argomenti: ,
Pubblicato il: 29-11-2021 12:47 , Ultimo aggiornamento: 02-12-2021 11:07

Come sappiamo l’uso di HTTPS sui siti in generale è altamente consigliato da varie indicazioni tecniche, anche da parte di Google che lo considera un fattore tecnico e di sicurezza fondamentale. Grazie a HTTPS è possibile aggiungere uno strato “protettivo” e di autenticazione forte alla comunicazione client-server, sfruttando la tecnologia SSL che si è diffusa in versione free (Let’s Encrypt) e a pagamento (certificati di classe più elevata e ad autenticazione più forte).

Quando si usa WordPress, insomma, può essere interessante approfondire il discorso della configurazione dei cosiddetti security header, che evitano da potenziali insicurezze e possibili violazioni oltre ad evitare, ad esempio, il problema del mixed content (siti che funzionano in parte con HTTPS, in parte con HTTP, più diffusi di quanto si possa immaginare) oppure che il sito possa essere clonato facilmente dagli scraper.

A cosa servono i security header?

Attenzione: tutto questo vale per siti in WP configurati su server Apache.

I security header di WordPress pongono regole di sicurezza aggiuntive a livello di protocollo di connessione, impedendo connessioni indebite o non standard agli script ed evitando che, nel 99% dei casi, i visitatori ordinari si “accorgano” della differenza. Al fine di configurare i security header di WordPress per HTTPS, sono necessarie alcune modifiche all’inizio del file htaccess, per quanto poi (come al solito) sia sempre preferibile testare le modifiche una per volta, perchè alcune di queste feature richiedono moduli lato server per poter funzionare.

In breve

Le modifiche che andremo ad introdurre sono qui riassunte in un unico blocco, che consiglio a tutti di testare prima di metterlo live e di verificare che funzioni tutto. In alcuni casi, lo ribadiscono, non è detto che si riesca a configurare tutto facendo mero copia-incolla, e bisognerà valutare i singoli casi.

Il blocco da aggiungere all’inizio del file htaccess per configurare i security header è il seguente.

<IfModule mod_headers.c>
	Header set X-XSS-Protection "1; mode=block"
	Header set X-Frame-Options "SAMEORIGIN"
	Header set X-Content-Type-Options "nosniff"
	Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
	# Header set Content-Security-Policy ...
	Header set Referrer-Policy "same-origin"
	Header set Feature-Policy "geolocation 'self'; vibrate 'none'"
</IfModule>

Nel dettaglio

Vediamo adesso nel dettaglio a cosa corrispondono le singole direttive che vi ho anticipato.

HSTS

Il modulo di HSTS / HSTS preload fa in modo che sia complicato per un malintenzionato copiare o clonare il vostro sito riportandolo anche per intero, a volte, su un dominio diverso, creando così un problema di potenziale frode o web spam. Non solo: così facendo, qualora questa intestazione sia impostata su un dominio, da quel momento in poi ogni browser eseguirà tutte le richieste al tuo dominio via HTTPS, e solo su questo. Tale esclusività gioca a nostro vantaggio, almeno in parte, per evitare casi di scraping.

L’implementazione più comune è scritta così, fissa una data di scadenza per la cache e include qualsiasi sottodominio del dominio attuale mediante Strict-Transport-Security:

# Strict-Transport-Security
<IfModule mod_headers.c>
	Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
</IfModule>

Upgrade-Insecure-Requests


Questo articolo contiene 850 parole – Questo blog esiste da 3.646 giorni.
5/5 (1)

Che te ne pare?

Grazie per aver letto Come configurare i security header di WordPress per HTTPS di Salvatore su Trovalost.it
Come configurare i security header di WordPress per HTTPS (Guide, Configurazioni hosting domini e reti, Guide per la configurazione di WordPress)

Articoli più letti su questi argomenti:

Seguici su Telegram: @trovalost