IPv6 Certification Badge for kiokoman

Introduzione

Il certificato SSL che ci viene fornito da Let's Encrypt permette di mettere in sicurezza tutte le trasmissioni / scambio dati che avvengono tra il nostro server web apache e il client che lo visita, criptando il traffico e rendendo impossibile intercettare il contenuto.

Come in altri sistemi già visti nei precedenti tutorial il tutto si basa su una catena di fiducia che si viene a creare tra il server che ospita il dominio e il fornitore del certificato che a sua volta deve far parte di una lista di certificatori autorizzati.

Prerequisiti

E' possibile ottenere il nostro scopo in maniera assolutamente gratuita solamente se si sta gestendo un dominio e se si ha accesso completo alla macchina che lo ospita, in alternativa saremmo costretti a generare un certificato autofirmato che ci consente comunque di criptare la trasmissione ma non essendo avvalorato da nessun ente certificatore autorizzato, il client che provasse a visitare il vostro sito con il protocollo https riceverebbe un avvertimento piuttosto evidente e a volte scoraggiante 

selfsigned example

Per procedere sono quindi indispensabili due requisiti: un server ubuntu 16.04 e Apache2 server configurato con uno o piu domini

Installazione

Prima di procedere alla installazione aggiorniamo i repo.

apt update

faccio presente che apt è un'interfaccia a riga di comando che racchiude le stesse proprietà di apt-get e apt-cache ma siete liberi di utilizzare i comandi specifici

Una volta aggiornato procediamo con l'installazione.

Tutto quello che ci serve fortunatamente è già presente nei repository percui ci basta installarli con

apt install letsecrypt python-letsencrypt-apache

una volta terminata l'installazzione procediamo ad avviare l'utility

sudo letsencrypt

dopo pochi istanti partirà una procedura guidata di letencrypt che vi chiederà quali domini fra quelli da lui automaticamente individuati volete certificare, vi chiederà inoltre se volete reindirizzare tutto il traffico in modo sicuro via https, un indirizzo email valido a cui inviare eventuali comunicazioni. Al termine verranno create le chiavi in /etc/letsencrypt/live/nomedominio e configurato apache in automatico.

Potrete a questo punto effettuare un test della procedura visitando come suggerito dal wizard di letsencrypt il seguente sito ad esempio:

https://www.ssllabs.com/ssltest/analyze.html

 

sslresulte

 e visitanto il vostro sito noterete l'indicazione che il sito è considerato un sito sicuro e verificato

 securesite

Configurazione

Il certificato ha una durata di 90 giorni va quindi rinnovato di volta in volta cosa che possiamo automatizzare con l'aiuto di crontab magari impostando il rinnovo ogni 60 o anche 30 giorni in modo da avere il tempo di risolvere eventuali problematiche che potrebbero insorgere.

sudo crontab -e

aggiungiamo quindi il seguente comando al suo interno

30 2 * * 1 /usr/bin/letsencrypt  renew >> /var/log/le-renew.log

Postfix e Dovecot

 E' possibile utilizzare questo stratagemma anche per ottenere un certificato valido per postfix e dovecot

dato che letsencrypt verifica la presenza dell'host all'interno di apache io non ho fatto altro che aprire il file di configurazione del sito in apache2 e aggiungere come alias l'host che uso per l'email 

nano /etc/apache2/sites-available/vostrodominio.vhost

e aggiungere sotto ServerName un ServerAlias, esempio:

ServerName kiokoman.eu.org
ServerAlias mail.kiokoman.eu.org

fatto questo salviamo e riavviamo apache. Sarà necessario rilanciare letsencrypt per aggiornare il certificato infatti noterete che nella lista dei possibili domini da certificare comparirà anche quanto abbiamo indicato nel ServerAlias.

Il nuovo certificato generato protra essere utilizzato in postfix editanto /etc/postfix/main.cf e modificando i seguenti parametri

nano /etc/dovecot/conf.d/10-ssl.conf
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.kiokoman.eu.org/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.kiokoman.eu.org/privkey.pem

mentre per dovecot il file da modificare si trova in /etc/dovecot/conf.d/10-ssl.conf dove andranno ricercati e modificati i seguenti due parametri

nano /etc/dovecot/conf.d/10-ssl.conf
ssl_cert = </etc/letsencrypt/live/mail.kiokoman.eu.org/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.kiokoman.eu.org/privkey.pem

salvate le modifiche e riavviate sia postfix che dovecot

sudo service dovecot restart
sudo service postfix restart

Potrete testare che tutto è andato a buon fine recandovi ad esempio su questo sito e inserendo una email del vostro dominio

http://www.checktls.com/perl/TestReceiver.pl

testtls