17 Déc

Let’s Encrypt !

Avec les révélations Snowden, de plus en plus de sites sont en train de migrer en SSL. Google échaudé pousse maintenant à fond à l’encryption, voir le « https as ranking signal ». Mais d’autres organisations ne sont aps en reste avec la campagne « Encrypt All the Things ». Ce qui change maintenant est la possibilité d’obtenir gratuitement des certificats SSL grâce à Let’s Encrypt depuis le début de l’année !

Croissance de Let's Encrypt en 2016
Ce tutoriel va donc présenter comment paramétrer Nginx sous Debian/Jessie pour obtenir et utiliser des certificats SSL avec Let’s Encrypt.

Installer le Client Certbot

Let’s Encrypt fournit un client Certbot qui permet avec Nginx (mais aussi Apache, Haproxy, etc.) de générer automatiquement les certificats SSL.
Il s’installe très simplement, vérifiez juste que vous avez bien rajouté le repo backport.

Configurer Nginx avec Certbot

Certbot est relativement automatisé, ici, je préfère utiliser le mode « webroot » qui permet de ne pas arrêter Nginx pendant la récupération des certificats. Il suffit juste de créer un répertoire que Certbot va utiliser pour le « acme-challenge ». En gros, Certbot va y déposer un fichier le rendant accessible depuis votre serveur web pour permettre à Let’s Encrypt de confirmer la bonne propriété du domaine.

On rajoute le location bloc suivant dans la configuration Nginx du serveur web.

On peut maintenant lancer la création du certificat SSL :

N’hésitez pas à déposer à la main un fichier quelconque (test.html par ex) pour manuellement vérifier son accessibilité avec l’uri suivante /.well-known/test.html. Dans la pratique, l’erreur la plus fréquente est un retour 403 ou 404 du serveur web ! 🙁

Utiliser son Certificat avec Nginx

Il ne reste plus qu’à utiliser son nouveau certificat. Rien que du classique, notez juste qu’il faut bien conserver le bloc location correspondant à « /.well-known ».

Et bien sûr, n’oubliez pas de relancer nginx avec un nginx -t && service nginx reload

Automatiser le Renouvellement des Certificats

La même méthode peut-être utilisée autant de fois que souhaitées sur le même OS. Par contre les certificats ne sont valables que 3 mois.
Pour vérifier le bon fonctionnement, un essai à vide :

Pour automatiser, on rajoute la ligne suivante à son crontab. La commande fonctionne quelque soit le nombre de certificats générés. Ces derniers ne seront réellement régénérés qu’à l’approche de leur expiration.

C’est fini! Encryptez-bien 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *