Come installare il certificato SSL su Apache per CentOS 7
Introduzione
I certificati SSL sono piccoli file di dati che certificano la proprietà di una chiave crittografica pubblica. Le autorità di certificazione (CA) garantiscono che la chiave appartiene a un’organizzazione, un server o un’altra entità elencata nel certificato.
Quando un utente, tramite il proprio browser, accede a un sito web certificato, le informazioni vengono crittografate con una chiave pubblica univoca. I dati possono essere decifrati solo utilizzando una chiave privata univoca situata sul server host. Questo alto livello di crittografia impedisce tentativi non autorizzati di accedere alle informazioni.
In questo tutorial, scopri come installare un certificato SSL su CentOS 7.
Prerequisiti
- Un utente con privilegi sudo
- Accesso a una linea di comando (Ctrl-Alt-T)
- CentOS 7
- Un nome di dominio valido con il DNS punta al server
Come Ottenere un Certificato SSL
Ci sono diversi modi per ottenere i Certificati:
- Utilizzando un sistema automatizzato e certificato di assenza di autorità come ” Let’s Encrypt progetto.
- Le autorità di certificazione commerciali forniscono certificati a pagamento (Comodo, DigiCert, GoDaddy)
- In alternativa, è possibile creare un certificato autofirmato. Questo tipo di certificato è utile per scopi di test o per l’uso in un ambiente di sviluppo.
Se stai ancora valutando il tipo di certificato di cui hai bisogno o quale CA scegliere, abbiamo preparato una guida completa ai certificati SSL, alle chiavi private e ai CSR per aiutarti nel processo.
Nota: le CA attendibili non verificano i certificati autofirmati. Gli utenti non possono utilizzarlo per convalidare automaticamente l’identità del proprio server.
Installa il certificato SSL con Let’s Encrypt
Let’s Encrypt è un’autorità di certificazione gratuita, aperta e automatizzata. Esso utilizza lo strumento software certbot per amministrare automaticamente i certificati.
Certbot è uno strumento altamente automatizzato. Assicurati che l’installazione di Apache sia valida e che tu abbia un host virtuale configurato per il tuo/i dominio / i. Dovresti prima leggere il nostro tutorial su come installare Apache su CentOS 7 se hai bisogno di assistenza con la configurazione del firewall e degli host virtuali.
Installazione Certbot
1. Utilizzare il terminale di comando per installare il repository EPEL e yum-utils:
sudo yum –y install epel-release yum-utils
2. Quindi, installa un modulo che supporti SSL per Apache:
sudo yum -y install mod_ssl
In questo esempio, l’ultima versione del modulo è già disponibile.
3. Ora possiamo installare certbot per Apache:
sudo yum –y install python-certbot-apache
4. Una volta che l’installazione ha fatto il suo corso, è possibile avviare il processo per ottenere un certificato inserendo:
sudo certbot –apache –d yourdomain.com
In alternativa, avviare certbot digitando:
sudo certbot
5. Il cliente ti chiede di fornire un indirizzo email e di leggere e accettare i Termini di Servizio. Certbot elenca quindi i domini disponibili sul server. Attiva HTTPS per domini specifici o tutti lasciando il campo vuoto.
Il prompt successivo consente di forzare tutte le richieste per proteggere l’accesso HTTPS.
Dopo aver effettuato le tue scelte, il messaggio sul terminale conferma che hai abilitato la crittografia per il tuo dominio.
Rinnovo automatico del certificato
I certificati rilasciati da Let’s Encrypt sono validi per 90 giorni. Il comando certbot renew controlla i certificati installati e tenta di rinnovarli se mancano meno di 30 giorni dalla scadenza. Per automatizzare questo processo, creare un lavoro cron per eseguire periodicamente il comando.
Usa il tuo editor di testo preferito per definire la frequenza con cui eseguire il comando rinnova:
sudo crontab -e
Inserisci questa riga e salva il crontab:
* */12 * * * /usr/bin/certbot renew >/dev/null 2>&1
Come installare il certificato SSL con Comodo
1. Il primo passo consiste nell’inviare una richiesta di firma del certificato a un’autorità di certificazione. La nostra guida dettagliata su come generare una richiesta di firma del certificato (CSR) con OpenSSL è una risorsa eccellente se hai bisogno di assistenza con questo processo.
2. Una volta che una CA certifica la tua richiesta, riceverai una copia del tuo certificato SSL. Ora è possibile installare il certificato sul server CentOS 7.
Questo esempio mostra come installare un certificato da un provider SSL a pagamento, Comodo.
3. Una volta che Comodo verifica il tuo CSR la richiesta, scarica i file SSL. Copiarli (ComodoRSACA.crt) e il certificato primario (il tuodominio.crt), alla directory del server Apache. La chiave privata generata durante il processo CSR (Certificate Signing Request) deve trovarsi sullo stesso server.
Configura gli host virtuali per SSL
Dopo aver certificato correttamente il dominio e posizionato i file chiave sul server, il passo successivo sarà configurare gli host virtuali per visualizzare il certificato.
1. Accedere al file di configurazione SSL:
sudo nano /etc/httpd/conf.d/ssl.conf
2. Modificare il file di configurazione per puntare ai file corretti sul server.
Decommentare le seguenti righe nella sezione < VirtualHost_default_: 443> e immettere i percorsi file corretti:
- Il nostro sito utilizza cookie tecnici e di terze parti per migliorare la tua esperienza di navigazione.yourdomain.com: 443
- SSLEngine on
- SSLCertificateFile – Il percorso del file del certificato.
- SSLCertificateKeyFile – Il percorso del file chiave.
- SSLCertificateChainFile– Il file di certificato COMODO intermedio.
3. Dopo aver apportato le modifiche necessarie, uscire dal file (Ctrl + X) e premere y per salvare le modifiche.
4. Prova la tua configurazione di Apache prima di riavviare. Assicurarsi che la sintassi sia corretta digitando:
sudo apachectl configtest
5. Una volta che il sistema conferma che la sintassi è corretta, riavviare Apache:
sudo systemctl restart httpd
Ora è stato impostato il server Apache per utilizzare il certificato SSL.
Come creare un certificato SSL autofirmato
Un certificato autofirmato è utile per i test, negli ambienti di sviluppo e su una intranet.
1. Come con Let’s Encrypt, il modulo mod_ssl Apache fornisce il supporto per la crittografia SSL:
sudo yum –y install mod_ssl
2. Creare una nuova directory per memorizzare la chiave privata:
sudo mkdir /etc/ssl/privatekey
3. Limitare l’accesso a tale directory solo all’utente root:
sudo chmod 700 /etc/ssl/privatekey
4. Generare un certificato auto-firmato l’utilizzo di questo comando OpenSSL:
sudo openssl req -x509 -new -newkey rsa:2048 -nodes -days 365 -keyout /etc/ssl/privatekey/ yourdomain.key -out /etc/ssl/certs/yourdomain.csr
Questa è una panoramica dettagliata degli elementi:
- openssl – attiva il software OpenSSL
- req – indica che abbiamo bisogno di una CSR
- -x509 – specifica di utilizzare il X. 509 richiesta di firma
- -nuovo -newkey – generare una nuova chiave
- rsa:2048 – generare una RSA 2048 bit di matematica tasto
- -nodi – no DES, il che significa non crittografare la chiave privata in un file PKCS#12
- –365 giorni– numero di giorni in cui il certificato è valido per
- -keyout – indica il dominio che si sta generando una chiave per
- -out – specifica il nome del file che contiene la CSR
Nota: assicurarsi di sostituire dominio con il proprio dominio.
5. Il sistema lancia un questionario da compilare.
Inserisci le tue informazioni nei campi disponibili:
- Nome del Paese – utilizzare un 2-lettera paese di codice
- Stato – lo stato in cui il proprietario del dominio è incorporato in
- Località – città in cui il proprietario del dominio è incorporato in
- nome dell’Organizzazione – un’entità che possiede il dominio
- nome unità Organizzativa –dipartimento o gruppo di un’organizzazione che lavora con i certificati
- nome Comune – più spesso, il nome di dominio completo (FQDN)
- indirizzo e – Mail- questo indirizzo email
- Sfida password – definire una password opzionale per il tuo coppia di chiavi
L’immagine rappresenta un questionario di esempio in CentOS 7.
6. Procedere alla configurazione dell’host virtuale per visualizzare il nuovo certificato. Il processo è identico ai passaggi descritti nel Capitolo 2, Configurare gli host virtuali per SSL.
7. Prova la tua configurazione di Apache prima di riavviare. Per assicurarsi che la sintassi sia corretta, digitare:
sudo apachectl configtest
8. Una volta che il sistema conferma che la sintassi è corretta, riavviare Apache:
sudo systemctl restart httpd
Ora hai impostato il tuo server Apache per utilizzare il tuo certificato SSL autofirmato e dovresti essere in grado di visitare il tuo sito con SSL abilitato.
Come verificare se un certificato SSL è valido?
Per verificare se un certificato SSL è valido è possibile servizi disponibili pubblicamente, come il test del server SSL. Confermare lo stato del certificato, e per verificare se tutti i dettagli sono corretti.
In alternativa, accedi al tuo sito Web utilizzando https: / / per vedere se il certificato SSL è visibile. Il lucchetto verde indica che è presente il livello aggiuntivo di crittografia.
Conclusione
Seguendo queste istruzioni, hai protetto il traffico sul tuo sito web di distribuzione CentOS Linux implementando un certificato SSL.
Il nuovo certificato SSL garantisce che tutti i dati che passano tra il server Web e i browser rimangano privati e sicuri.