Let’s Encrypt : Le web sécurisé pour tous

Depuis quelques semaines, le projet Let’s Encrypt fait beaucoup parler. Let’s Encrypt est une nouvelle autorité de certification qui a pour vocation de fournir gratuitement des certificats. La génération des certificats est totalement automatisé et la solution est open source.

Pourquoi Let’s Encrypt?

Si vous n’êtes pas familier avec les concepts  HTTP, HTTPS, certificat et autorité de certification, je vous invite à consulter l’article suivant.

Motivations

Jusqu’à aujourd’hui, il est relativement compliqué et couteux de mettre en place le protocole sécurisé HTTPS. Par exemple, avec mon hébergeur (OVH), qui sur ce point est bon marché, il m’en couterait 50€ par an soit l’équivalent de 2 ans d’hébergement!

Une des importantes motivations, sont les révélations d’Edward Snowden qui, comme vous le savez probablement, a mis en lumière des faits d’espionnages à échelle mondiale des services secrets américains. Même si aucune information ne filtre (pour le moment) à ce sujet, il est raisonnable de penser que l’ensemble des pays développés a recours à ces pratiques. Le chiffrement des connexions est un bon moyen de limiter les impacts de cet espionnage.

De plus, sous l’impulsion de ce projet et des scandales d’espionnages, de grands moteurs de recherche (google pour ne citer que lui) privilégient aujourd’hui les contenus sécurisés dans les résultats de recherches. Cela rend de plus en plus important le HTTPS pour les sites qui vivent sur leurs référencements dans les moteurs de recherche.

La solution Let’s Encrypt

Il s’agit d’une nouvelle autorité de certification, elle a pour vocation de fournir rapidement et gratuitement des certificats reconnus par l’ensemble des navigateurs du marché. Le projet a pour but de participer à la normalisation du web sécurisé. Ce projet de la Linux fondation,  est mis en place et soutenu par des acteurs crédibles comme la Fondation Mozilla, l’EFF ou Cisco.

Icone lets encrypt
Let’s Encrypt

C’est dans le cadre décrit précédemment que Let’s Encrypt va, d’après moi, combler un gros vide. Aujourd’hui, il faut dépenser de quelques dizaines euros à plusieurs milliers et passer plusieurs heures pour mettre en place un certificat qui permet de sécuriser les connexions. Demain, grâce à Let’s Encrypt cela sera totalement gratuit et ne prendra pas plus de 5 minutes.

L’ensemble de la procédure est automatisée, de la vérification de l’auteur de la demande, à la génération et au déploiement du certificat. Cette procédure vérifie, par exemple, que le nom de domaine existe bien et, que vous en êtes bien le propriétaire.

Let’s Encrypt va également corriger un problème existant de l’achat d’un certificat. L’autorité de certification qui fournit le certificat, peut ne pas être considérée comme fiable par l’ensemble des navigateurs du marché. Celle-ci peut également être rejetée à l’avenir.  A l’instar de Symantec dont les certificats ne sont plus reconnus comme sûr par Google Chrome (source).

Or, ce dernier devrait être compatible avec tous les navigateurs et, à la vue des acteurs engagés, je suis rassuré pour la fiabilité des certificats à long terme.

Utiliser Let’s Encrypt c’est simple!

Limitations

Au moment de la rédaction de cet article, le projet se limite aux distributions linux debian et autres distributions basées sur débian (Ubuntu, Linux Mint …). Il est déjà prévu que l’utilisation de Let’s Encrypt soit possible sur l’ensemble des plateformes Linux.

De plus, il existe des modules facilitant l’intégration avec certains types de serveur, par exemple :

  • apache
  • nginx (très expérimental, selon la documentation)

Il existe d’autres possibilités que vous pourrez retrouver ici. Mais cette liste n’est pas pour le moment exhaustive.

Dernier point important c’est pour le moment une Beta, le fonctionnement n’est donc pas garanti et des bugs peuvent, en théorie, survenir. Cependant, je tiens à nuancer ce point car, l’hébergeur  PlanetHoster utilise déjà Let’s Encrypt pour fournir des certificats gratuitement à ces clients. Cette société estime donc que ce dernier est prêt à l’utilisation pour la production.

Installation depuis les sources

Let’s Encrypt doit être installé et utilisé sur le serveur frontal qui nécessite le certificat. L’installation à partir des sources nécessite l’installation de git:

sudo apt-get install git
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --help

Utilisation de Let’s Encrypt

L’utilisation générique est la suivante:

./letsencrypt-auto --

plugin-d domain1.fr -d domain2.fr

 -d .......

Avec plugin, le nom du plugin à utiliser.

Avec -d domain1.fr -d domain2.fr, la liste des domaines que vous souhaitez sécuriser sur votre machine courante.

Quelques exemples de commandes:

./letsencrypt-auto --apache -d thing.com -d www.thing.com -d otherthing.net

Cette commande configurera le apache pour utiliser le certificat généré pour les domaines thing.com, www.thing.com et otherthing.net.

/letsencrypt-auto --nginx --email admin@thing.com -d thing.com -d www.thing.com -d otherthing.net

Cette commande configurera le nginx pour utiliser le certificat généré pour les domaines thing.com, www.thing.com et otherthing.net. Pour vous identifier comme possesseur des droits sur les domaines, vous vous identifiez grâce à l’email admin@thing.com.

Pour compléter la partie technique, je vous invite à regarder le blog de Vincent Composieux qui explique comment il a mis en place le HTTPS sur son site grâce à Let’s Encrypt, tout ça en français.

Pour conclure, j’attend personnellement énormement de cette nouvelle autorité de certification qui va permettre une grande avancée dans la sécurité des données sur internet. Et j’espère que l’ensemble des acteurs du secteur de l’hébergement proposerons rapidement des solutions pour intégrer les certificats générés par Let’s Encrypt.

Merci Amaury et Mathieu pour vos relectures !

Sources:


Partager l'article :

Facebooktwittergoogle_plusredditlinkedinmail
 

2 commentaires

  1. albert Répondre

    Sur 12 tutoriaux, il y a 12 manières différentes de faire...Let's encrypt, pas si simple que cela...ça me gave le SSL...

  2. Wodric Auteur de l’articleRépondre

    Albert, s'il y a 12 tutoriels différents c'est que Let's Encrypt permet plusieurs choses. Les tutoriels présentent généralement une manière de faire spécifique. Faire un tutoriel sur l'ensemble des fonctionnalités ou un ensemble représentatif est très gourmand en temps et en énergie.  

    Si ton cas n'est pas similaire, aux tutoriels, tu peux extrapoler les tutoriels existant ou même aller chercher dans la documentation. Et non la mise en place du SSL n'est pas triviale, mais Let's Encrypt participe à la simplifier!  

Vous aussi participez, laissez un commentaire