In questa guida utilizzeremo i servizi offerti da Let’s Encrypt, una Certification Authority (CA) che automatizza gratuitamente la creazione, la validazione, il rilascio ed il rinnovo di certificati X.509 che permettono l’abilitazione di HTTPS crittografato sui Server Web.
Utilizzeremo inoltre il client Certbot per ottenere un certificato SSL gratuito ed impostarne il rinnovo automatico.
Installare Certbot
Il primo passo per ottenere un certificato SSL per il proprio Web Server è quello di installare sullo stesso il software Certbot.
sudo apt update
sudo apt install certbot python3-certbot-apache
Configurazione del Firewall
Se il firewall ufw è abilitato è inoltre necessario creare una nuova regola per consentire il traffico HTTPS.
Anzitutto verifichiamo se il firewall è attivo
sudo ufw status
Nel caso sia attivo, consentiamo il traffico HTTPS per Apache
sudo ufw allow 'Apache Full'
Ottenere un certificato SSL
Certbot utilizza il plugin di Apache per ottenere certificati SSL.
Eseguiamo questo comando per ottenere un certificato SSL e permettere a Certbot di modificare automaticamente la configurazione di Apache.
sudo certbot --apache
Impostare il rinnovo automatico
I pacchetti Certbot sono dotati di un cron job che permette il rinnovo dei propri certificati prima che questi scadano. Siccome i certificati Let’s Encrypt durano per 90 giorni, è decisamente consigliato utilizzare questa funzionalità. È possibile verificare il rinnovo automatico dei certificati eseguendo questo comando:
sudo certbot renew --dry-run
Il comando di Certbot per il rinnovo automatico è memorizzato in uno dei seguenti percorsi:
- /etc/crontab/
- /etc/cron.*/*
- systemctl list-timers
Verifica della corretta installazione del certificato
Per avere conferma che il certificato SSL sia stato generato ed installato correttamente, visita il tuo sito e verifica che nella barra URL del tuo browser sia presente l’icona del lucchetto.
Conclusione
Questo articolo parla di come configurare Let’s Encrypt su una macchina Ubuntu per ottenere un certificato SSL per Apache ed automatizzarne il rinnovo.