Introduzione
Let's Encrypt è un'autorità di certificazione gratuita, automatizzata e aperta: ti consente di creare e installare certificati TLS gratuiti nel tuo server Web con alcuni argomenti della riga di comando. Con Let's Encrypt, puoi fornire HTTPS sul tuo sito Web per ogni utente senza spendere soldi o preoccuparti delle date di rinnovo.
Il Certbot fornisce un modo semplice per generare certificati gratuiti Let's Encrypt per tutti i siti Web che supportano HTTP e servono i loro contenuti su HTTPS. In questo articolo vedremo come utilizzare Certbot per automatizzare il processo di generazione dei certificati Let's Encrypt.
Installare Certbot
La maggior parte dei sistemi Linux ha il pacchetto certbot nei repository di pacchetti predefiniti. Certbot è uno strumento per ottenere certificati da Let's Encrypt e configurarli sul tuo server web. Il pacchetto Snap è il modo più semplice per installare il certbot sul sistema Ubuntu.
Apri un terminale ed esegui il comando seguente per installare certbot:
sudo snap install --classic certbot
Una volta che una nuova versione di certbot sarà disponibile, Snap aggiornerà automaticamente il pacchetto.
Generare il certificato SSL con Certbot
Ora puoi richiedere certificati SSL da Let's encrypt in base al server web. Abbiamo discusso 4 metodi per ottenere un nuovo certificato SSL, che dipendono dal server web in esecuzione sul tuo sistema. Potrebbe essere che non ci sia un server web in esecuzione sul sistema.
Quindi scegli il metodo corretto in base all'ambiente:
Nessun server Web in esecuzione
Nel caso, non hai alcun server web in esecuzione sul tuo sistema. Puoi --standalone
scegliere di completare la convalida del dominio indicando un server Web fittizio. Questa opzione deve essere collegata alla porta 80
per eseguire la convalida del dominio.
sudo certbot certonly --standalone
Se stai eseguendo il certbot per la prima volta, ti verrà chiesto di accettare i termini e di fornire un indirizzo email per l'invio delle notifiche.
Puoi anche fornire gli input dalla riga di comando, ad esempio:
sudo certbot certonly --standalone -d example.com --staple-ocsp -m [email protected] --agree-tos
Certbot con Apache
I sistemi che eseguono il server Web Apache eseguono il seguente comando. Questo elencherà tutti i domini/sottodomini configurati sul tuo server web. Selezionare i numeri appropriati per richiedere un certificato.
sudo certbot --apache
Questo leggerà i file di configurazione di Apache ed elencherà tutti i nomi di dominio configurati. Inserisci il numero del dominio a cui vuoi rilasciare un certificato. È possibile inserire più numeri separati da virgola.
Una volta verificata la proprietà del dominio, verrà emesso il certificato e creato il file di configurazione di Apache con le impostazioni SSL.
Certbot con Nginx
Per i sistemi che eseguono il server Web Nginx, utilizzare il comando seguente per richiedere i certificati SSL.
sudo certbot --nginx -d example.com -d www.example.com
Alcuni altri server Web in esecuzione
Per il sistema con altri server Web in esecuzione tranne Apache o Nginx. Quindi puoi ottenere solo il certificato e configurarli manualmente.
Questo comando ti chiederà il nome di dominio e la radice del documento per il dominio.
sudo certbot certonly --webroot
Puoi anche passare il nome di dominio e/o la radice del documento sulla riga di comando.
sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com
Durante l'utilizzo dei comandi precedenti, il dominio deve essere indirizzato al server in DNS. Inoltre, assicurati che /.well-known/acme-challenge
sia servito dal server web.
Visualizzare i file del certificato
Una volta emesso un certificato dall'autorità Lets Encrypt. Tutti i file del certificato vengono creati nella directory /etc/letsencrypt . Se il tuo nome di dominio è example.com, i file verranno creati nella posizione seguente.
ls -l /etc/letsencrypt/live/example.com/
-rw-r--r-- 1 root root 692 Mar 9 06:59 README
lrwxrwxrwx 1 root root 37 Sep 6 09:56 cert.pem -> ../../archive/example.com/cert1.pem
lrwxrwxrwx 1 root root 38 Sep 6 09:56 chain.pem -> ../../archive/example.com/chain1.pem
lrwxrwxrwx 1 root root 42 Sep 6 09:56 fullchain.pem -> ../../archive/example.com/fullchain1.pem
lrwxrwxrwx 1 root root 40 Sep 6 09:56 privkey.pem -> ../../archive/example.com/privkey1.pem
Cambia example.com
con il tuo nome di dominio per ottenere i file corretti.
Conclusione
Let's Encrypt è un'autorità di certificazione che fornisce certificati SSL gratuiti per i siti Web pubblici. Possiamo emettere certificati per qualsiasi numero di domini. I certificati SSL vengono emessi solo per 3 mesi, poi è necessario rinnovarli. Certbot è un'utilità della riga di comando che aiuta a gestire i certificati SSL Let's Encrypt. Con l'aiuto di certbot possiamo emettere un nuovo certificato, rinnovarlo ed eliminarlo.
Spero che questo tutorial ti aiuti a lavorare con Certbot per la gestione del certificato SSL sul tuo sistema.