Knowledgebase Semplici istruzioni per lavorare con il servizio Profitserver
Principale Knowledgebase Certbot: installazione del certificato Let's Encrypt

Certbot: installazione del certificato Let's Encrypt


In questo articolo esploreremo il processo di installazione e configurazione Certbot su un server Linux. Spiegheremo in dettaglio come ottenere un certificato SSL/TLS Let's Encrypt per il tuo dominio. Descriveremo anche come installarlo su un server web (come Nginx o Apache) e come impostare i rinnovi automatici dei certificati per garantire una connessione sicura e continua con la tua risorsa web.

Certbot è uno strumento gratuito e open source progettato per l'acquisizione e il rinnovo automatico di Certificati SSL/TLS. Svolge un ruolo cruciale nel proteggere la connessione tra il server e il client, proteggendo i dati da accessi non autorizzati. Certbot semplifica il processo di installazione e rinnovo di un certificato SSL. Il certificato non solo migliora la sicurezza, ma aumenta anche la fiducia degli utenti nella tua risorsa web, migliorando così sia la reputazione del sito che la sua classifica nei motori di ricerca.

Installazione di Certbot

Certbot è incluso nella maggior parte delle distribuzioni per impostazione predefinita, quindi per installarlo su Debian / Ubuntu sistemi, è sufficiente aggiornare l'elenco dei pacchetti:

apt update

Quindi, avviare il processo di installazione:

apt install certbot

Certbot supporta plugin che facilitano l'installazione e la configurazione del certificato per un server web. Per installare questi plugin, utilizzare il comando corrispondente:

apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache

Il processo di installazione per Red Hat sistemi (es RHEL, CentOS, Fedora) è leggermente diverso. Inizialmente, devi aggiungere il repository EPEL:

yum install epel-release

Quindi installare lo strumento:

yum install certbot

Allo stesso modo, esiste un'opzione per selezionare un plugin per un server web specifico:

yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache

Dopo l'installazione, puoi procedere immediatamente all'ottenimento del certificato.

Ottenere un certificato SSL

In questa sezione, discuteremo il processo di ottenimento di un certificato indipendentemente da uno specifico server web, seguito dalla descrizione del processo di installazione del certificato per Nginx e Apache. Tuttavia, è essenziale prima comprendere la sintassi e la funzionalità del programma. Appare come segue:

certbot command option -d domain

I comandi principali includono:

certbot certonly - Recupera il certificato ma non lo installa.
certbot certificates - Questo comando visualizza un elenco di tutti i certificati installati.
certbot renew - Estende il certificato esistente.
certbot revoke - Revoca il certificato esistente.
certbot delete - Elimina il certificato esistente.

Le opzioni più comunemente utilizzate sono:

--nginx - Utilizza script di configurazione Nginx per la verifica del dominio.
--apache - Utilizza script di configurazione Apache per la verifica del dominio.
-d - Un elenco dei domini per i quali è richiesto il certificato.
--standalone - Utilizza la modalità autonoma per la verifica del dominio.
--manual - Esegue la verifica manuale del dominio.

Questo è solo un esempio dei comandi e delle opzioni più frequenti. Puoi familiarizzare con l'elenco completo delle capacità del programma nella sezione della guida:

certbot –help
Sezione di aiuto dello strumento Certbot

Procediamo ora ad ottenere il certificato. Ad esempio, otterremo un certificato per un server virtuale per un dominio di terzo livello gratuito come yourusername.pserver.space

Per prima cosa, devi inserire il comando:

certbot certonly

In risposta, l'utilità ti chiederà di scegliere un metodo per verificare la proprietà del dominio:

Come ottenere un certificato SSL Certbot

La prima opzione è comoda se non hai un server web configurato o non vuoi apportare modifiche a uno esistente. Questo metodo crea un server web temporaneo per confermare il tuo diritto al dominio. È ideale per una configurazione semplice e veloce. Quando scegli questo metodo, è importante mantenere libera la porta 80.

La seconda opzione è preferibile se hai già un server web operativo e vuoi usarlo per verificare il diritto al dominio. Certbot posiziona file speciali in una cartella sul tuo server, che vengono poi controllati dal centro di certificazione.

Scegliamo la prima opzione e clicchiamo su Avanti. A questo punto, dovrai:

  1. Inserisci un indirizzo email;
  2. Accettare i termini del servizio;
  3. Accettare o rifiutare di ricevere e-mail per conto dell'azienda e dei suoi partner;
  4. Specificare il nome di dominio per il quale viene emesso il certificato.
Dati per ottenere un certificato SSL

Dopo aver completato il processo di emissione del certificato con lo strumento Certbot, verrà indicato il percorso verso la directory in cui sono archiviati il ​​certificato emesso e i dati del tuo account:

Dati del Certificato SSL Ottenuto

Non ti resta che associare il certificato ottenuto al servizio richiesto.

Installazione del certificato per Nginx o Apache

Questa sezione presuppone che siano state soddisfatte alcune condizioni fondamentali:

  1. Hai già installato e configurato un server web, Nginx o Apache. Deve essere accessibile da Internet tramite il nome di dominio per il quale intendi ottenere il certificato;
  2. Durante l'installazione dello strumento, hai installato anche un plugin per Nginx o Apache utilizzando il comando appropriato;
  3. Il firewall consente connessioni sulle porte 80 e 443. Se queste porte sono chiuse alle connessioni, il servizio non sarà disponibile per le connessioni in entrata. Per maggiori dettagli sul funzionamento del firewall, ne abbiamo parlato nell'articolo su impostare un firewall su Linux.

Una volta soddisfatte tutte le condizioni, puoi procedere direttamente all'emissione del certificato. Considereremo il processo di ottenimento di un certificato SSL su un server utilizzando Nginx come esempio. Tuttavia, se stai utilizzando un server web Apache, il processo è completamente identico.

Per ottenere il certificato è necessario immettere il comando:

certbot --nginx # for Nginx
certbot --apache # for Apache

In risposta, lo strumento richiederà: un indirizzo email, il consenso ai termini di utilizzo del servizio Let's Encrypt e l'autorizzazione a inviare email per conto del servizio e dei suoi partner.

Ottenere un certificato SSL per Nginx e Apache

Successivamente, dovrai specificare il nome di dominio per il quale è stato emesso il certificato. Certbot può determinare automaticamente il dominio se è stato specificato nel nome del server campo per Nginx configurazione o Nome del server e Alias ​​del server per Apache. Se non è specificato, il programma ti avviserà e ti chiederà di inserire manualmente il nome di dominio. Quindi, l'utilità chiederà se abilitare il reindirizzamento delle richieste dal protocollo HTTP a HTTPS. Per impostare il reindirizzamento automatico, dovresti scegliere la seconda opzione:

Reindirizzamento delle richieste da HTTP a HTTPS

Dopo un po' di tempo, Certbot ti informerà dell'acquisizione riuscita del certificato per il dominio specificato. Da questo punto in poi, tutte le connessioni in entrata saranno reindirizzate dalla porta 80 alla 443. Lo strumento visualizzerà le directory in cui puoi trovare tutti i dati del certificato e i dettagli dell'account Let's Encrypt:

Rilascio riuscito del certificato Certbot

Nel messaggio verrà inoltre specificato il periodo di validità del certificato ottenuto e le opzioni importanti per la gestione di tutti i certificati attivi:

  1. certamente. Questa opzione è usata per ottenere o aggiornare il certificato senza la configurazione automatica del server web. Certbot richiederà o aggiornerà solo il certificato ma non apporterà modifiche automatiche alla configurazione del server. In precedenza, abbiamo usato questa opzione per ottenere un certificato senza essere vincolati a un server web.
  2. rinnovare viene utilizzato per il rinnovo automatico di tutti i certificati ottenuti tramite Certbot e che sono entro il loro periodo di validità. Il programma controllerà tutti i certificati e, se uno di essi scade entro 30 giorni o meno, verrà automaticamente rinnovato.

Nelle istruzioni successive spiegheremo come impostare il rinnovo automatico dei certificati senza l'intervento dell'utente ogni tre mesi.

Rinnovo automatico del certificato in Certbot

Per Debian/Ubuntu

Quando si utilizzano questi sistemi operativi, Certbot aggiunge automaticamente uno script all'elenco delle attività per il rinnovo automatico dei certificati installati. È possibile verificare la funzionalità dello script con il seguente comando:

systemctl status certbot.timer
Controllo dello stato del servizio certbot.timer

La risposta visualizzerà lo stato del servizio, così come la directory contenente il file di configurazione. Puoi aprirlo usando qualsiasi editor di testo. Se non hai esperienza con gli editor di testo in Linux, ti consigliamo di familiarizzare con la nostra panoramica delle soluzioni più popolari. In questo caso, useremo nano:

nano /lib/systemd/system/certbot.timer
Visualizzazione della configurazione di certbot.timer

Sono evidenziati tutti i parametri importanti:

  1. L'orario indica che il servizio sarà operativo due volte al giorno, alle 00:00 e alle 12:00;
  2. Un secondo valore indica un ritardo casuale in secondi che verrà aggiunto all'avvio del timer. In questo caso, è di 43,200 secondi (12 ore), il che rende il lancio più casuale e distribuisce il carico;
  3. Questo parametro garantisce che, se il timer doveva essere eseguito durante un arresto del sistema, verrà attivato immediatamente all'avvio.

È anche possibile eseguire un controllo forzato del rinnovo del certificato con il comando:

certbot renew --dry-run

Utilizzando questo comando, i certificati non verranno aggiornati. Invece, lo strumento eseguirà azioni simili all'ottenimento di un certificato alla sua scadenza. In questo modo, puoi garantire la funzionalità del servizio per quanto riguarda il rinnovo automatico.

Per CentOS, Fedora e altri

Il processo di abilitazione degli aggiornamenti automatici sui sistemi della famiglia Red Hat differisce leggermente. A differenza di Debian/Ubuntu, per CentOS e altri sistemi, è necessario aggiungere manualmente un'attività allo scheduler. Per questo, useremo il cron Strumento:

crontab -e

Quindi, nel file che si apre, aggiungi la seguente riga:

0 12 * * * /usr/bin/certbot renew --quiet

Analizziamo gli argomenti principali del comando:

  1. L'ora di esecuzione. In questo caso, il comando verrà eseguito automaticamente alle 12:00 ogni giorno;
  2. Comando per rinnovare i certificati SSL/TLS utilizzando Certbot;
  3. Migliori --silenzioso flag sopprime l'output, rendendo il processo più nascosto e meno invasivo nei registri di sistema o nella visualizzazione.

Dopo aver aggiunto il comando, è necessario salvare le modifiche nel file.

Proprio come con Debian/Ubuntu, puoi anche avviare un controllo forzato dei rinnovi dei certificati:

certbot renew --dry-run

Il risultato di un'esecuzione corretta del comando appare come segue:

Risultato di un controllo riuscito del comando di rinnovo

Conclusione

Abbiamo esplorato il processo completo di installazione e configurazione di Certbot su un server Linux. Seguendo le istruzioni fornite, puoi ottenere con successo un certificato SSL/TLS da Let's Encrypt, installarlo sul tuo server web e configurare il rinnovo automatico per garantire una protezione continua e una maggiore fiducia nella tua risorsa web. Con Certbot, puoi facilmente creare un ambiente affidabile e sicuro per gli utenti.

❮ Articolo precedente Riduzione del carico del server
Articolo successivo ❯ Gestori di pacchetti Linux

Chiedici informazioni su VPS

Siamo sempre pronti a rispondere alle vostre domande a qualsiasi ora del giorno e della notte.