Let’s Encrypt in gergo tecnico viene chiamato “SSL Certificate Authority”, ovvero un ente autorizzato a rilasciare certificati SSL verificati e riconosciuti dalla maggior parte dei browser. (Ethernaly.it utilizza Let’s Encrypt!)
Utilizza il sistema automatizzato di gestione certificati (ACME – automated certificate management environment) e rilascia certificati verificati in modo gratuito.
Prima di iniziare
Questa guida è scritta per gli utenti con privilegi di amministrazione. Alcuni comandi richiedono l'utilizzo dei permessi di root, e verrà quindi utilizzato il comando sudo.
Prima di iniziare con l’installazione di Let’s Encrypt sul vostro server, vi consigliamo di aggiornare il vostro sistema operativo.
Ubuntu/Debian
sudo apt-get update && sudo apt-get upgrade
CentOS
sudo yum update && sudo yum upgrade
Scaricare ed installare Let’s Encrypt
Per prima cosa occorrerà installare Git sul vostro server.
Ubuntu/Debian
sudo apt-get install git
CentOS
sudo yum install git
Scaricare una copia dei sorgenti di Let’s Encrypt da Github, è consuetudine installare programmi di terze parti nella cartella /opt del server.
sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
Creare il certificato SSL gratuito
Molte guide suggeriscono di utilizzare per la creazione del certificato il parametro –standalone.
sudo -H ./letsencrypt-auto certonly --standalone -d dominio.it -d www.dominio.it
Tuttavia, il parametro standalone, potrebbe non funzionare nel caso fosse già attivo un webserver (occupando di fatto le porte 80 e 443).
Di conseguenza, il metodo migliore per generare il certificato senza fermare il processo del vostro webserver è quello di utilizzare il parametro webroot:
/opt/letsencrypt/letsencrypt-auto certonly --quiet --webroot --webroot-path /var/www/cartella-del-vostro-sito -d dominio.it -d www.dominio.it
Let's Encrypt non genera certificati Wildcard, quindi dovrete includere ogni sottodominio manualmente utilizzando il parametro -d per ognuno di essi.
Dove viene salvato il certificato?
Il certificato viene salvato in /etc/letsencrypt/live/dominio.it in una sottocartella nominata come il dominio. Al suo interno troverete:
- README
- cert.pem (Il certificato)
- chain.pem (certificati root e CA)
- fullchain.pem (la combinazione dei precedenti certificati)
- privkey.pem (non condividere MAI questa chiave con altri!)
Rinnovare il certificato
Per rinnovare il certificato sarà sufficiente spostarsi nella directory di letsencrypt:
cd /opt/letsencrypt
ed eseguire il comando:
/opt/letsencrypt/letsencrypt-auto certonly --quiet --webroot --webroot-path /var/www/cartella-del-vostro-sito --renew-by-default -d dominio.it -d www.dominio.it
Rinnovo automatico
Per evitare che il certificato scada, si può inserire il comando di rinnovo nel file /etc/crontab.
echo '@monthly root /opt/letsencrypt/letsencrypt-auto certonly --quiet --webroot --webroot-path /var/www/cartella-del-vostro-sito --renew-by-default -d dominio.it -d www.dominio.it >> /var/log/letsencrypt/letsencrypt-auto-update.log' | sudo tee --append /etc/crontab
Aggiornare Let’s Encrypt
Per aggiornare Let’s Encrypt sarà sufficiente spostarsi in /opt/letsencrypt :
cd /opt/letsencrypt
e lanciare il comando:
sudo git pull
Aggiornamento automatico di Let’s Encrypt
Utilizzare il seguente comando per aggiungere il task di aggiornamento automatico di Let’s Encrypt al vostro crontab:
echo '@weekly root cd /opt/letsencrypt && git pull >> /var/log/letsencrypt/letsencrypt-auto-update.log' | sudo tee --append /etc/crontab
Pro
La generazione è facile e gratuita! Grazie a Let’s Encrypt viene generato un certificato verificato che vi permetterà di servire le vostre pagine in modo sicuro e “google friendly”.
Contro
Non ci sono coperture e assicurazioni in caso di violazione dei dati sensibili.
La durata è limitata e va rinnovato spesso.