GNU/Linux >> Linux Esercitazione >  >> Ubuntu

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

Let's Encrypt è un'autorità di certificazione (CA) gratuita e aperta. Fornisce un modo semplice per ottenere, installare e rinnovare certificati TLS/SSL gratuiti.

Qui a LinuxAPT, come parte dei nostri servizi di gestione del server, aiutiamo regolarmente i nostri clienti a eseguire query Nginx correlate.

In questo contesto, esamineremo come ottenere e installare gratuitamente il certificato SSL Let's Encrypt e Secure Nginx sul server Ubuntu 18.04.


Come installare Let's Encrypt su Ubuntu?

Prima di eseguire questa procedura di installazione, assicurarsi che siano soddisfatti i seguenti requisiti:

  • Server Ubuntu con un utente non root con privilegi sudo.
  • Nginx deve essere installato e configurato, come mostrato in questa Guida.
  • Disponi di un blocco server Nginx per il tuo dominio, come mostrato in questa Guida.
  • Il tuo nome di dominio dovrebbe puntare all'indirizzo IP del tuo server.


Ora segui i passaggi per utilizzare lo strumento Certbot per ottenere un certificato SSL gratuito per Nginx sul server Ubuntu 18.04.


1. Installa il client Certbot

Puoi ottenere, installare e rinnovare facilmente i certificati SSL Let's Encrypt, utilizzando il pacchetto client Certbot. È utile configurare i server Web per utilizzare i certificati SSL. Il pacchetto certbot è incluso nei repository Ubuntu predefiniti.

Prima di tutto, aggiorneremo l'indice dell'elenco dei pacchetti digitando:

$ sudo apt update

Ora installa il client Certbot eseguendo il comando seguente:

$ sudo apt install python-certbot-nginx

Inoltre, puoi verificare che certbot sia installato correttamente o meno digitando:

$ certbot --version


2. Configura Firewall

Se il tuo server è protetto dal firewall UFW, devi regolare il firewall per consentire il traffico HHTPS.

Per vedere le impostazioni correnti per tipo:

$ sudo ufw status
Output
Status: active
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Per ottenere il traffico HTTPS, devi consentire il profilo Nginx Full ed eliminare la quota ridondante del profilo HTTP Nginx:

$ sudo ufw allow 'Nginx Full'
$ sudo ufw delete allow 'Nginx HTTP'

Ora lo stato apparirà come di seguito:

Output
Status: active
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx Full                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx Full (v6)            ALLOW       Anywhere (v6)


3. Ottieni il certificato SSL Let's Encrypt su Nginx

Puoi ottenere certificati SSL in più modi.

io. Qui utilizzeremo il client certbot per ottenere un certificato SSL:

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

Qui richiediamo ad esempio i domini example.com e www.example.com. Se è la prima volta che si installa, ti verrà chiesto di inserire l'indirizzo e-mail e di accettare termini e condizioni. L'indirizzo e-mail inserito verrà utilizzato per l'invio di avvisi e-mail relativi al rinnovo e alla scadenza SSL.

Successivamente, se la convalida ha esito positivo, ti verrà chiesto di configurare le impostazioni HTTPS:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

ii. Seleziona l'opzione 1 o 2 secondo la tua scelta e premi Invio per continuare. Nginx Server Blocks si aggiornerà in base all'opzione selezionata e ricaricherà Nginx per rendere effettive le nuove impostazioni.

Infine, il tuo dominio è protetto con il certificato Let's Encrypt SSL. Puoi verificare visitando il tuo sito con protocollo HTTPS.


Come impostare il rinnovo automatico per il certificato SSL Let's Encrypt?

I certificati Let's Encrypt SSL hanno un periodo di vita breve di 90 giorni, quindi è necessario rinnovarli prima che scadano.

io. Puoi rinnovare il certificato SSL prima che scada digitando:

$ sudo certbot renew

ii. Inoltre, puoi impostare il processo di rinnovo automatico per i certificati SSL Let's Encrypt aggiungendo un cronjob. Esegui il comando seguente per aprire crontab:

$ sudo crontab -e

iii. Quindi, aggiungi la riga sottostante alla fine del file. Eseguirà il comando due volte al giorno e si rinnoverà se il certificato sta per scadere:

0 */12 * * * root test -x /usr/bin/certbot -a ! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew

iv. Salva e chiudi il file.

v. Puoi anche verificare il processo di rinnovo automatico di certbot digitando:

$ sudo certbot renew --dry-run



Ubuntu
  1. Come proteggere Nginx con Lets Encrypt su Ubuntu 20.04 / 18.04

  2. Proteggi Nginx con Lets Encrypt su Ubuntu 18.04

  3. Proteggi Nginx con Lets Encrypt su Ubuntu 16.04

  4. Come proteggere Nginx con Letsencrypt su Ubuntu 20.04

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

Come proteggere Nginx con Let's Encrypt certificato SSL

Come proteggere il server LEMP con Let's Encrypt Free SSL su Ubuntu 18.04 VPS

Come proteggere Nginx con Let's Encrypt su CentOS 8

Come proteggere Nginx con Let's Encrypt su Ubuntu 20.04

Come proteggere Apache con Let's Encrypt su Ubuntu 20.04

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