GNU/Linux >> Linux Esercitazione >  >> Linux

Let's Encrypt:ottieni un certificato SSL gratuito utilizzando Certbot

Tutorial passo passo su come utilizzare il certificato Let's Encrypt per ottenere un certificato SSL gratuito e su come rinnovarlo automaticamente.

Soprattutto Let's Encrypt è open-source ed è completamente gratuito. Consente a chiunque di installare un certificato SSL affidabile sul proprio sito Web e di beneficiare della maggiore sicurezza fornita da una connessione crittografata. A differenza di un certificato SSL autofirmato, un certificato Let's Encrypt viene riconosciuto come completamente verificato e mostra l'icona del lucchetto nella barra degli indirizzi dei browser Web moderni.

Come funziona Let's Encrypt

Prima di emettere un certificato, Let's Encrypt convalida la proprietà del tuo dominio. Il client Let's Encrypt, in esecuzione sul tuo host, crea un file temporaneo (un token) contenente le informazioni richieste. Il server di convalida effettua quindi una richiesta HTTP per recuperare il file e convalida il token, verificando che il record DNS per il tuo dominio venga risolto nel server che esegue il client Let's Encrypt. Pertanto i comandi riportati di seguito devono essere eseguiti sul server che servirà il tuo dominio per il quale stai emettendo il certificato.

1. Installazione di certbot

Let's Encrypt ha un programma di installazione automatico chiamato certbot . Il primo passo per utilizzare Let's Encrypt per ottenere un certificato SSL è installarlo sul tuo server.

Ubuntu:

sudo apt install certbot python3-certbot-nginx

Debian:

sudo apt install certbot

CentOS:

sudo yum install epel-release
sudo yum install certbot-nginx

2. Ottenere i certificati Let's Encrypt

Importante! Prima di emettere un certificato SSL gratuito Let's Encrypt, devi interrompere il servizio del server web. In caso contrario, riceverai il seguente errore:

Problem binding to port 80: Could not bind to IPv4 or IPv6

Se usi Nginx, esegui:

sudo systemctl stop nginx

Ora possiamo passare alla generazione del certificato SSL gratuito Let's Encrypt:

sudo certbot certonly --standalone --preferred-challenges http -d my-domain.com

-d l'opzione accetta un nome di dominio. Puoi usare più -d opzioni nel singolo comando. Ad esempio:

sudo certbot certonly --standalone --preferred-challenges http -d my-domain.com -d www.my-domain.com 

Se è la prima volta che esegui certbot , ti verrà richiesto di inserire un indirizzo email e di accettare i termini del servizio. Dopo averlo fatto, certbot comunicherà con il server Let's Encrypt, quindi eseguirà una sfida per verificare che tu controlli il dominio per il quale stai richiedendo un certificato.

Se ha esito positivo, certbot si concluderà con un messaggio che ti informa che il processo è andato a buon fine e dove sono archiviati i tuoi certificati.

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/my-domain.com/fullchain.pem. Your cert will
   expire on 2022-08-08. To obtain a new or tweaked version of this
   certificate in the future, simply run certbot again with the
   "certonly" option. To non-interactively renew all of your
   certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le 

3. Verifica certificati

Elenca i tuoi certificati salvati in /etc/letsencrypt/live/my-domain.com directory.

ls -l /etc/letsencrypt/live/my-domain.com/
total 4
-rw-r--r-- 1 root root 692 Mar  10 08:24 README
lrwxrwxrwx 1 root root  37 Mar  10 08:24 cert.pem -> ../../archive/my-domain.com/cert1.pem
lrwxrwxrwx 1 root root  38 Mar  10 08:24 chain.pem -> ../../archive/my-domain.com/chain1.pem
lrwxrwxrwx 1 root root  42 Mar  10 08:24 fullchain.pem -> ../../archive/my-domain.com/fullchain1.pem
lrwxrwxrwx 1 root root  40 Mar  10 08:24 privkey.pem -> ../../archive/my-domain.com/privkey1.pem

4. Modifica la configurazione del server Web

Affinché il tuo server web possa utilizzare il certificato SSL gratuito Let's Encrypt, devi specificarlo nella sua configurazione. Ad esempio, se utilizzi Nginx, devi aggiungere il seguente blocco al file di configurazione del tuo dominio /etc/nginx/sites-enabled/my-domain.conf

server {
    listen 443;
    server_name my-domain.com;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/my-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/my-domain.com/privkey.pem;
}

Questo è tutto. Tutte le cose sono impostate e fatte. Ora devi solo avviare il tuo server web:

sudo systemctl start nginx

Infine, puoi verificare che il tuo sito Web sia ora protetto da SSL. Basta aprire il sito web nel browser e verificare se l'icona del lucchetto è disponibile.

5. Rinnova automaticamente i certificati Let's Encrypt

I certificati hanno una validità di 90 giorni. Possono essere rinnovati 30 giorni prima della scadenza. Qui aggiungiamo un cron job che li rinnoverà automaticamente.

Quindi prima apri il file crontab:

sudo crontab -e

dopodiché aggiungi il certbot comando da eseguire settimanalmente:

@weekly certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx" --renew-hook "systemctl reload nginx" --quiet 

Conclusione

In questo tutorial, abbiamo visto come installare un certificato SSL gratuito da Let's Encrypt per proteggere un sito web. Inoltre, puoi controllare il sito Web ufficiale Let's Encrypt per ulteriori informazioni e dettagli.


Linux
  1. SSL gratuito per Nginx su Centos di Let's encrypt

  2. Come gestire i certificati Lets Encrypt SSL/TLS con certbot

  3. Protezione di ISPConfig 3.1 con un certificato SSL gratuito Lets Encrypt

  4. I 7 migliori servizi di certificati SSL gratuiti

  5. Installa Let's Encrypt SSL su HAProxy

Come rinnovare automaticamente Let's Encrypt certificati SSL

Come installare Let's Encrypt SSL con Apache su CentOS 7

Come installare Let's Encrypt SSL usando DirectAdmin

Come utilizzare Let's Encrypt con Cloudflare

Come proteggere Apache con Let's Encrypt SSL Certificate su CentOS 8

Come abilito Let's encrypt Free SSL Certificate per il mio dominio in Plesk?