Scegliere e implementare un certificato SSL in WordPress
da Massimo Della Rovere · pubblicato il 14 Giugno, 2016 · modificato il 30 Maggio, 2017

Il protocollo HTTPS negli ultimi tempi sta diventando sempre più popolare e i siti che lo stanno implementando aumentano sempre di più. Questo non solo per il fatto che google ha dichiarato che è stato inserito come fattore di ranking, ma perché in ogni modo è una maniera per rendere più sicura una connessione tra il nostro browser e il server, il quale grazie al certificato, vedremo che ce ne sono di diversi tipi, può anche indicare la veridicità di chi dice di essere, indicando il nome sulla barra URL.

Il certificato SSL permette al server di stabilire una connessione con un client (browser) in maniera crittografata, questo assicura che i dati di comunicazione HTTP che sono sempre in chiaro, vengano trasmessi in un modo tale da non poter essere letti da chi si intromette tra la comunicazione client e server. Questa situazione ai giorni d’oggi è frequente, basta pensare con quale semplicità ci colleghiamo ad apparati WI-FI che neanche conosciamo bene e dove lo sniffer di rete può essere molto comune.

Tipologie di certificati

Esistono diversi certificati SSL e diverse authority che li rilasciano, si possono trovare dei certificati gratuiti, altri che costano poco e altri che costano molto. Ovviamente dipende dalle esigenze specifiche del sito e dalle funzioni che svolge. Infatti, ci sono casi dove un certificato economico può andare bene e altri dove si necessita di un certificato molto più costoso. Normalmente i certificati vengono suddivisi:

Autenticazione dominio: questo certificato verifica solo il nome di un dominio e non viene verificato chi ne fa richiesta. Utile per molti siti personali e piccoli e-commerce.  Il costo di questo certificato è relativamente basso e si aggira sui 30/40 euro all’anno. Il vantaggio di questo certificato è l’emissione e configurazione SSL in giornata. Usando questo certificato nei browser verrá indicato un lucchetto vicino all’indirizzo URL.

Autenticazione aziendale: a differenza del certificato di domino verrà effettuato un check del richiedente con la richiesta di documenti di identità. In questo caso la procedura di emissione sarà lunga e bisognerà aspettare qualche giorno. Ovviamente i costi saranno maggiori, controllare nelle diverse autorità di certificazione. Anche se il certificato è più sicuro la notifica da parte del browser sarà simile al precedente.

Autenticazione estesa (EV):  questo certificato è sicuramente il più completo e vengono controllati i seguenti dati: esistenza fisica e legale dell’azienda, controllo manuale che l’identità dell’azienda coincida con i dati forniti nella richiesta, verifica che il richiedente abbia i diritti per l’utilizzo del dominio specificato, verifica che l’azienda abbia autorizzato correttamente l’emissione del certificato. Per questo certificato molti browser visualizzeranno la famosa “green bar” in maniera da indicare più nettamente che si sta facendo uso di un certificato con un elevato livello di sicurezza.

SSL

I certificati più avanzati rispetto a quelli di solo dominio aiutano anche a difendersi dagli attacchi di DNS Spoofing. Infatti, dato che il certificato di dominio può essere richiesto da chiunque, basterebbe un cambio di DNS per dirottare le richieste su un sito identico. Cosa diversa negli altri casi, dove per avere il nome sulla barra bisognerà avere il certificato privato, il quale viene custodito in maniera sicura dal proprietario.

Dove utilizzarlo

La scelta di un certificato non è importante solo per il tipo di protezione, ma anche per il numero di elementi che bisogna certificare. Infatti ogni certificato può essere legato ad un solo nome di dominio o a diversi sotto-domini, può certificare un solo indirizzo IP di rete o o qualsiasi indirizzo IP pubblico. Quindi prima di acquistare un certificato e vedere solo il suo prezzo fate bene attenzione a quelle che sono le sue caratteristiche.

Ad esempio molti fanno l’errore di pensare che un certificato per “dominio.com” valga per qualsiasi sotto dominio ad esso collegato come ad esempio www, forum, etc. In realtà questo non è vero, dovete controllare bene il certificato, ce ne sono alcuni che permettono sia il domino generale che il www nello stesso certificato e altri no. Volendo ci sono anche i certificati di tipo WILDCARD che permettono di certificare tutti i sotto-domini che volete, però il prezzo può passare dai 30/40 ai 150/300 euro all’anno.

Dove acquistare un certificato

Per l’acquisto di un certificato bisogna scegliere un’autority di certificazione che sia molto conosciuta e cosa più importante inclusa nei browser più comuni, sia in quelli desktop che in quelli mobile. Infatti se chi certifica non è incluso nel browser quest’ultimo emetterà un messaggio di attenzione che in ogni modo non sarà mai rassicurante per il visitatore. Alcuni portali in cui potete acquistare certificati SSL.

Esistono anche dei certificati SSL gratuiti a scopo non commerciale che potete trovare sul portale https://www.startssl.com/, potete trovare ulteriori informazioni di questo tipo di certificato e molti consigli su come installarlo anche sull’articolo scritto da Andrea Pernici e intitolato “Migrare il sito da HTTP a HTTPS a costo zero“. Ovviamente il costo zero sarà riferito al certificato, il lavoro di migrazione fatelo pagare :)

Installazione di un certificato

Ci sono diverse maniere per installare un certificato SSL sul proprio server web e il tutto dipende dall’ambiente operativo su cui gira il nostro sito. Ad esempio se abbiamo un piano di hosting condiviso sicuramente non potremo configurare le direttive di apache o simile e dovremmo usare le opzioni presenti nel pannello di controllo (come ad esempio CPANEL) per acquistare il certificato ed eventualmente attivarlo.

Se invece abbiamo un server dedicato o siamo in ambiente di cloud bisogna configurare il nostro server in modo tale da utilizzare il certificato appena acquistato. Ovviamente, in questo caso abbiamo anche più libertà di scelta durante la fase di acquisto, non essendo legati alle politiche commerciali del provider. Anche per quanto riguarda la fase di installazione non ci saranno grandi problemi, infatti quasi tutti i portali che vendono certificati hanno una sezione con tutti i manuali necessari.

SSL Documentation

Ad esempio qui vi riporto l’indice della documentazione presente su RapidSSL in cui trovate le istruzioni per ogni piattaforma, da Windows, Linux, Mac etc. Trovate anche molti tutorial con in allegato un video che presenta passo passo tutte le operazioni necessarie all’installazione di un certificato e come eseguirne i controlli post-setup.

Abilitare il protocollo HTTPS

Adesso che abbiamo acquistato un certificato e installato secondo le istruzioni indicate, dobbiamo configurare il nostro WordPress in SSL. Prima di tutto verifichiamo che il nostro sito sia raggiungibile sia con il protocollo HTTP che con quello in HTTPS, una volta accertato il funzionamento generale, dobbiamo forzare tutte le richieste HTTP ad eseguire delle redirect (301) sul protocollo HTTPS. Vi riporto di seguito le istruzioni per Apache nel file .htaccess, per altro web server cercare documentazione.

# Controllo e forzatura per utilizzare HTTPS
# sia per la parte frontend che backend in SSL

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Se è stato implementato tutto correttamente, le richieste al vostro sito dovrebbero essere dirottate sul nuovo protocollo HTTPS con SSL. In poco tempo dovreste vedere anche nella SERP di Google le pagine indicizzate con il nuovo link in HTTPS. Per correttezza è meglio indicare anche le seguenti costanti nel file (wp-config.php):

// Forzare l'utilizzo del protocollo SSL sia per
// la parte di collegamento che per quella di admin

define('FORCE_SSL_LOGIN',true);
define('FORCE_SSL_ADMIN',true);

Se il vostro sito è in prima installazione le operazioni indicate dovrebbero bastare, ma se state facendo una migrazione, sicuramente avrete i contenuti degli articoli che puntano alle risorse interne come ad esempio alle immagini con il protocollo HTTP.  Per risolvere questo problema basta modificare le stringhe presenti nel database come si usa quando fate un cambio di dominio o portate il sito da localhost all’ambiente di produzione. Su questo aspetto leggete “Come spostare WordPress tra ambienti …

Aspetti sulla sicurezza

Purtroppo il protocollo SSL ha avuto diversi problemi di sicurezza nel passato e alcuni molto gravi, per questo motivo ancora oggi esiste un pò di confusione tra le versioni di protocolli utilizzati e la compatibilità con i vecchi browser. Quindi, una volta installato il vostro certificato vi consiglio di verificarlo con il servizio QUALYS SSL Labs Test, il quale farà dei controlli sul vostro web server a prescindere dal certificato utilizzato.

SSL lab test

In caso di punteggio molto basso, il sito in questione ci indicherà una serie di consigli con dei link di approfondimento che ci torneranno utili per risolvere il problema ed eseguire nuovamente il test con la verifica di un nuovo punteggio. Ricordare che più siamo restrittivi nelle politiche di sicurezza e meno saremo compatibili con vecchi browser o vecchie versioni di Android o IOS per quanto riguarda l’ambiente “mobile”.

2 Commenti

  1. Articolo chiaro e semplice come al solito. Alle risorse allegate aggiungo anche questo sito https://badssl.com/ che permette di simulare i vari casi di errore degli ssl.

  2. Ciao Melissa, hai ragione la risorsa di badssl è molto importante per controllare SSL e ti ringrazio per averla indicata nel tuo commento.

condividi