La protezione del tuo server web è sempre uno dei fattori chiave che dovresti considerare prima di attivare il tuo sito web. Un certificato di sicurezza è fondamentale per proteggere il traffico inviato dai browser Web ai server Web e, così facendo, ispirerà gli utenti a scambiare dati con il tuo sito Web con la piena consapevolezza che il traffico inviato è protetto.
Nella maggior parte dei casi, i certificati di sicurezza vengono pagati e rinnovati annualmente. Crittografiamo certificate è un'autorità di certificazione gratuita, aperta e automatizzata che puoi utilizzare per crittografare il tuo sito. Il certificato scade ogni 90 giorni e si rinnova automaticamente a costo zero.
Lettura consigliata :Come proteggere Nginx con Let's Encrypt su CentOS 8
In questo articolo, ti mostreremo come installare il Certificato Let's Encrypt con Certbot per Apache server web e versioni successive, configura il certificato per il rinnovo automatico su CentOS 8 .
Prerequisiti
Prima di iniziare, assicurati di disporre di quanto segue:
1. Un'istanza del server CentOS 8 con server Web Apache HTTP installato e in esecuzione. Puoi confermare che il tuo server web apache è attivo e funzionante.
$ sudo dnf install httpd $ sudo systemctl status httpd
2. Un Nome di dominio pienamente qualificato (FQDN ) che punta all'indirizzo IP pubblico del tuo server web sul tuo provider di hosting web DNS. Per questa guida utilizzeremo linuxtechwhiz.info
che punta all'IP del server 34.67.63.136
.
Passaggio 1. Installa Certbot in CentOS 8
Certbot è un client che automatizza l'installazione del certificato di sicurezza. Recupera il certificato da Crittografiamo l'autorità e lo distribuisce sul tuo server web senza troppi problemi.
Certbot è assolutamente gratuito e ti consentirà di installare il certificato in modo interattivo generando istruzioni in base alla configurazione del tuo server web.
Prima di scaricare il certbot , innanzitutto, installa i pacchetti necessari per la configurazione di una connessione crittografata.
Inizieremo installando EPEL repository che fornisce pacchetti aggiuntivi di alta qualità per i sistemi basati su RHEL:
$ sudo dnf install epel-release
Quindi, installa mod_ssl e openssl pacchetti.
$ sudo dnf install mod_ssl openssl
Una volta installate tutte le dipendenze, installa Certbot e Apache modulo per Certbot.
$ sudo dnf install certbot python3-certbot-apache
Il comando installa Certbot , il modulo Apache per Certbot e altre dipendenze.
Fase 2:crea un host virtuale Apache
Il prossimo passo sarà creare un file host virtuale per il nostro dominio – linuxtechwhiz.info
. Inizia creando prima la radice del documento in cui collocherai i tuoi file HTML.
$ sudo mkdir /var/www/linuxtechwhiz.info.conf
Crea un test index.html
file come mostrato.
$ sudo echo “<h1>Welcome to Apache HTTP server</h1>” > /var/www/linuxtechwhiz.info/index.html
Quindi, crea un file host virtuale come mostrato.
$ sudo vim /etc/httpd/conf.d/linuxtechwhiz.info
Aggiungi la configurazione di seguito.
<VirtualHost *:443> ServerName linuxtechwhiz.info ServerAlias www.linuxtechwhiz.info DocumentRoot /var/www/linuxtechwhiz.info/ <Directory /var/www/linuxtechwhiz.info/> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined </VirtualHost>
Salva ed esci.
Assegna i permessi alla radice del documento come mostrato.
$ sudo chown -R apache:apache /var/www/linuxtechwhiz.info
Per rendere effettive le modifiche, riavvia il servizio Apache.
$ sudo systemctl restart httpd
Passaggio 3:installa Let's Encrypt SSL Certificate su CentOS 8
Ora esegui certbot come mostrato per iniziare l'installazione del certificato Let's Encrypt .
$ sudo certbot --apache -d domain.com
Nel nostro caso, questo sarà:
$ sudo certbot --apache -d linuxtechwhiz.info
Il comando ti guiderà attraverso una serie di prompt per consentirti di configurare Lets Encrypt per il tuo dominio. Assicurati di fornire il tuo indirizzo email, Accetta i Termini di servizio e specifica i nomi di dominio che desideri utilizzare il protocollo HTTPS che è la versione crittografata di HTTP.
Se tutto è andato bene, alla fine dovresti ricevere un messaggio di congratulazioni che ti informa che il tuo sito è stato protetto utilizzando il certificato Let's Encrypt . Verrà visualizzata anche la validità del tuo certificato, che di solito è successiva a 90 giorni dopo la distribuzione.
Ora torna al tuo file host virtuale e aggiungi le seguenti righe di configurazione.
SSLEngine On SSLCertificateFile /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem
Salva ed esci.
La configurazione finale dell'host virtuale Apache sarà simile a questa:
<VirtualHost *:443> ServerName linuxtechwhiz.info ServerAlias www.linuxtechwhiz.info DocumentRoot /var/www/linuxtechwhiz.info/ <Directory /var/www/linuxtechwhiz.info/> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem </VirtualHost>
Ancora una volta, riavvia Apache.
$ sudo systemctl restart httpd
Fase 4:verifica del certificato SSL Let's Encrypt
Per verificare che tutto funzioni, avvia il browser e visita l'indirizzo IP del tuo server. Ora dovresti vedere il simbolo di un lucchetto all'inizio dell'URL.
Per ottenere maggiori dettagli, fai clic sul lucchetto simbolo e fai clic su 'Certificato ' nel menu a tendina che appare.
I dettagli del certificato verranno visualizzati nella finestra pop-up successiva.
Inoltre, puoi testare il tuo server su https://www.ssllabs.com/ssltest/
e il tuo sito dovrebbe ricevere un ‘A’
voto come mostrato.
Passaggio 5:rinnovo automatico del certificato SSL Let's Encrypt
Crittografiamo è valido solo per 90 solo giorni. Di solito, il processo di rinnovo viene eseguito dal certbot pacchetto che aggiunge uno script di rinnovo a /etc/cron.d directory. Lo script viene eseguito due volte al giorno e rinnoverà automaticamente qualsiasi certificato entro 30 giorni di scadenza.
Per testare il processo di rinnovo automatico, esegui un test di prova con certbot .
$ sudo /usr/local/bin/certbot-auto renew --dry-run
Se non si sono verificati errori, significa che sei a posto.
Questo ci porta alla fine di questa guida. In questa guida abbiamo dimostrato come utilizzare certbot per installare e configurare il certificato Let's Encrypt sul server web Apache in esecuzione su un CentOS 8 sistema.