Ceci est une ancienne révision du document !
Let's Encrypt est une autorité de certification (CA) qui facilite l’acquisition de certificats SSL. Le service est gratuit.
Dans un premier temps on va faire fonctionner un hote virtuel Apache 2 avec SSL
$ sudo a2enmod ssl $ sudo a2ensite default-ssl.conf $ sudo service apache2 restart
Dans le fichier de log /var/log/apache/error.log
, le redémarrage du service indique bien qu'OpenSSL est à présent utilisé:
[Mon Oct 30 17:02:56.918392 2017] [mpm_prefork:notice] [pid 11316] AH00163: Apache/2.4.25 (Debian) OpenSSL/1.0.2l configured -- resuming normal operations [Mon Oct 30 17:02:56.940329 2017] [core:notice] [pid 11316] AH00094: Command line: '/usr/sbin/apache2'
Une fois cette configuration fonctionnelle, si on teste la connexion au serveur avec un navigateur, une alerte est levée coté client car le certificat fournit par le serveur est auto-signé.
Installer le client let's encrypt:
Disponible dans les backports
echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list apt update apt install certbot -t jessie-backports
$ sudo apt-get install certbot
La procédure d'obtention d'un certificat pour Apache est facilité par script. On l'invoque de la façon suivante en spécifiant l'argument -d avec en paramètre le nom de domaine:
$ sudo ./letsencrypt-auto --apache -d your_domain.tld
Un même certificat peut être utilisé par plusieurs hôtes virtuels
Pour vérifier le statut du certificat SSL fournit, SSL labs propose un service ne ligne disponible à l'URL https://www.ssllabs.com/ssltest/
Les certificats fournis par let's encrypt sont valides 90 jours. Pour renouveler les certificats, il faut relancer le client avec les mêmes paramètres avant la date limite. Pour cela on créera une tâche cron.