GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come creare un certificato SSL autofirmato locale su CentOS 8

SSL (Secure Socket Layer ), e la sua versione migliorata, TLS (Transport Socket Layer ), sono protocolli di sicurezza utilizzati per proteggere il traffico Web inviato dal browser Web di un client a un server Web.

Un SSL certificato è un certificato digitale che crea un canale sicuro tra il browser di un client e un server web. In tal modo, i dati sensibili e riservati come i dati della carta di credito, le credenziali di accesso e altre informazioni altamente private vengono crittografati, impedendo agli hacker di intercettare e rubare le tue informazioni.

Che cos'è un certificato SSL autofirmato?

Un certificato SSL autofirmato, a differenza di altri SSL certificati firmati e considerati attendibili da un'Autorità di certificazione (CA ), è un certificato firmato da una persona fisica che lo possiede.

È totalmente gratuito crearne uno ed è un modo economico per crittografare il tuo server web ospitato localmente. Tuttavia, l'uso di un certificato SSL autofirmato è altamente sconsigliato negli ambienti di produzione per i seguenti motivi:

  1. Dato che non è firmato da un'Autorità di certificazione , un certificato SSL autofirmato genera avvisi sui browser Web avvertendo gli utenti di potenziali rischi futuri qualora decidano di procedere. Questi avvisi sono indesiderati e dissuadono gli utenti dal visitare il tuo sito web, portando potenzialmente a un calo del traffico web. Come soluzione alternativa a questi avvisi, le organizzazioni di solito incoraggiano i propri dipendenti a ignorare semplicemente gli avvisi e ad andare avanti. Ciò potrebbe generare un'abitudine pericolosa tra gli utenti che potrebbero decidere di continuare a ignorare questi avvisi su altri siti online, diventando potenzialmente vittime di siti di phishing.
  2. I certificati autofirmati hanno un livello di sicurezza basso poiché implementano tecnologie di crittografia e hash di basso livello. Pertanto, il livello di sicurezza potrebbe non essere all'altezza delle politiche di sicurezza standard.
  3. Inoltre, non c'è supporto per le funzioni PKI (Public Key Infrastructure).

Detto questo, l'uso di un certificato SSL autofirmato non è una cattiva idea per testare servizi e applicazioni su una macchina locale che richiede TLS / SSL crittografia.

In questa guida imparerai come installare un certificato SSL autofirmato locale su Apache server web localhost su un CentOS 8 sistema server.

Prerequisiti:

Prima di iniziare, assicurati di avere i seguenti requisiti di base:

  1. Un'istanza del server CentOS 8.
  2. Server web Apache installato sul server
  3. Un nome host già configurato e definito in /etc/hosts file. Per questa guida utilizzeremo tecmint.local un nome host per il nostro server.

Passaggio 1:installazione di Mod_SSL su CentOS

1. Per iniziare, devi verificare che Apache il server web è installato e funzionante.

$ sudo systemctl status httpd

Ecco l'output previsto.

Verifica lo stato di Apache

Se il server web non è in esecuzione, puoi avviarlo e abilitarlo all'avvio utilizzando il comando.

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

Avvia Apache Web Server

Successivamente puoi confermare se Apache è attivo e funzionante.

2. Per abilitare l'installazione e la configurazione del certificato SSL autofirmato locale, il mod_ssl è richiesto il pacchetto.

$ sudo dnf install mod_ssl

Una volta installato, puoi verificarne l'installazione eseguendo.

$ sudo rpm -q mod_ssl

Verifica l'installazione Mod SSL

Inoltre, assicurati che OpenSSL pacchetto è installato (OpenSSL viene installato per impostazione predefinita in CentOS 8 ).

$ sudo rpm -q openssl 

Verifica l'installazione di Openssl

Fase 2:crea un certificato SSL autofirmato locale per Apache

3. Con Apache web server e tutti i prerequisiti sotto controllo, è necessario creare una directory all'interno della quale verranno archiviate le chiavi crittografiche.

In questo esempio, abbiamo creato una directory in /etc/ssl/private .

$ sudo mkdir -p /etc/ssl/private

Ora crea la chiave e il file del certificato SSL locale usando il comando:

$ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt

Diamo un'occhiata a cosa rappresentano effettivamente alcune delle opzioni nel comando:

  • richiesto -x509 – Ciò indica che stiamo utilizzando la richiesta di firma del certificato (CSR) x509.
  • -nodi – Questa opzione indica a OpenSSL di saltare la crittografia del certificato SSL utilizzando una passphrase. L'idea qui è di consentire ad Apache di leggere il file senza alcun tipo di intervento da parte dell'utente, cosa che non sarebbe possibile se fosse fornita una passphrase.
  • -newkey rsa:2048 – Questo indica che vogliamo creare contemporaneamente una nuova chiave e un nuovo certificato. La parte rsa:2048 implica che vogliamo creare una chiave RSA a 2048 bit.
  • -keyout – Questa opzione specifica dove archiviare il file della chiave privata generato al momento della creazione.
  • -fuori – L'opzione specifica dove posizionare il certificato SSL creato.

Crea certificato SSL locale per Apache

Fase 3:installa il certificato SSL autofirmato locale su Apache

4. Dopo aver generato il file del certificato SSL, è ora di installare il certificato utilizzando le impostazioni del server Web Apache. Apri e modifica /etc/httpd/conf.d/ssl.conf file di configurazione.

$ sudo /etc/httpd/conf.d/ssl.conf

Assicurati di avere le seguenti righe tra i tag host virtuali.

<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName www.tecmint.local
    ServerAlias tecmint.local
 
    DocumentRoot /var/www/html
 
    SSLEngine on
    SSLCertificateFile /etc/private/tecmint.local.crt
    SSLCertificateKeyFile /etc/private/tecmint.local.key
</VirtualHost>

Salva ed esci dal file. Affinché le modifiche vengano apportate, riavvia Apache utilizzando il comando:

$ sudo systemctl restart httpd

5. Per consentire agli utenti esterni di accedere al tuo server, devi aprire la porta 443 attraverso il firewall come mostrato.

$ sudo firewall-cmd --add-port=443 --zone=public --permanent
$ sudo firewall-cmd --reload

Fase 3:verifica del certificato SSL autofirmato locale su Apache

Con tutte le configurazioni in atto, avvia il browser e sfoglia l'indirizzo del tuo server utilizzando l'indirizzo IP o il nome di dominio del server utilizzando il protocollo https.

Per semplificare il test, potresti considerare di reindirizzare il protocollo HTTP su HTTPS sul server web Apache. Questo è così che ogni volta che navighi nel dominio in HTTP semplice, verrà automaticamente reindirizzato al protocollo HTTPS.

Quindi esplora il dominio o l'IP del tuo server

https://domain_name/

Riceverai un avviso che ti informa che la connessione non è sicura come mostrato. Questo varia da un browser all'altro. Come puoi immaginare, l'avviso è dovuto al fatto che il certificato SSL non è firmato dall'Autorità di certificazione e il browser lo registra e segnala che il certificato non può essere considerato attendibile.

Avviso certificato SSL

Per procedere al tuo sito web, fai clic su "Avanzate ' come mostrato sopra:

Procedi Avvisi sui certificati SSL

Quindi, aggiungi l'eccezione al browser.

Conferma l'eccezione di sicurezza

Infine, ricarica il browser e osserva che ora puoi accedere al server, anche se sulla barra degli URL verrà visualizzato un avviso che il sito non è completamente sicuro per lo stesso motivo per cui il certificato SSL è autofirmato e non firmato dal Autorità di certificazione.

Accedi al sito Web tramite HTTPS

Ci auguriamo che tu possa ora procedere e creare e installare un certificato SSL autofirmato sul server Web Apache localhost su CentOS 8 .

Condividere è prendersi cura...
Condividi su FacebookCondividi su TwitterCondividi su LinkedinCondividi su Reddit
Cent OS
  1. Come installare il certificato SSL su Apache per CentOS 7

  2. Come installare un certificato SSL autofirmato in cPanel

  3. Come creare un repository YUM locale su CentOS 7 / RHEL 7 utilizzando DVD

  4. Come creare un utente sudo su CentOS 7

  5. Come creare un certificato SSL autofirmato su Ubuntu 18.04

Come generare certificati SSL autofirmati utilizzando OpenSSL

Come creare un utente Sudo su CentOS

Come installare Textpattern su CentOS 7

Come installare LetsEncrypt SSL con Nginx su CentOS 6

Come installare il certificato SSL gratuito per Nginx su CentOS 8

Come ripristinare/rinnovare il certificato autofirmato cPanel/WHM?