Con la diffusione sempre maggiore del web e dell’uso di internet per operazioni sempre più “confidenziali”, il tema della sicurezza sta diventando sempre più importante, e quindi è sempre più importante che il proprio server apache sia in grado di utilizzare il protocollo https per offrire ai propri utenti una navigazione più sicura.
Vedremo in questa pagina come abilitare ssl su apache2. Queste operazioni ci permetteranno di abilitare https su apache2 e fornire questo protocollo ai nostri utenti.
Precondizioni
Questa guida si occuperà solamente di fornire informazioni su come abilitare ssl su apache, assumeremo quindi che prima di procedere abbiate già tutto ciò che serve:
- Un server con apache2 ad una versione recente, correttamente installato e funzionante.
- Un sito correttamente configurato e funzionante sul vostro server
- Siate in possesso di un certificato ssl self-signed o commerciale.
Configurare Apache per usare il certificato SSL
Per prima cosa dovremo modificare la configurazione del nostro sito in apache per comunicare ad apache la posizione dei nostri certificati.
Il file da modificare è quello che si trova nella configurazione sites-available di apache relativo al vostro sito. Generalmente possiamo trovarlo in /etc/apache2/sites-available
.
Ovviamente nell’esempio seguente dovrete sostituire informaticappunti.it con il vostro dominio e i percorsi ai file dei certificati con quelli del vostro server.
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/ssl/certs/informaticappunti.it.crt
SSLCertificateKeyFile /etc/ssl/private/informaticappunti.it.key
SSLCACertificateFile /etc/ssl/certs/ca-certificates.crt #Se utilizzate un certificato self-signed potete saltare questa riga
ServerAdmin [email protected]
ServerName www.informaticappunti.it
ServerAlias informaticappunti.it #Se utilizzate un nome alternativo
DocumentRoot /var/www/html/informaticappunti.it/public_html/
ErrorLog /var/www/html/informaticappunti.it/log/error.log
CustomLog /var/www/html/informaticappunti.it/log/access.log combined
</VirtualHost>
Ovviamente la parte relativa ai log non è necessario che sia come nell’esempio, l’importante è che siano configurate correttamente le prime righe con i percorsi e nomi corretti dei certificati.
Effettuare enable ssl apache2 per abilitare la modalità ssl
A questo punto dobbiamo accertarci che il modulo SSl sia abilitato su apache2 e poi possiamo abilitare il nostro sito.
sudo a2enmod ssl
sudo a2ensite informaticappunti.it
A questo punto possiamo riavviare apache per caricare la nuova configurazione:
sudo service apache2 restart
Testare la configurazione di https
Una volta abilitato tutto possiamo eseguire alcuni test della nuova configurazione. Molti browser infatti potrebbero mostrare correttamente il sito anche in caso ci siano alcuni errori. Conviene quindi sempre testare la configurazione con strumenti che ci permettano di individuare eventuali situazioni strane.
- Il primo test che possiamo fare è tramite
s_client
di openssl:
openssl s?client -CApath /etc/ssl/certs/ -connect informaticappunti.it:443
- Per un’analisi più approfondita potete utilizzare il tool online SSL Server Test di Qualys.
Una volta controllato che sia tutto funzionante avrete finito di abilitare ssl su apache2 e voi e i vostri utenti potranno beneficiare si una connessione sicura e lontana da occhi indiscreti.