GNU/Linux >> Linux Esercitazione >  >> Debian

Proteggi Nginx con Let's Encrypt SSL su Debian 10/11

Panoramica

Nel seguente post tratteremo la procedura su come proteggere Nginx con Let's Encrypt SSL su macchine Debian 10 (questa procedura può essere applicata anche su Debian 11). Il post mostrerà lo scenario, in cui dobbiamo installare certbot sulla nostra macchina Debian e ottenere il certificato SSL da Let's Encrypt, impostare il reindirizzamento HTTPS automatico e testare anche il rinnovo del certificato. Qui abbiamo già una macchina Debian con Nginx preinstallato su cui seguiremo i passaggi su come proteggere nginx con Let's encrypt ssl.

Requisiti

1.. Registrato e valido un nome di dominio che punta al tuo server Debian.

2.. Server Debian 10 (o server Debian 11)

3.. Server web Nginx installato e funzionante

4.. Configurazione del firewall (porte HTTP e HTTPS aperte)

Se hai un firewall UFW o IPTABLES, devi configurarli in modo che aprano le porte 80 e 443 per HTTP e HTTPS non solo per ospitare il tuo sito web

UFW

sudo ufw allow http
sudo ufw allow https

IPTABLES

sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

or

sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

Installazione Certbot

Utilizzeremo lo strumento Let's Encrypt Cerbot per ottenere il certificato SSL e anche il plug-in Nginx per certbot. Entrambi gli strumenti ci aiuteranno a ottenere il certificato in modo molto semplice, rapido e anche ad apportare le modifiche alla configurazione necessarie su Nginx. Inoltre, gli strumenti hanno le funzionalità di automazione, quindi alla scadenza SSL possono rinnovare e installare nuovamente il certificato.

sudo apt install certbot python3-certbot-nginx

Acquisisci il certificato SSL da Let's Encrypt

Dopo aver confermato che le porte sul firewall sono aperte e aver terminato con l'installazione di certbot. Per acquisire il certificato SSL da Let's encrypt non ci resta che eseguire a comando:

sudo certbot --nginx -d yourdomain.com

Una nota:prima di eseguire il comando, è necessario prima scrivere nel file di configurazione di nginx nel parametro server_name il nome di dominio effettivo che hai indicato al tuo server. Certbot cercherà nella configurazione del blocco del server quel parametro e creerà i file di configurazione crittografiamo in base a quel parametro. Esempio in un'immagine qui sotto:

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

Quando esegui questo comando, verrà avviata la procedura guidata di certbot. Se stai eseguendo il cerbot per la prima volta, ti chiederà prima di fornire un indirizzo e-mail da utilizzare come contatto e di accettare i termini di licenza di Let's encrypt.

Dopodiché, eseguirà la sfida http, otterrà il certificato e alla fine ti chiederà se vuoi che configuri subito il reindirizzamento https, che è anche una buona opzione.

Non appena la configurazione del reindirizzamento è completata, il nuovo dominio con certificato SSL dovrebbe funzionare immediatamente.

Imposta e testa il rinnovo automatico

I certificati Let's encrypt sono validi per impostazione predefinita per tre mesi e il rinnovo automatico del cerbot è configurato per rinnovare il certificato almeno una volta, quando il certificato ha meno di 30 giorni di validità. Una volta acquisito il certificato SSL, valido e attivo, raddoppia se il servizio timer del certbot è attivo e in esecuzione e testa il processo di rinnovo con l'opzione dry run:

sudo systemctl status certbot.timer

sudo certbot renew --dry-run

Verifica la configurazione di Nginx

Puoi ricontrollare la configurazione di nginx se il cerbot ha scritto correttamente la configurazione per i certificati SSL e per il reindirizzamento HTTPS. Cerbot riavvierà nginx una volta terminata la configurazione, dovresti avere il tuo dominio/sito web protetto e funzionante con SSL attivo.

Riepilogo

Per riassumere, abbiamo seguito i passaggi su come proteggere Nginx con Let's Encrypt SSL su macchine Debian 10 e anche su macchine Debian 11. Abbiamo utilizzato lo strumento certbot di Let's Encrypt per le richieste di certificati SSL ed è il rinnovo automatico. Per fortuna a certbot e al suo plug-in nginx, il processo è davvero semplice, diretto e veloce da completare. Un suggerimento su questo è:sarebbe una buona opzione avere un backup della cartella Let's encrypt e di averne spesso il backup (come ha suggerito certbot stesso). Questo è ovviamente facoltativo e dipende da come hai impostato la frequenza dei rinnovi dei certificati.

Crittografiamo il servizio, anche se gratuito e molto popolare nel mondo della tecnologia, è una buona opzione per proteggere alcuni tipi di siti Web. Tuttavia, i loro certificati gratuiti non sono consigliati per l'uso su siti Web di e-commerce per un esempio o qualsiasi tipo di sito che deve trasmettere e archiviare dati molto sensibili (carte di credito e simili). Ecco perché per impostazione predefinita si consiglia di avere un breve periodo di rinnovo per i certificati SSL. In quella nota, Let's encrypt non è l'unica opzione gratuita da utilizzare. Cloudflare ha la stessa opzione per fornire SSL gratuiti e può essere utilizzato anche per proteggere il tuo sito Web Nginx. Se sei interessato a questa opzione, puoi controllare il post su questo link.


Debian
  1. Proteggi Nginx con Lets Encrypt su CentOS 7

  2. Proteggi Nginx con Lets Encrypt su Debian 9

  3. Proteggi Apache2 con Let's Encrypt SSL su Debian 10/11

  4. Installa WordPress con Nginx su Debian 10/11

  5. Come proteggere Nginx con SSL e Let's Encrypt in FreeBSD

Come installare WordPress con Nginx e Let's Encrypt SSL su Debian 11

Come configurare Let's Encrypt certificato SSL con Nginx su Ubuntu 18.04 e Ubuntu 16.04

Installa e configura Webmin con il certificato SSL Let's Encrypt gratuito su Debian 10

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

Proteggi Nginx con Let's Encrypt SSL Certificate su Ubuntu 18.04

Come proteggere Nginx con Let's Encrypt certificato SSL