GNU/Linux >> Linux Esercitazione >  >> Debian

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

Panoramica

Nel seguente post, mostreremo la procedura come proteggere Apache2 con Let's Encrypt SSL su Debian 10 (questa procedura funziona 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 Apache preinstallato su cui andremo a seguire i passaggi su come proteggere Apache2 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 Debian 11)

3. Server Web Apache 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

Proteggi Apache2 con Let's Encrypt SSL su Debian

Installazione di Certbot

Utilizzeremo lo strumento Let's Encrypt Cerbot per ottenere il certificato SSL e anche il plug-in Apache2 per certbot. Entrambi gli strumenti ci aiuteranno a ottenere il certificato in modo molto semplice, veloce e anche ad apportare le necessarie modifiche alla configurazione su Apache2. 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

Una nota:prima di eseguire il comando, è necessario prima scrivere nel file di configurazione di nginx nel parametro ServerName 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/apache2/sites-available/000-default.conf

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 --apache -d yourdomain.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 verifica 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 Apache

Puoi ricontrollare la configurazione di Apache se il cerbot ha scritto correttamente la configurazione per i certificati SSL e per il reindirizzamento HTTPS. Cerbot riavvierà Apache 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 Apache2 con Let's Encrypt SSL su macchine Debian 10 e 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 plugin Apache, 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.


Debian
  1. Proteggi Nginx con Lets Encrypt su CentOS 7

  2. Proteggi Apache con Lets Encrypt su Debian 9

  3. Proteggi Nginx 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 Drupal con Nginx e Let's Encrypt SSL su Debian 11

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

Come installare Let's Encrypt SSL in Nginx su Debian 11

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

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

Come installare e configurare Apache con Let's Encrypt TLS/SSL su Debian 11 Bullseye