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.