illustration de Let’s Encrypt – HTTPS pour tous
Mise à jour : 16 octobre 2016

Aujourd’hui nous parlons de plus en plus du HTTPS que ce soit pour les recommendations de Google en matière de SEO mais surtout pour la sécurité des échanges des données avec les utilisateurs et les autres plateformes. Jusqu’à aujourd’hui les certificats signés était principalement payant et peuvent atteindre des sommes astronomiques en fonction des assurances ou du modele (wildcard, etc.).

Un projet open-source

Let’s encrypt est un projet Open Source faisant partie des projets Linux Foundation. Ce projet consiste à proposer une nouvelle autorité de certificat SSL/TLS gratuite et automatique.

Cet outil a pour vocation de rendre accessible a tous des certificats SSL/TLS signés et permettre à un simple bloggeur (par exemple) de proposer une plateforme fournissant un niveau de sécurité et de confidentialité correct pour ses internautes, gratuitement.

Ce projet aujourd’hui en beta publique mais déjà mis en place sur de nombreux sites (dont celui ci !). Il est également supporté par un grand nombre de sponsors tels que Mozilla, Facebook, Automattic, Chrome, IdenTrust… Cette liste est bien entendu non exhaustive.

Le client

Let’s Encrypt met a disposition un client développé en python permettant d’ajouter un certificat de manière automatique a l’aide de quelques commandes simples. Ce client permet de récupérer des certificats, mais aussi simplifie le renouvellement et la revocation de certificats.

Installation

L’installation du client se fait directement depuis git.

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt

Une fois téléchargé, l’installation est lancée a l’aide de la commande suivante :

./letsencrypt-auto

L’installation d’un certificat peut se faire de plusieurs façon (automatique ou manuelle), car des plugins sont disponibles permettant d’automatiser et de « gagner du temps » dans la mise en place du certificat.

Apache

Le plugin apache permet de créer un vhost SSL depuis un vhost existant a l’aide l’option --apache. La commande suivante permet de mettre en place le certificat ssl sur votre site ./letsencrypt-auto --apache -d votre-domaine.com

Le client va récupérer le certificat relatif au nom de domaine et demande le type d’accès désiré (HTTPS seul ou HTTP/HTTPS)
letsencrypt-step1

Configuration

Let’s encrypt propose une configuration SSL basique importée par défaut dans la configuration du vhost. Il est fortement recommandé de customiser votre configuration en fonction de votre site (Compatibilité navigateur / Sécurité). Pour cela un outil de configuration SSL est mis a disposition par mozilla dans le but de simplifier la configuration pour les non-experts.

Tester la configuration

Après la mise en place d’un certificat sur votre site, l’outil vous suggère de tester votre configuration SSL.

letsencrypt-step2

Pour tester la configuration SSL/TLS sur le serveur, le site SSLLabs scanne votre domaine, met en avant les problèmes et donne une note globale a votre configuration.

Cet outil est plutôt utile pour tester la configuration SSL/TLS sur un site et detecter des failles potentielles telles que POODLE ou Heartbleed qui a fait couler beaucoup d’encre.

Renouvellement des certificats

Let’s Encrypt propose des certificats ayant une validité de 90 Jours, lors de la mise en place d’un certificat, l’email renseigné permet d’être notifié lorsque la validité du certificat est sur le point d’expirer.

Le renouvellement ne se fait aujourd’hui pas encore de manière automatique nativement (ce qui devrait arriver bientôt), mais simplement avec la commande letsencrypt-auto qui peut être ajoutée dans un cron avec l’option --renew-by-default.

La documentation recommande de paramètrer le cron tous les mois pour avoir l’esprit tranquille 🙂

Pour conclure

Depuis plusieurs mois j’ai mis en place let’s encrypt sur différents sites et applications internes. Ces certificats signés gratuits sont très pratiques pour les outils internes tels que jenkins pour avoir un chiffrements des données qui transitent. Cependant la limite des certificats reste la compatibilité sur les vieux navigateurs (sur windows xp seul Firefox est compatible avec l’algo).

N’hésitez pas a faire vos retours sur cet outil si vous avez eu l’occasion de l’utiliser.

 


Ressources :