Facebooktwitterredditpinterestlinkedinmailby feather

SSL Secure Sockets Layer.

Metti in sicurezza il tuo sito

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, blog etc. In realtà questo non è vero, dovete controllare bene il certificato, ci 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 suo 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 subito dopo 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.

 

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.

qualsys

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”.

Facebooktwitterredditpinterestlinkedinmailby feather