Introduzione

Let's Encrypt è una certification authority (CA) che automatizza gratuitamente la creazione, la validazione, il rilascio ed il rinnovo di certificati X.509 per il protocollo TLS / SSL, abilitando l'HTTPS crittografato sui server Web.

In questo tutorial, si utilizzerà Certbot per ottenere un certificato SSL gratuito per Apache su Debian e per impostare il certificato per il rinnovo automatico.

Certbot è un client automatico di facile utilizzo che recupera e distribuisce i certificati SSL / TLS per il server web.

Installare Certbot su Debian

Il primo passo per utilizzare Let's Encrypt per ottenere un certificato SSL è installare il software Certbot sul tuo server.

Aggiorniamo l'elenco dei pacchetti:
sudo apt-get update

Apriamo il seguente file per aggiungere il Stretch backports repository necessario per installare Let's Encrypt:
nano /etc/apt/sources.list

Aggiungere la seguente riga:

deb http://ftp.debian.org/debian stretch-backports main

Aggiorniamo nuovamente l'elenco dei pacchetti:
sudo apt-get update

E infine, installiamo il pacchetto Certbot per Apache:
sudo apt-get install python-certbot-apache -t stretch-backports

Certbot è ora pronto per l'uso.

Ottenere un certificato SSL

Certbot utilizza il plugin di Apache per ottenere certificati SSL.

L'esecuzione di questo comando ti permetterà di ottenere un certificato SSL e Certbot modificherà automaticamente la configurazione di Apache.
sudo certbot --authenticator webroot --installer apache

Verranno richieste alcune informazioni:

  • Indirizzo e-mail
  • Accettare I termini del servizio
  • Nome dominio su cui installare i certificati
  • La webroot del dominio, di default /var/www/html dopo aver installato Apache
  • Scegliere se forzare l'intero traffico verso l'HTTPS con il redirect

Altrimenti potresti ottenere il certificato e successivamente configurare manualmente Apache con il seguente comando:
sudo certbot certonly --authenticator standalone --pre-hook "apachectl -k stop" --post-hook "apachectl -k start"

Si consiglia di usare apachectl -k stop e apachectl -k start per arrestare e avviare Apache invece dei comandi come systemctl o service. Utilizzando un comando hook come questo, se si automatizza il rinnovo, Certbot si arresterà automaticamente e avvierà Apache quando è necessario rinnovare i certificati. Apache inizierà automaticamente a utilizzare tutti i certificati rinnovati.

Rinnovo automatico

I pacchetti Certbot sono dotati di un cron job che rinnoverà automaticamente i tuoi certificati prima che scadano. Poiché i certificati Let's Encrypt durano per 90 giorni, è altamente consigliato sfruttare questa funzionalità. È possibile verificare il rinnovo automatico dei certificati eseguendo questo comando:
sudo certbot renew --dry-run

L'installazione di Let's Encrypt utilizzando Certbot su Debian 9 è terminata.