{"id":2529,"date":"2017-03-10T09:00:09","date_gmt":"2017-03-10T08:00:09","guid":{"rendered":"http:\/\/www.unicoda.com\/?p=2529"},"modified":"2017-03-01T17:35:48","modified_gmt":"2017-03-01T16:35:48","slug":"lets-encrypt-enfin","status":"publish","type":"post","link":"https:\/\/www.unicoda.com\/?p=2529","title":{"rendered":"Let&rsquo;s Encrypt. Enfin!"},"content":{"rendered":"<p>Cela fait pratiquement une \u00e9ternit\u00e9 dans le monde de l&rsquo;informatique que l&rsquo;initiative <a href=\"https:\/\/letsencrypt.org\/\" target=\"_blank\">Let&rsquo;s Encrypt<\/a> a \u00e9t\u00e9 lanc\u00e9. Je dois dire que si l&rsquo;id\u00e9e me plaisait beaucoup, au moment o\u00f9 les premi\u00e8res annonces avaient \u00e9t\u00e9 faites, j&rsquo;ai longtemps r\u00e9pugn\u00e9 \u00e0 m&rsquo;y mettre. Jusqu&rsquo;\u00e0 pr\u00e9sent, j&rsquo;utilisais StartSSL pour \u00e9tablir mes diff\u00e9rents certificats. Avec quelques limitations bien s\u00fbr, un certificat par sous-domaine, g\u00e9n\u00e9ration d&rsquo;une demande de certificat sur le serveur, transfert des infos vers StartSSL, r\u00e9cup\u00e9ration du certificat, transfert des fichiers sur le serveur et red\u00e9marrage d&rsquo;Apache. De nombreuses op\u00e9rations manuelles donc, mais une fois la proc\u00e9dure en place, c&rsquo;est relativement rapide et les certificats ainsi g\u00e9n\u00e9r\u00e9s sont valables un an. Pas de n\u00e9cessit\u00e9 donc de mettre en place des certificats Let&rsquo;s Encrypt, m\u00eame si j&rsquo;ai suivi les exp\u00e9rimentations des uns et des autres avec int\u00e9r\u00eat, et gard\u00e9 en marque-page certains articles sur le sujet.<\/p>\n<p>Tout allait bien dans le meilleur des mondes, jusqu&rsquo;\u00e0 la sortie de Firefox 51. En effet, \u00e0 partir de cette version, Firefox (et Chrome aussi) arr\u00eate de faire confiance aux certificats sign\u00e9s par StartSSL apr\u00e8s la date du 21 octobre 2016. Il se trouve, que deux de mes sous-domaines \u00e9taient concern\u00e9s. Je me suis donc (re)plong\u00e9 dans la documentation de certbot, pour d\u00e9couvrir l&rsquo;outil et effectuer mes premiers tests.<\/p>\n<p>L&rsquo;ensemble a plut\u00f4t bien \u00e9volu\u00e9 par rapport \u00e0 ce dont je me souvenais. Apr\u00e8s plusieurs relectures et quelques tests, j&rsquo;ai abouti \u00e0 une proc\u00e9dure qui me convient. J&rsquo;effectue donc la premi\u00e8re demande de certificat manuellement, en conservant pour le moment l&rsquo;isolation des sous-domaines qui m&rsquo;avait \u00e9t\u00e9 impos\u00e9es par StartSSL. Je conserve ainsi une certaine libert\u00e9 si je d\u00e9cide de migrer un service d&rsquo;un serveur vers un autre. Je suis \u00e9galement arriv\u00e9 \u00e0 la configuration commune suivante, que je d\u00e9ploie \u00e0 l&#8217;emplacement attendu par certbot, \u00e0 savoir <code>\/etc\/letsencrypt\/cli.ini<\/code> :<\/p>\n<pre># Certbot Config\r\n\r\n# Use a 4096 bit RSA key instead of 2048\r\nrsa-key-size = 4096\r\n\r\n# Register with the specified e-mail address\r\nemail = &lt;e-mail&gt;\r\n\r\n# Use the standalone authenticator on port 80\r\nauthenticator = standalone\r\npreferred-challenges = http-01<\/pre>\n<p>De cette mani\u00e8re, la demande d&rsquo;un nouveau certificat pour un domaine reste concise, il n&rsquo;est plus n\u00e9cessaire de renseigner tous les param\u00e8tres du fichier de configuration et on obtient donc par exemple :<\/p>\n<pre>certbot-auto certonly -d www.unicoda.com<\/pre>\n<p>Une fois le certificat g\u00e9n\u00e9r\u00e9, les lignes suivantes sont n\u00e9cessaires du c\u00f4t\u00e9 d&rsquo;Apache :<\/p>\n<pre>SSLCertificateFile \/etc\/letsencrypt\/live\/&lt;domaine&gt;\/cert.pem\r\nSSLCertificateKeyFile \/etc\/letsencrypt\/live\/&lt;domaine&gt;\/privkey.pem\r\nSSLCertificateChainFile \/etc\/letsencrypt\/live\/&lt;domaine&gt;\/chain.pem<\/pre>\n<p>Red\u00e9marrage d&rsquo;Apache que l&rsquo;on avait arr\u00eat\u00e9 le temps d&rsquo;effectuer la proc\u00e9dure de demande de certificat et \u00e7a y est le navigateur affiche un fabuleux \u00ab\u00a0V\u00e9rifi\u00e9 par : Let&rsquo;s Encrypt\u00a0\u00bb.<\/p>\n<p>Du c\u00f4t\u00e9 du renouvellement, je vais passer par la crontab pour qu&rsquo;une v\u00e9rification quotidienne des certificats soit effectu\u00e9es. Le programme certbot s&rsquo;occupant d&rsquo;arr\u00eater puis de red\u00e9marrer Apache :<\/p>\n<pre>certbot-auto renew --quiet --pre-hook \"service apache2 stop\" --post-hook \"service apache2 start\"<\/pre>\n<p>En th\u00e9orie, le renouvellement automatique est donc en place, et le moment venu, les anciens certificats devraient \u00eatre remplac\u00e9s par des nouveaux sans que cela ne bouleverse (trop) le fonctionnement du site. Comme nous ne sommes jamais \u00e0 l&rsquo;abri d&rsquo;une erreur de configuration malgr\u00e9 les nombreuses v\u00e9rifications effectu\u00e9es, et que je ne pourrais en \u00eatre s\u00fbr qu&rsquo;une fois les nouveaux certificats en place, je vous donne rendez-vous aux alentours du 26 mai 2017, date d&rsquo;expiration du premier certificat Let&rsquo;s Encrypt pour www.unicoda.com. Normalement, l&rsquo;op\u00e9ration devrait \u00eatre transparente pour tous, et je me r\u00e9veillerais donc un matin (beau de pr\u00e9f\u00e9rence) avec un certificat tout neuf, sans avoir rien eu \u00e0 faire.<\/p>\n<p>Il ne reste plus qu&rsquo;\u00e0 patienter.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cela fait pratiquement une \u00e9ternit\u00e9 dans le monde de l&rsquo;informatique que l&rsquo;initiative Let&rsquo;s Encrypt a \u00e9t\u00e9 lanc\u00e9. Je dois dire que si l&rsquo;id\u00e9e me plaisait beaucoup, au moment o\u00f9 les premi\u00e8res annonces avaient \u00e9t\u00e9 faites, j&rsquo;ai longtemps r\u00e9pugn\u00e9 \u00e0 m&rsquo;y mettre. Jusqu&rsquo;\u00e0 pr\u00e9sent, j&rsquo;utilisais StartSSL pour \u00e9tablir mes diff\u00e9rents certificats. Avec quelques limitations bien s\u00fbr, &hellip; <a href=\"https:\/\/www.unicoda.com\/?p=2529\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Let&rsquo;s Encrypt. Enfin!&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,126],"tags":[314,313,315],"class_list":["post-2529","post","type-post","status-publish","format-standard","hentry","category-installation","category-logiciellibre","tag-certificats","tag-lets-encrypt","tag-ssl"],"_links":{"self":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/2529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2529"}],"version-history":[{"count":6,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/2529\/revisions"}],"predecessor-version":[{"id":2538,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/2529\/revisions\/2538"}],"wp:attachment":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}