{"id":98,"date":"2016-03-06T17:21:00","date_gmt":"2016-03-06T16:21:00","guid":{"rendered":"https:\/\/phperformances.fr\/?p=98"},"modified":"2016-10-16T14:25:05","modified_gmt":"2016-10-16T12:25:05","slug":"lets-encrypt-https-pour-tous","status":"publish","type":"post","link":"https:\/\/phperformances.fr\/lets-encrypt-https-pour-tous\/","title":{"rendered":"Let&rsquo;s Encrypt &#8211; HTTPS pour tous"},"content":{"rendered":"<p>Aujourd&rsquo;hui nous parlons de plus en plus du HTTPS que ce soit pour les recommendations de Google en mati\u00e8re de SEO mais surtout pour la s\u00e9curit\u00e9 des \u00e9changes des donn\u00e9es avec les utilisateurs et les autres plateformes. Jusqu&rsquo;\u00e0 aujourd&rsquo;hui les certificats sign\u00e9s\u00a0\u00e9tait principalement payant et peuvent atteindre des sommes astronomiques en fonction des assurances ou du modele (wildcard, etc.).<\/p>\n<h2 id=\"un-projet-open-source\">Un projet open-source<\/h2>\n<p>Let&rsquo;s encrypt est un projet Open Source faisant partie des projets <a href=\"http:\/\/collabprojects.linuxfoundation.org\/\">Linux Foundation<\/a>. Ce projet consiste \u00e0 proposer une nouvelle autorit\u00e9 de certificat SSL\/TLS gratuite et automatique.<\/p>\n<p>Cet outil a pour vocation de rendre accessible a tous des <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Transport_Layer_Security\" target=\"_blank\">certificats SSL\/TLS<\/a>\u00a0sign\u00e9s et permettre \u00e0 un simple bloggeur (par exemple) de proposer une plateforme fournissant un niveau de s\u00e9curit\u00e9 et de confidentialit\u00e9 correct pour ses internautes, gratuitement.<\/p>\n<p>Ce projet aujourd&rsquo;hui en beta publique mais d\u00e9j\u00e0\u00a0mis en place sur de nombreux sites (dont celui ci !). Il est \u00e9galement support\u00e9 par un grand nombre de sponsors tels que Mozilla, Facebook, Automattic, Chrome, IdenTrust&#8230; Cette liste est bien entendu <a href=\"https:\/\/letsencrypt.org\/sponsors\/\" target=\"_blank\">non exhaustive<\/a>.<\/p>\n<h2 id=\"le-client\">Le client<\/h2>\n<p>Let&rsquo;s Encrypt met a disposition un <a href=\"https:\/\/github.com\/letsencrypt\/letsencrypt\" target=\"_blank\">client<\/a>\u00a0d\u00e9velopp\u00e9 en python permettant d&rsquo;ajouter un certificat de mani\u00e8re automatique a l&rsquo;aide de quelques commandes simples. Ce client permet de r\u00e9cup\u00e9rer des certificats, mais aussi simplifie le renouvellement et la revocation de certificats.<\/p>\n<h3 id=\"installation\">Installation<\/h3>\n<p>L&rsquo;installation du client se fait directement depuis git.<\/p>\n<pre><code>git clone https:\/\/github.com\/letsencrypt\/letsencrypt\r\ncd letsencrypt<\/code><\/pre>\n<p>Une fois t\u00e9l\u00e9charg\u00e9, l&rsquo;installation est lanc\u00e9e a l&rsquo;aide de la commande suivante :<\/p>\n<pre><code>.\/letsencrypt-auto<\/code><\/pre>\n<p>L&rsquo;installation d&rsquo;un certificat peut se faire de plusieurs fa\u00e7on (automatique ou manuelle), car des plugins sont disponibles permettant d&rsquo;automatiser et de \u00ab\u00a0gagner du temps\u00a0\u00bb dans la mise en place du certificat.<\/p>\n<h4 id=\"apache\">Apache<\/h4>\n<p>Le plugin apache permet de cr\u00e9er un vhost SSL\u00a0depuis un vhost existant a l&rsquo;aide l&rsquo;option\u00a0<code>--apache<\/code>. La commande suivante permet de mettre en place le certificat ssl sur votre site <code>.\/letsencrypt-auto --apache -d votre-domaine.com<\/code><\/p>\n<p>Le client va r\u00e9cup\u00e9rer le certificat relatif au nom de domaine et demande le type d&rsquo;acc\u00e8s d\u00e9sir\u00e9 (HTTPS seul ou HTTP\/HTTPS)<br \/>\n<img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-102\" src=\"https:\/\/phperformances.fr\/content\/uploads\/2016\/03\/letsencrypt-step1.png\" alt=\"letsencrypt-step1\" width=\"912\" height=\"443\" srcset=\"https:\/\/phperformances.fr\/content\/uploads\/2016\/03\/letsencrypt-step1.png 912w, https:\/\/phperformances.fr\/content\/uploads\/2016\/03\/letsencrypt-step1-300x146.png 300w, https:\/\/phperformances.fr\/content\/uploads\/2016\/03\/letsencrypt-step1-768x373.png 768w\" sizes=\"(max-width: 912px) 100vw, 912px\" \/><\/p>\n<h3 id=\"configuration\">Configuration<\/h3>\n<p>Let&rsquo;s encrypt propose une configuration SSL basique import\u00e9e par d\u00e9faut dans la configuration du vhost. Il est fortement recommand\u00e9 de customiser votre configuration en fonction de votre site (Compatibilit\u00e9 navigateur \/ S\u00e9curit\u00e9). Pour cela un <a href=\"https:\/\/mozilla.github.io\/server-side-tls\/ssl-config-generator\/\" target=\"_blank\">outil de configuration SSL est mis a disposition par mozilla<\/a> dans le but de simplifier la configuration pour les non-experts.<\/p>\n<h3 id=\"tester-la-configuration\">Tester la configuration<\/h3>\n<p>Apr\u00e8s la mise en place d&rsquo;un certificat sur votre site, l&rsquo;outil\u00a0vous sugg\u00e8re de tester votre configuration SSL.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-103\" src=\"https:\/\/phperformances.fr\/content\/uploads\/2016\/03\/letsencrypt-step2.png\" alt=\"letsencrypt-step2\" width=\"912\" height=\"443\" srcset=\"https:\/\/phperformances.fr\/content\/uploads\/2016\/03\/letsencrypt-step2.png 912w, https:\/\/phperformances.fr\/content\/uploads\/2016\/03\/letsencrypt-step2-300x146.png 300w, https:\/\/phperformances.fr\/content\/uploads\/2016\/03\/letsencrypt-step2-768x373.png 768w\" sizes=\"(max-width: 912px) 100vw, 912px\" \/><\/p>\n<p>Pour tester la configuration SSL\/TLS sur le serveur, le site <a href=\"https:\/\/www.ssllabs.com\/ssltest\/analyze.html\" target=\"_blank\">SSLLabs<\/a>\u00a0scanne votre domaine, met en avant les probl\u00e8mes et donne une note globale a votre configuration.<\/p>\n<p>Cet outil est plut\u00f4t 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&rsquo;encre.<\/p>\n<h2 id=\"renouvellement-des-certificats\">Renouvellement des certificats<\/h2>\n<p>Let&rsquo;s Encrypt propose des certificats ayant une validit\u00e9 de 90 Jours, lors de la mise en place d&rsquo;un certificat, l&#8217;email renseign\u00e9 permet d&rsquo;\u00eatre notifi\u00e9 lorsque la validit\u00e9 du certificat est sur le point d&rsquo;expirer.<\/p>\n<p>Le renouvellement ne se fait aujourd&rsquo;hui pas encore de mani\u00e8re automatique nativement (ce qui devrait arriver bient\u00f4t), mais simplement avec la commande <code>letsencrypt-auto<\/code>\u00a0qui peut \u00eatre ajout\u00e9e dans un cron avec l&rsquo;option <code>--renew-by-default<\/code>.<\/p>\n<p>La documentation recommande de param\u00e8trer le cron tous les mois pour avoir l&rsquo;esprit tranquille \ud83d\ude42<\/p>\n<h2 id=\"pour-conclure\">Pour conclure<\/h2>\n<p>Depuis plusieurs mois j&rsquo;ai mis en place let&rsquo;s encrypt sur diff\u00e9rents sites et applications internes. Ces certificats sign\u00e9s gratuits sont tr\u00e8s pratiques pour les outils internes tels que jenkins pour avoir un chiffrements des donn\u00e9es qui transitent.\u00a0Cependant la limite des certificats reste\u00a0la compatibilit\u00e9 sur les vieux navigateurs (sur windows xp seul Firefox est compatible avec l&rsquo;algo).<\/p>\n<p>N&rsquo;h\u00e9sitez pas a faire vos retours sur cet outil si vous avez eu l&rsquo;occasion de l&rsquo;utiliser.<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p><strong>Ressources :<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/eu.ovh.com\/fr\/news\/cp2056.ovh_sengage_aupres_de_lets_encrypt_pour_la_fourniture_gratuite_de_certificats_ssl\" target=\"_blank\">OVH s&rsquo;engage aupr\u00e8s de Let&rsquo;s Encrypt<\/a><\/li>\n<li><a href=\"https:\/\/wiki.mozilla.org\/Security\/Server_Side_TLS\" target=\"_blank\">Security\/Server Side TLS<\/a><\/li>\n<li><a href=\"https:\/\/letsencrypt.readthedocs.org\/en\/latest\/intro.html\" target=\"_blank\">Documentation Let&rsquo;s Encrypt<\/a><\/li>\n<li><a href=\"https:\/\/tacticalsecret.com\/early-impacts-of-letsencrypt\/\" target=\"_blank\">Les impacts de Let&rsquo;s Encrypt<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Avec l&rsquo;arriv\u00e9e de HTTP\/2, les pr\u00e9conisations de Google mais surtout pour la s\u00e9curit\u00e9 des informations de nos internautes, le HTTPS va devenir progressivement obligatoire pour les sites internet en tout genre. <\/p>\n<p>La bonne nouvelle dans tout \u00e7a, c&rsquo;est qu&rsquo;un super projet open source appel\u00e9 Let&rsquo;s Encrypt est n\u00e9 et propose des certificats SSL\/TLS (Secure Sockets Layer\/Transport Layer Security) gratuits. <\/p>\n","protected":false},"author":1,"featured_media":99,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"_links":{"self":[{"href":"https:\/\/phperformances.fr\/wp-json\/wp\/v2\/posts\/98"}],"collection":[{"href":"https:\/\/phperformances.fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phperformances.fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phperformances.fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phperformances.fr\/wp-json\/wp\/v2\/comments?post=98"}],"version-history":[{"count":1,"href":"https:\/\/phperformances.fr\/wp-json\/wp\/v2\/posts\/98\/revisions"}],"predecessor-version":[{"id":112,"href":"https:\/\/phperformances.fr\/wp-json\/wp\/v2\/posts\/98\/revisions\/112"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/phperformances.fr\/wp-json\/wp\/v2\/media\/99"}],"wp:attachment":[{"href":"https:\/\/phperformances.fr\/wp-json\/wp\/v2\/media?parent=98"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phperformances.fr\/wp-json\/wp\/v2\/categories?post=98"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phperformances.fr\/wp-json\/wp\/v2\/tags?post=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}