GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come proteggere Nginx con Lets Encrypt su Ubuntu 20.04 / 18.04

Introduzione

Qualsiasi sito Web che aspira ad attirare visitatori deve includere la crittografia SSL/TLS per il proprio dominio. I certificati SSL/TLS garantiscono una connessione sicura tra il tuo server web e i browser.

Let's Encrypt è un'autorità di certificazione gratuita che ti consente di impostare tale protezione. È il modo più semplice per proteggere il tuo server Nginx.

In questo articolo troverai il modo più semplice per proteggere il tuo server Nginx ottenendo i certificati Let's Encrypt utilizzando il software Certbot.

Prerequisiti

  • Un sistema che esegue Ubuntu 20.04 (o Ubuntu 18.04)
  • Accesso a una finestra di terminale/riga di comando
  • Sudo o root privilegi su macchine locali/remote
  • Nginx installato e configurato
  • Un nome di dominio registrato
  • Un blocco server configurato per quel nome di dominio

Come proteggere Nginx con Let's Encrypt su Ubuntu 20.04

Passaggio 1:installa Certbot

Certbot è uno strumento software open source per abilitare automaticamente HTTPS utilizzando i certificati Let's Encrypt.

Il primo passo per proteggere Nginx con Let's Encrypt è installare Certbot. Per farlo, inizia aprendo una finestra di terminale e aggiornando il repository locale:

sudo apt update

Quindi, scarica e installa Certbot e il suo plug-in Nginx eseguendo:

sudo apt install certbot python3-certbot-nginx

Digita y per confermare l'installazione e premere Invio.

Fase 2:verifica la configurazione di Nginx

Come indicato nei prerequisiti, dovresti già avere un dominio registrato e un blocco server Nginx per quel dominio. Ad esempio, questo articolo utilizza il dominio example.com .

Per verificare se è impostato correttamente, apri il file di configurazione di Nginx:

sudo nano /etc/nginx/sites-available/example.com

Quindi, individua il server_name direttiva e assicurati che sia impostato sul tuo nome di dominio. Poiché desideri includere il nome di dominio con e senza www. prefisso, la riga dovrebbe essere simile a quella seguente:

server_name example.com www.example.com;

Passaggio 3:regola il firewall per consentire il traffico HTTPS

Il passaggio successivo consiste nel regolare il firewall per consentire il traffico HTTPS.

Se hai seguito la guida all'installazione di Nginx, hai già abilitato il firewall per consentire Nginx HTTP. Mentre aggiungi i certificati Let's Encrypt, devi configurare il firewall per il traffico crittografato.

1. Per assicurarti che il tuo firewall sia attivo e consenta il traffico HTTPS, esegui il comando:

sudo ufw status

L'output dovrebbe dirti che UFW è attivo e darti un elenco di regole impostate. Nell'esempio seguente, mostra che il firewall consente il traffico HTTP Nginx, ma non HTTPS.

Nginx ha tre (3) profili che puoi aggiungere come regole:

  • Nginx HTTP (apre la porta 80)
  • Nginx HTTPS (apre la porta 443 – traffico crittografato)
  • Nginx completo (apre le porte 80 e 443)

2. Per consentire il traffico crittografato, puoi aggiungere Nginx HTTPS profilo o usa Nginx Full ed elimina la regola HTTP Nginx esistente:

a) Consenti il ​​traffico HTTPS Nginx eseguendo il comando:

sudo ufw allow 'Nginx HTTPS'

b) Rimuovere Nginx HTTP e utilizzare Nginx Full invece con:

sudo ufw deny 'Nginx HTTP'
sudo ufw allow 'Nginx Full'

3. Verifica di aver aggiunto una regola che consenta il traffico HTTPS utilizzando lo ufw status comando.

Fase 4:ottieni il certificato SSL/TLS

Il plugin di Nginx per Certbot riconfigura Nginx e ricarica la sua configurazione quando necessario. Pertanto, l'unica cosa che devi fare è generare certificati con il plug-in NGINX.

1. Per farlo, esegui il comando:

sudo certbot --nginx -d example.com -d www.example.com

2. L'output chiede di configurare le impostazioni HTTPS. Inserisci il tuo indirizzo email e accetta i termini di servizio per continuare.

3. Dopo aver configurato HTTPS, Certbot completa la generazione del certificato e ricarica Nginx con le nuove impostazioni.

4. Infine, l'output mostra che hai generato correttamente un certificato e specifica la posizione del certificato sul tuo server.

Passaggio 5:abilita il rinnovo automatico del certificato

Poiché i certificati Let's Encrypt scadono ogni 90 giorni, Nginx consiglia di impostare e rinnovare automaticamente il cron job.

1. Innanzitutto, apri il file di configurazione crontab per l'utente corrente:

crontab -e

2. Aggiungi un lavoro cron che esegua il certbot comando, che rinnova il certificato se rileva che il certificato scadrà entro 30 giorni. Pianificalo per l'esecuzione ogni giorno a un'ora specificata (in questo esempio, lo fa alle 05:00):

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

Il lavoro cron dovrebbe includere anche il --quiet attributo, come nel comando sopra. Questo indica a certbot di non includere alcun output dopo aver eseguito l'attività.

3. Una volta aggiunto il lavoro cron, salva le modifiche ed esci dal file.


Ubuntu
  1. Proteggi Nginx con Lets Encrypt su Ubuntu 18.04

  2. Proteggi Nginx con Let's Encrypt su Ubuntu 18.04 - Come farlo?

  3. Come proteggere Nginx con Letsencrypt su Ubuntu 20.04

  4. Come proteggere Nginx con Let's Encrypt su Ubuntu 20.04

  5. Come proteggere Apache con Lets Encrypt su Ubuntu 18.04

Come installare Grav CMS con Nginx e Lets Encrypt su Ubuntu 18.04 LTS

Come installare Webmin e proteggerlo con Lets Encrypt SSL su Ubuntu 20.04 LTS

Come installare Moodle con Nginx e Lets Encrypt SSL su Ubuntu 20.04

Come installare SonarQube con Lets Encrypt su Ubuntu 20.04

Come proteggere Nginx con Let's Encrypt su Ubuntu 20.04

Come proteggere il tuo sito Web con Let's Encrypt su Ubuntu 20.04