Good Ideas

Let’s Encrypt per incrementare la sicurezza e il ranking Google

Posted by:

|

On:

|

La sicurezza è diventata una priorità nel mondo dell’Information Technologies e in particolare nell’ambito web. Se nei primi anni di Internet non era una necessità, ora i tempi sono maturi per irrobustire la propria infrastruttura web.

In particolare, se si gestisce in self-hosting un sito web, è arrivato il momento di trasferirlo su una connessione sicura, come quella garantita da HTTPS (conosciuta come HTTP su TSL, o Transport Layer Security). In questo modo garantirete che la comunicazione tra il server che ospita il vostro sito e il browser del visitatore, sia sicura perché criptata. Nessuno potrà più mettersi in mezzo (man-in-the-middle attack) per sniffare i pacchetti che transitano e carpire magari i dati di accesso degli account personali o i contatti email.

Sebbene i più grandi player nel web implementino da anni l’HTTPS , è arrivato il momento anche per noi di farlo, sostanzialmente per due motivi:

  • Let’s encrypt fornisce certificati multi-dominio in forma gratuita
  • L’HTTPS è un fattore di ranking per Google

Let’s encrypt

lets-encrypt certification authority

Dall’ottobre 2014 Let’s Encrypt fornisce certificati gratuitamente e in modo automatico.

Let’s Encrypt is a free, automated, and open certificate authority (CA), run for the public’s benefit. Let’s Encrypt is a service provided by the Internet Security Research Group (ISRG).

Questa organizzazione no-profit che fa parte dei Collaborative Projects della Linux Foundation ha dato un forte impulso alla diffusione dell’HTTPS. Spulciando tra i main sponsor troviamo Chrome, Facebook, Mozilla e Cisco; nomi che la dicono lunga sulla volontà dei colossi della rete di rendere il web più sicuro.

Let’s Encrypt fornisce certificati SSL di tipo Domain Validated (DV), i più semplici perché convalidano solamente la proprietà del dominio. Gli altri tipi di certificato SSL (OV Organization Validated e EV Extended Validated) rimangono a pagamento e Let’s Encrypt, come si legge nelle sue FAQ, non ha in programma nessun piano di supporto. I certificati hanno una durata di 3 mesi dopo i quali si possono facilmente rinnovare (sempre in modo automatico).

Per noi il certificato SSL DV è più che sufficiente e, come potete vedere su Dynamick, funziona alla grande!

il certificato ssl di dynamick.it

In rete si trovano ottime guide come ad esempio quella fornita da 1&1 su come installare il certificato SSL sul vostro server. Nel mio caso con Ubuntu 12.04 e web server NGINX, ho seguito in parte questo semplice tutorial su DigitalOcean  e in parte quest’altro tutorial che riassumo di seguito.

Come installare il certificato HTTPS

In questo capitolo vi mostro come ho installato il certificato sul mio server. Considerate che utilizzo Ubuntu 12.02 e un server NGINX.

Primo step è installare e aggiornare le librerie per soddisfare tutte le dipendenze:

sudo apt-get update
sudo apt-get -y install git bc

Poi si clona il progetto git di Let’s Encrypt sulla cartella /opt/letsencrypt  del proprio server:

sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

Ora si può generare il certificato lanciando l’eseguibile appena scaricato (la prima riga manda in stop il nostro web server nginx):

sudo service nginx stop
cd /opt/letsencrypt
sudo ./letsencrypt-auto certonly --standalone

Un piccolo wizard ci condurrà a generare il nostro bel certificato, chiedendoci dapprima l’indirizzo email e poi il dominio che vogliamo certificare. Per ogni virtual host possiamo certificare più di un dominio (p.e. nel mio caso ho certificato dynamick.it e www.dynamick.it).

Il certificato che comprende più files viene salvato nella cartella /etc/letsencrypt/live/dynamick.it

A questo punto configuriamo NGINX perchè legga i certificati. Modifichiamo il file di configurazione che nel mio caso è questo:

sudo vi /opt/etc/nginx/sites-available/dynamick.it

All’interno del blocco server { } inseriamo il seguente codice:

listen 443 ssl; 
server_name dynamick.it www.dynamick.it; 
ssl_certificate /etc/letsencrypt/live/dynamick.it/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/dynamick.it/privkey.pem; 
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on; 
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

Aggiungiamo poi un altro blocco server { } per redirigere le richieste http su https:

server { 
   listen 80; 
   server_name dynamick.it www.dynamick.it; 
   return 301 https://$host$request_uri; 
}

Ora riavviamo il web server:

sudo service nginx restart

…e il nostro certificato è pronto per essere utilizzato. Questa procedura va ripetuta per ogni virtual host presente sul server.

Fattore di Ranking per Google

https come fattore di ranking

Come annunciato in un post del Google Webmaster Central Blog, dall’agosto 2014 l’utilizzo dell’HTTPS migliora il posizionamento sul motore di ricerca di Google in quanto è stato inserito come fattore di ranking nei suoi algoritmi.

Come annunciato un anno dopo, nel dicembre 2015, Google ha modificato il sistema di indicizzazione preferendo sempre più le pagine “sicure”:

As a natural continuation of this, today we’d like to announce that we’re adjusting our indexing system to look for more HTTPS pages.

Conclusioni

La direzione è oramai chiara e bisogna seguirla per non rimanere indietro. Utilizzare Let’s Encrypt ci permette di prendere “due piccioni con una fava”: ottenere una maggiore visibilità sui motori di ricerca e incrementare sostanzialmente la sicurezza nella comunicazione. Il tutto gratuitamente. Cosa aspettate?

Lascia un commento

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