Come ottenere un certificato SSL gratuito per il tuo sito

Per garantire ai tuoi utenti una navigazione sicura sul tuo sito hai bisogno di stabilire una connessione sicura tramite SSL e abilitare l’HTTPS.

Cos’è SSL?

SSL sta per Secure Sockets Layer e definisce un protocollo di sicurezza Internet basato sulla crittografia.
Per stabilire connessioni sicure è necessario che il tuo server abbia una chiave di protezione assegnata da un’Authority riconosciuta tramite un certificato.

Let’s Encrypt e Certbot

Let’s Encrypt (https://letsencrypt.org/) è una autorità di certificazione che fornisce certificati gratuiti, ma tali certificati hanno una scadenza di 3 mesi, scaduti i quali è necessatio rinnovare il certificato.

Certbot (https://certbot.eff.org/) è uno strumento di facile installazione che consente di automatizzare, in maniera trasparente, il processo di rinnovo del certificato.

Alla pagina https://certbot.eff.org/instructions, è possibile scegliere il sistema operativo e il web server in uso per avere l’elenco dettagliato delle istruzioni di installazione.

Vediamo come installarlo su un CentOS 7 con web server Apache.

Per prima cosa installiamo il supporto SSL per Apache

sudo yum install mod_ssl

Quindi installiamo lo strumento snapd che consente di installare applicazioni distribuite tramite pacchetti snap

sudo yum install snapd

Assicuriamoci di avere l’ultima versione di snapd e creiamo un link simbolico

systemctl start snapd.service
sudo snap install core
sudo snap refresh core
sudo ln -s /var/lib/snapd/snap /snap

A questo punto installiamo certbot e creiamo anche per lui un link simbolico

sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Infine generiamo e installiamo il certificato su Apache col comando

sudo certbot --apache

La procedura di installazione ci richiederà su quali domini vogliamo installare i certificati. È possibile specificare più domini, separandoli con una virgola.

Potrebbe essere necessario mappare un virtualhost su Apache.

In tal caso aprire il file /etc/httpd/conf/httpd.conf

<VirtualHost *:80>
    ServerName miodominio.it
    DocumentRoot /var/www/html
    ServerAlias www.miodominio.it
    ErrorLog /var/www/error.log
    CustomLog /var/www/requests.log combined
</VirtualHost>

Al termine dell’installazione vedremo su terminale un messaggio che ci indica l’avvenuta generazione e salvataggio dei certificati e ci ricorda la data di scadenza. Inoltre ci informa che ha schedulato un task per il rinnovo automatico del certificato.

Requesting a certificate for codexamples.cloud and www.codexamples.cloud

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/codexamples.cloud/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/codexamples.cloud/privkey.pem
This certificate expires on 2023-03-09.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Deploying certificate
Successfully deployed certificate for codexamples.cloud to /etc/httpd/conf/httpd-le-ssl.conf
Successfully deployed certificate for www.codexamples.cloud to /etc/httpd/conf/httpd-le-ssl.conf

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *