Oui, le titre est un peu « racoleur » mais c’est pourtant vrai !
J’avais pour habitude de générer mes certificats SSL/TLS (pour mes serveurs de courriels IMAP et SMTP, et aussi pour la partie administrative de ce présent blog) avec StartSSL, une des (la ?) seule compagnie qui proposait des certificats gratuits pour 1 an, et renouvelables.
Voici des instructions pour générer un certificat pour un site existant; elles sont issues de la documentation officielle et de mon expérience récente avec Let’s encrypt.
Mise à jour Août 2019
Il est maintenant recommander d’utiliser les paquets officiels de certbot plutôt que le repo git et letsencrypt-auto : pour cela, il suffit d’utiliser les instructions à : https://certbot.eff.org/
Concernant l’installation sous Ubuntu pour Apache2 en mode « j’édite mes fichiers de conf. Apache2 tout seul« , çà donne :
Shell
1
2
3
4
5
6
sudo apt-getupdate
sudo apt-getinstall software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-getupdate
sudo apt-getinstall certbot python-certbot-apache
Ceci étant fait, pour invoquer certbot, on utilisera :
Shell
1
sudo certbot certonly--apache
La magie de certboot sur Ubuntu 18, c’est qu’il ajoute automatiquement un timer :
Génération de certificats sans arrêter Apache2, méthode webroot
Par défaut, letsencrypt permet de tout automatiser : la création du certificat et l’ajout du certificat à votre configuration Apache2 (ou Nginx d’ailleurs). Si vous ne voulez pas courir le risque d’abimer votre configuration accidentellement, je vous suggère d’utiliser le mode semi automatisé, webroot, qui va générer le certificat pour peu que vous lui indiquiez la racine des documents de votre site.
Par exemple, si le contenu de blog.dahanne.net est dans /var/www/blog.dahanne.net et que vous voulez que votre certificat couvre à la fois blog.dahanne.net et www.blog.dahanne.net :
Le certificat est valide 3 mois, mais pour être sûr de ne pas être en retard (et pour faciliter la tâche cron :-P) on va renouveler le certificat tous les mois.
Il suffit de rajouter dans /etc/cron.monthly/ un petit script shell :
Le fait de pouvoir rajouter autant de certificats que l’on veut pour tous ses sous domaines, très simplement à partir de la ligne de commande constitue un fort avantage de Let’s Encrypt par rapport à d’autres solutions gratuites (et payantes !) : plus de processus manuels à travers son navigateur, de renouvellement avec certificat d’identité, etc.
Tellement facile à utiliser, qu’il n’y a plus d’excuses à utiliser de certificats auto généré, ou de connexions non chiffrées !
Open Source, Java, Docker, Kubernetes, Self hosting