Ricerca nel sito web

Come installare il certificato SSL gratuito per Nginx su Debian 10


Quando crei un sito web, una delle considerazioni chiave che dovresti tenere a mente è la sicurezza del tuo sito. Un certificato SSL è un certificato digitale che crittografa i dati inviati dal browser di un utente a un server web. In questo modo, i dati inviati sono riservati e al sicuro dagli hacker che utilizzano sniffer di pacchetti come Wireshark per intercettare e origliare le tue comunicazioni.

Un sito crittografato presenta il simbolo di un lucchetto nella barra dell'URL seguito dall'acronimo https come mostrato nello screenshot seguente.

Un sito non crittografato solitamente presenta una notifica "Non protetto" nella barra degli URL.

Prerequisiti

Prima di iniziare, assicurati che i seguenti requisiti siano stati soddisfatti:

  1. Un'istanza in esecuzione di Debian 10 Minimal Server.
  2. Un'istanza in esecuzione del server Web Nginx con configurazione del dominio su Debian 10.
  3. Un nome di dominio completamente qualificato (FQDN) registrato con il record A che punta all'indirizzo IP di Debian 10 sul tuo provider di dominio.

Per questo tutorial, abbiamo linux-console.net puntato all'indirizzo IP 192.168.0.104.

In questo articolo, esaminiamo come installare Let's Encrypt SSL su Debian 10 per ottenere un Certificato SSL gratuito per Nginx forte> sito ospitato.

Cos'è Crittografiamo SSL

Let's Encrypt SSL è un certificato gratuito di EFF (Electronic Frontier Foundation) valido per 3 mesi e rinnovato automaticamente alla scadenza. È un modo semplice ed economico per crittografare il tuo sito se le tue tasche sono strette.

Senza ulteriori indugi, tuffiamoci e installiamo Let's Encrypt sul server web Nginx:

Passaggio 1: installa Certbot in Debian 10

Per iniziare dobbiamo installare Certbot, un software che recupera il certificato digitale Let's encrypt e successivamente lo distribuisce su un server web. Per fare ciò, dobbiamo installare il pacchetto python3-certbot-nginx. Ma prima di farlo, aggiorniamo prima i pacchetti di sistema.

sudo apt update

Il passaggio successivo è installare le dipendenze richieste dal pacchetto python3-certbot-nginx.

sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

Ora installiamo il pacchetto python3-certbot-nginx.

sudo apt install python3-certbot-nginx

Passaggio 2. Verifica della configurazione del blocco del server Nginx

Affinché certbot possa distribuire automaticamente il certificato Let's encrypt SSL sul server web Nginx, è necessario configurare un blocco del server. Abbiamo trattato la configurazione dei blocchi server Nginx nell'ultima sezione dell'articolo precedente.

Se hai seguito attentamente, dovresti avere un blocco del server su /etc/nginx/sites-available/some_domain. Nel nostro caso, il blocco del server Nginx sarà

/etc/nginx/sites-available/linux-console.net

Inoltre, assicurati che la direttiva server_name corrisponda al tuo nome di dominio.

server_name linux-console.net linux-console.net;

Per confermare che tutte le configurazioni Nginx siano in ordine, esegui:

sudo nginx -t

L'output sopra indica che tutto va bene.

Passaggio 3: configurare il firewall per aprire la porta HTTPS

Nel caso in cui tu abbia configurato e abilitato ufw, come sempre raccomandato, dobbiamo consentire il protocollo HTTPS attraverso il firewall in modo che il server web sia accessibile a tutti.

sudo ufw allow 'Nginx Full'

Successivamente, ricarica il firewall per rendere effettive le modifiche.

sudo ufw reload

Per verificare di aver consentito il protocollo attraverso il firewall.

sudo ufw status

Passaggio 4: distribuzione del certificato SSL Let's Encrypt per il dominio

Con tutte le impostazioni e le configurazioni sotto controllo, è il momento di recuperare e distribuire il certificato Let's Encrypt SSL sul sito del dominio.

sudo certbot --nginx -d domain-name  -d www.domain-name.com 

Nel nostro caso, avremo

sudo certbot --nginx -d linux-console.net -d linux-console.net

Nel primo passaggio ti verrà richiesto di inserire il tuo indirizzo email. Digita il tuo indirizzo e premi Invio.

Successivamente, ti verrà chiesto di accettare i termini di servizio. Digita A per procedere.

Certbot procederà a chiedere il tuo consenso all'utilizzo della tua email per inviarti notifiche sugli ultimi sviluppi in EFF. Qui puoi scegliere di attivare o disattivare, per attivare , digita Y (Sì) e premi Invio. Per rifiutare la partecipazione premi N (No).

Certbot contatterà quindi Let's encrypt, scaricherà il certificato SSL e lo distribuirà al blocco di server Nginx che hai già creato.

Nella sezione successiva, Digita 2 per reindirizzare il normale traffico HTTP a HTTPS.

Il certificato verrà distribuito sul tuo server Nginx e riceverai una notifica di congratulazioni per confermare che il tuo server web è ora crittografato utilizzando Let's Encrypt SSL.

Passaggio 5: verifica HTTPS sul sito Web Nginx

Per verificare le modifiche tramite un browser web, aggiorna la scheda del browser e assicurati di notare il simbolo del lucchetto.

Fai clic sull'icona del lucchetto e seleziona l'opzione "Certificato" per visualizzare i dettagli del certificato SSL.

Verranno visualizzati tutti i dettagli del certificato.

Puoi verificare ulteriormente lo stato del tuo server web testando l'URL del tuo sito all'indirizzo https://www.ssllabs.com/ssltest/. Se il server web è crittografato utilizzando un certificato SSL, otterrai un punteggio A come mostrato.

Conclusione

Siamo giunti alla fine di questo tutorial. Nella guida, hai imparato come installare un certificato SSL gratuito per Nginx su Debian 10.