Another Home Page Blog - letsencrypthttps://blog.anotherhomepage.org/2017-01-16T09:30:00+01:00dehydrated, un client alternatif pour Let's Encrypt2017-01-16T09:30:00+01:002017-01-16T09:30:00+01:00Nils Ratuszniktag:blog.anotherhomepage.org,2017-01-16:/post/2017/01/16/dehydrated,-un-client-alternatif-pour-Let-s-Encrypt/<p>Après quelques galères avec <a href="https://github.com/certbot/certbot" title=""Certbot,">Certbot</a>, j'ai découvert <a href="https://github.com/lukas2511/dehydrated" title=""dehydrated,">dehydrated</a>, un client pour Let's Encrypt écrit en Bash.</p>
<p>Depuis plusieurs semaines, voire mois, le client officiel de l'autorité de certification Let's Encrypt, Certbot, ne fonctionne plus sous NetBSD. Cela semble venir du fait que Python, dont dépend Certbot, est compilé avec PaX …</p><p>Après quelques galères avec <a href="https://github.com/certbot/certbot" title=""Certbot,">Certbot</a>, j'ai découvert <a href="https://github.com/lukas2511/dehydrated" title=""dehydrated,">dehydrated</a>, un client pour Let's Encrypt écrit en Bash.</p>
<p>Depuis plusieurs semaines, voire mois, le client officiel de l'autorité de certification Let's Encrypt, Certbot, ne fonctionne plus sous NetBSD. Cela semble venir du fait que Python, dont dépend Certbot, est compilé avec PaX MPROTECT. C'est tout du moins ce qu'indique <a href="https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=51490" title=""NetBSD">ce rapport de bug</a>.</p>
<p>N'ayant ni le temps ni les compétences pour voir ce qui bloque exactement du côté de Certbot, j'ai fait ce que pas mal d'autres ont fait : j'ai recherché une alternative. La première alternative qui a attiré mon attention est <a href="https://kristaps.bsd.lv/acme-client/" title="acme-client">acme-client</a>, en version <a href="https://github.com/kristapsdz/acme-client-portable" title=""portable">portable</a>, d'ailleurs disponible au moment où j'écris ces lignes dans pkgsrc-wip. Mais en fait celui-ci ne semble pas fonctionner sous NetBSD, me hurlant des histoires de droits et de suid bizarres.</p>
<p>J'ai ensuite jeté mon dévolu sur dehydrated, un client écrit en Bash. Celui-ci a l'avantage non-négligeable de fonctionner, contrairement au précédent. Je me suis donc lancé dans son empaquetage (wip/dehydrated au moment où j'écris ces lignes, mais j'espère l'importer dans pkgrsc-current dès que possible). Dehydrated est assez pratique à utiliser, il nécessite des dépendances assez classiques pour un script shell (sed, awk, curl), en plus d'OpenSSL. Bien qu'il dispose de fichiers de configuration, de nombreuses options peuvent être spécifiées sur la ligne de commandes. Dehydrated prévoit aussi des scripts "hook" pour pouvoir déclencher d'autres actions avant et après le renouvellement d'un certificat par exemple.</p>
<p>Le paquet est globalement fonctionnel sous NetBSD, le seul prérequis avant de se lancer dans l'édition des fichiers de configuration est d'avoir une configuration OpenSSL existante (ce qui se fait rapidement, en copiant simplement le fichier d'exemple fourni dans <em>/usr/share/examples/openssl/</em>), et de savoir dans quel répertoire le challenge ACME sera déposé. J'espère d'ici là avoir amélioré la prise en compte d'OpenSSL d'ailleurs (utilisation de celui de pkgsrc par exemple). Idéalement, ce serait assez cool que dehydrated puisse utiliser <a href="https://www.libressl.org/" title="LibreSSL">LibreSSL</a>.</p>
<p>Il existe d'autres clients alternatifs que je n'ai pas essayés, comme <a href="https://github.com/srvrco/getssl" title=""obtain">getssl</a>, mais lequel est votre préféré et pourquoi ? Le formulaire de commentaire n'attend que votre réponse !</p>Vous naviguez toujours sur un site HTTPS2016-12-29T09:30:00+01:002016-12-29T09:30:00+01:00Nils Ratuszniktag:blog.anotherhomepage.org,2016-12-29:/post/2016/12/29/Vous-naviguez-toujours-sur-un-site-HTTPS/<p>Bon d'accord, je suis over-méga-à la bourre sur celui-ci : en gros il y a quelques mois, après avoir <a href="/post/2016/02/10/Vous-naviguez-sur-un-site-HTTPS">passé ce blog en HTTPS</a>, je me suis rendu compte que certains couples OS/navigateurs ne fonctionnaient plus, par exemple certaines version d'Internet Explorer sous Windows 7. J'imagine que cela ne doit …</p><p>Bon d'accord, je suis over-méga-à la bourre sur celui-ci : en gros il y a quelques mois, après avoir <a href="/post/2016/02/10/Vous-naviguez-sur-un-site-HTTPS">passé ce blog en HTTPS</a>, je me suis rendu compte que certains couples OS/navigateurs ne fonctionnaient plus, par exemple certaines version d'Internet Explorer sous Windows 7. J'imagine que cela ne doit pas être beaucoup en terme de proportion, mais je me suis quand même dit que c'était vachement dommage. Je suis donc retourné voir <a href="https://mozilla.github.io/server-side-tls/ssl-config-generator/" title=""Mozilla">générateur de configuration SSL proposé par Mozilla</a>, et j'ai sélectionné un choix "intermédiaire".</p>
<p>Première conséquence : une augmentation des clients compatibles, ça tombe bien, c'est le but ! Maintenant, pour profiter de ce blog, il suffit de disposer d'au minimum Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3 ou bien Java 7.</p>
<p>Deuxième conséquence : une baisse de la \^W \^W \^W \^W et bien non, même pas ! J'ai toujours une note de A+ au test <a href="https://www.ssllabs.com/ssltest/" title=""SSL">SSL Labs</a> ! Dans ces conditions, pourquoi se priver ? :)</p>
<h2>Commentaires</h2>
<h3>Le 02/01/2017 15:29 par Harvester</h3>
<p>Pense à activer l'OCSP Stapling sur ton Apache également, et à demander un certificat Let's Encrypt avec l'option "--must-staple" :)</p>
<h3>Le 02/01/2017 15:37 par Blue</h3>
<p>« je me suis rendu compte que certains couples OS/navigateurs ne fonctionnaient
plus, par exemple certaines version d'Internet Explorer sous Windows 7 »</p>
<p>Il y en a qui cherche aussi :-)</p>
<h3>Le 02/01/2017 15:52 par <a href="https://imirhil.fr/">aeris</a></h3>
<p>Oui mais non. https://tls.imirhil.fr/https/blog.anotherhomepage.org
Pour supporter les vieux navigateurs, tu dois activer 3DES qui est aujourd’hui complètement pété http://www.zdnet.fr/actualites/sweet32-les-vieux-algos-se-cachent-pour-mourir-39841068.htm
Ainsi que des suites non PFS, qui feraient qu’un heartbleed bis te ferait tout aussi mal.</p>
<p>La <strong>SEULE</strong> config viable/fiable aujourd’hui est ECHDE+AES (avec CHACHA20 si
tu le supportes), DHE montrant trop de signe de faiblesse et étant massivement
plus lent que ECHDE.</p>
<p>Cf https://blog.imirhil.fr/2015/09/02/cryptcheck-verifiez-implementations-tls.html pour plus de détails sur les choix à opérer.</p>
<h3>Le 04/01/2017 17:15 par Nils</h3>
<p>Ouah ! Tout d'abord, merci à vous trois pour vos commentaires, j'avoue que je
n'étais même pas certain que des gens lisaient encore mes billets !</p>
<p>@Harvester : c'est fait, et le certificat a été regénéré via l'option adéquate, suivie d'une vérification SSL labs + openssl !</p>
<p>@Blue : plus sérieusement, l'intérêt d'un blog, c'est parfois d'être lu. Il arrive que des gens utilisent l'OS et le navigateur imposé par leur employeur, et que pour ceux qui utilisent Windows, même la dernière version d'Internet Explorer pour Windows 7 était incapable de se connecter ici.</p>
<p>@aeris : le moins qu'on puisse dire c'est que tu as creusé le sujet en profondeur ! Concernant les vieux navigateurs, je crois qu'il faut d'abord définir desquels il s'agit. En ce qui me concerne, c'était le cas spécifique du dernier Internet Explorer pour Windows 7 qui m'avait fait modifier ma configuration, et ce n'est pas sensé être si vieux, puisque toujours maintenu par Microsoft. Je n'irai pas plus loin sur le sujet, tu l'as très bien abordé dans ton article en abordant le phénomène de dette technologique. A propos de ton outil de vérification des algorithmes de chiffrement, il est rudement bien fichu, bravo ! J'ai pu retirer sans problème les vieux algorithmes tout en vérifiant du côté de SSL Labs que les plateformes qui m'intéressent actuellement peuvent toujours accéder à ce blog. C'est d'ailleurs les 2 axes d'amélioration que je vois pour Cryptcheck : indiquer pour quel client/navigateur les algorithmes affichés sont les plus puissants, et peut-être proposer une explication de sa non-pertinence (par exemple, ajouter <a href="https://www.rc4nomore.com/">RC4 no more</a> sur les algorithmes basés sur RC4).</p>
<h3>Le 05/01/2017 10:37 par Blue</h3>
<p>@Nils : C'est vrai que certains n'ont pas le choix.</p>Vous naviguez sur un site web HTTPS2016-02-10T12:30:00+01:002016-02-10T12:30:00+01:00Nils Ratuszniktag:blog.anotherhomepage.org,2016-02-10:/post/2016/02/10/Vous-naviguez-sur-un-site-HTTPS/<p>Depuis hier, ce blog est dorénavant accessible uniquement en HTTPS. Pour l'exercice, j'ai fait en sorte que celui-ci dispose d'une note A+ au test <a href="https://www.ssllabs.com/ssltest/" title=""SSL">SSL Labs</a> de chez Qualys, en me basant sur une configuration proposée par le <a href="https://mozilla.github.io/server-side-tls/ssl-config-generator/" title=""Mozilla">générateur de configuration SSL proposé par Mozilla</a>. J'ai choisi une configuration "moderne …</p><p>Depuis hier, ce blog est dorénavant accessible uniquement en HTTPS. Pour l'exercice, j'ai fait en sorte que celui-ci dispose d'une note A+ au test <a href="https://www.ssllabs.com/ssltest/" title=""SSL">SSL Labs</a> de chez Qualys, en me basant sur une configuration proposée par le <a href="https://mozilla.github.io/server-side-tls/ssl-config-generator/" title=""Mozilla">générateur de configuration SSL proposé par Mozilla</a>. J'ai choisi une configuration "moderne". Côté certificat, j'ai choisi d'utiliser Let's Encrypt.</p>
<p>On peut très vite noter quelques impacts :</p>
<ul>
<li>d'abord, la liste des plus vieux clients compatibles : Firefox 27, Chrome 22, IE 11, Opera 14, Safari 7, Android 4.4, Java 8 ;</li>
<li>ensuite, une légère augmentation du temps de chargement du site, qui peut s'avérer plus que significative lors d'une redirection HTTP vers HTTPS.</li>
</ul>
<p>Concernant les clients compatibles, je ne m'en fais pas trop, ce blog n'est pas très visité, et je doute que beaucoup de personnes visitent ce site avec Internet Explorer. Je suis un peu plus embêté pour Android, du fait d'une fragmentation assez importante. Du côté du temps de chargement, de nouvelles mesures réalisées un peu plus tard sont encourageantes, j'imagine donc que les divers caches possibles feront toujours leur travail et que la navigation sera confortable.</p>