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 Nginx su Fedora 30 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.

Se il vostro intento è installare Certbot su di un server Fedora in remoto continuate a leggere, altrimenti se volete installare Certbot sul vostro computer locale saltate il primo paragrafo "Connessione al Server" e leggere il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Installare Certbot

Certbot è presente nei repository ufficiali di Fedora, è possibile quindi installarlo con il seguente comando da terminale:

sudo dnf install certbot-nginx

I plugin DNS di Certbot possono essere utilizzati anche per automatizzare l'ottenimento di un certificato Wildcard dal server ACMEv2 di Let's Encrypt per Fedora 30. Per utilizzare questi plugin si devono configurare i DNS del dominio per il quale si vogliono ottenere i certificati. Per ulteriori informazioni leggi la documentazione ufficiale.

Ottenere un certificato SSL

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

sudo certbot --nginx

Altrimenti potresti ottenere il certificato e successivamente configurare manualmente Nginx con il seguente comando:

sudo certbot --nginx certonly

Certbot è ora pronto per l'uso.

Se si desidera ottenere un certificato Wildcard utilizzando Let's Encrypt, sarà necessario utilizzare uno dei plug-in DNS di Certbot. Per fare ciò, assicurarsi che il plugin del proprio provider DNS sia installato seguendo le istruzioni sopra riportate ed eseguire il seguente comando con il vostro nome dominio:

sudo certbot -a dns-plugin -i nginx -d "*.esempio.it" -d esempio.it --server https://acme-v02.api.letsencrypt.org/directory

Per saperne di più su come usare Certbot, leggi la documentazione ufficiale di Certbot.

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

Se risulta funzionare correttamente, puoi impostare il rinnovo automatico aggiungendo un processo cron o un timer systemd che esegua questo comando:

certbot renew

L'installazione di Let's Encrypt per Nginx su Fedora 30 utilizzando Certbot è terminata.