Pourquoi 3 millions de certificats Let’s Encrypt sont tués de …

Let's Encrypt a fait le tour de l'actualité ces dernières années – l'actualité de la cybersécurité en tout cas – pour la raison louable qu'elle vient de délivrer son 1 000 000 000e certificat TLS.

Les certificats TLS sont la sauce cryptographique qui place le S en HTTPS et le cadenas dans la barre d'adresse de votre navigateur.

Le cadenas ne garantit pas le contenu réel du site Web que vous visitez, bien sûr – il ne prouve pas que le contenu qu'il présente est correct, ou que ses téléchargements sont exempts de logiciels malveillants – mais il offre néanmoins plusieurs avantages que vous ne faites pas '' t obtenir avec une connexion non cryptée, sans cadenas:

  • Le trafic entre vous et le site Web est crypté. Cela rend difficile pour d'autres personnes sur Internet de flairer et de fouiner exactement le contenu que vous regardez. Même si ce que vous lisez n'est pas personnel ou privé, les escrocs peuvent en apprendre beaucoup sur vous en gardant un œil sur ce qui vous intéresse.
  • Le trafic entre vous et le site Web est protégé contre l'intégrité. Cela rend difficile pour d'autres personnes de falsifier le contenu sur le chemin du retour vers vous – s'ils essaient de se faufiler dans un fichier téléchargé après qu'il quitte le site et avant qu'il ne vous atteigne, les données modifiées seront rejetées.
  • Le cadenas prouve que la personne qui a acquis le certificat a vraiment accès au site Web que vous visitez. Cela peut sembler être une garantie faible – cela ne prouve pas qu'ils possèdent réellement le site Web et ne les identifie pas en cas de litige futur – mais il est plus difficile pour les escrocs aléatoires d'obtenir des certificats avec le nom de votre site Web dans leur.
  • Dans cet esprit, vous vous demandez peut-être pourquoi nous avons du HTTP (trafic Web non chiffré).

    De la même manière que les portes des trains modernes se verrouillent automatiquement lorsque vous quittez la gare, vous ne pouvez donc pas les ouvrir par erreur à 225 km / h, pourquoi ne pas simplement «définir» le World Wide Web à chiffrer uniquement et à faire avec ça?

    Pourquoi ne pas forcer HTTPS?

    Dans le passé, il y avait deux raisons principales: les certificats TLS étaient compliqués et longs à acquérir et à utiliser; et ils coûtent de l'argent que des sites tels que les organismes de bienfaisance, les amateurs et les petites entreprises ne voulaient pas payer, d'autant plus que les certificats doivent être renouvelés régulièrement.

    Let's Encrypt a changé cela non seulement en offrant des certificats gratuitement, mais aussi en automatisant et donc en simplifiant considérablement le processus d'acquisition et de renouvellement.

    à lire :  Devenir coach sportif à domicile à domicile | Créer son entreprise

    (Let’s Encrypt n’était pas le premier projet à proposer des certificats gratuits, mais il a été de loin le plus efficace pour rendre ses certificats gratuits largement acceptés et faciles à utiliser.)

    Comme vous pouvez l'imaginer, l'automatisation du processus d'émission de certificats est un peu une arme à double tranchant.

    Une faille dans le protocole d'émission ou un bogue dans le logiciel qui implémente le protocole pourrait avoir de graves effets secondaires.

    Malheureusement, quelque chose dans ce sens – un bogue dans le système de validation automatique de Let's Encrypt – vient d'être découvert…

    … Avec pour résultat que Let's Encrypt révoquera brusquement (aujourd'hui, en fait!) Plus de 3 000 000 de certificats Web qui étaient encore censés être valables pendant des semaines ou des mois de plus.

    À première vue, 3 000 000 sur des centaines de millions de certificats actuellement actifs (Let’s Encrypt prétend sécuriser 190 millions de sites Web) ne sonnent pas comme une proportion énorme.

    Mais les entreprises avec des certificats affectés doivent les renouveler dès maintenant, au lieu d'attendre que leur serveur les renouvelle automatiquement.

    En effet, si vous continuez à utiliser un certificat révoqué, les visiteurs de votre site Web verront des avertissements de sécurité et pourraient en fin de compte les empêcher de faire affaire avec vous en ligne.

    Qu'est-il arrivé?

    Un très petit bogue – minuscule en taille de code, sans impact – semble avoir causé le problème.

    Les certificats Encrypt sont valides pendant 90 jours et renouvelés automatiquement pour la plupart des utilisateurs lorsqu'il reste 30 jours ou moins sur leurs certificats actuels.

    De nombreux utilisateurs de Let’s Encrypt disposent de plusieurs certificats couvrant plusieurs sites Web et domaines. Par exemple, vous souhaiterez peut-être un site distinct pour chacun: exemple de facturation DOT, exemple de communauté DOT et exemple de téléchargement DOT.

    Pour des raisons d'efficacité et de fiabilité, vous pouvez renouveler un lot entier de domaines en même temps, et c'est ce que la plupart des utilisateurs multi-certificats feront – ou, du moins, c'est ce que leur logiciel de renouvellement automatique fera pour eux.

    Désormais, par mesure de sécurité lors du renouvellement, en plus de toutes les autres vérifications effectuées, Let's Encrypt est tenu de rechercher ce que l'on appelle une CAA, ou autorisation de l'autorité de certification, pour chaque domaine que vous renouvelez.

    Une vérification CAA implique d'effectuer une recherche de base de données DNS (système de nom de domaine) sur le domaine concerné pour voir si le propriétaire du domaine – qui n'est peut-être pas la personne qui demande le certificat du site Web – a imposé des restrictions sur le renouvellement du certificat.

    Par exemple, le propriétaire du domaine pourrait ne pas utiliser Let's Encrypt lui-même, et pourrait donc publier une entrée DNS disant: «Acceptez uniquement XYZ Corporation pour émettre des certificats pour ce domaine», comme un moyen de rendre plus difficile pour les tiers non autorisés d'obtenir des certificats faux d'usurper l'identité de leur site.

    à lire :  100 idées d'affaires à faible investissement

    Il s'agit d'une simple précaution qui est censée rendre plus difficile pour les escrocs de prendre en charge votre identité en ligne – si vous insistez pour qu'ils s'en tiennent à une seule société émettrice de certificats, vous forcez les escrocs à suivre un chemin de renouvellement de certificat qui rend plus probable que vous le fassiez. les attraper à leur tromperie.

    En fait, les règles de signature des certificats stipulent qu'un émetteur doit vérifier l'enregistrement CAA d'un serveur pas plus de huit heures avant d'émettre un certificat – pour que les vérifications soient aussi à jour que possible.

    Et voici le bogue: lorsque Let's Encrypt est allé vérifier les enregistrements CAA pour une liste, disons, de 10 renouvellements de certificats, il n'a pas vérifié chaque domaine de la liste une fois.

    Au lieu de cela, il a choisi par inadvertance l'un des domaines, puis l'a vérifié de manière redondante 10 fois, laissant les neuf autres domaines non vérifiés.

    En pseudo-code, la vérification était censée fonctionner comme ceci:

    pour le nom dans {'one.example', 'two.example', 'three.example'} do
       check_caa_of (nom)
    fin
    // tous les domaines vérifiés à ce stade

    Mais cela a fini par fonctionner comme ceci:

    pour le nom dans {'one.example', 'two.example', 'three.example'} do
       oops = 'two.example' // la liste est "traversée" mais le nom n'est jamais mis à jour,
                             // donc un domaine est vérifié N fois
       check_caa_of (oops) // au lieu de N domaines vérifiés une fois chacun
    fin
    // deux domaines décochés ici

    En vérité, le nombre de domaines qui auraient été rejetés s'ils avaient été vérifiés correctement est presque certainement très faible, de sorte que le risque global que des escrocs utilisent ce bogue pour détourner des domaines à dessein est assez faible.

    Mais dans la vraie vie, les règles du jeu disent que les organisations émettrices de certificats – appelées autorités de certification, abréviation des autorités de certification – ne peuvent pas faire ce genre d'hypothèse.

    Alors, Let's Encrypt doit divulguer ce qui s'est passé, comment et ce qu'il a fait pour éviter que le problème ne se reproduise. (Il a déjà commencé ce processus.)

    Et il doit révoquer tous les certificats qui n'ont pas été renouvelés en stricte conformité avec les règles, qui exigent que le nom de serveur de tout certificat soit vérifié par CAA.

    Peu importe que vous soyez certain à 99,999% de ce que le chèque CAA aurait réussi – ce qui compte, c'est que le chèque soit effectué, afin de maintenir le processus objectif et honnête.

    à lire :  Solutions conscientes pour réduire le stress au travail pour votre emploi ...

    Donc: trois millions de certificats révoqués subitement.

    Que faire?

    Si certains certificats sont révoqués, Let's Encrypt essaiera de vous envoyer un e-mail. Les clients concernés devraient déjà avoir reçu des e-mails d'avertissement – Let's Encrypt a une page Web montrant à quoi ressemblent les e-mails et comment obtenir des conseils supplémentaires – cette page contient également des liens vous indiquant comment télécharger une liste complète des numéros de série des certificats concernés ( Téléchargement de 0,3 Go) et comment vérifier ces publications en série par rapport à vos propres certificats.

    Si vous avez un certificat Let’s Encrypt affecté et que vous ne le renouvelez pas, il cessera soudainement de fonctionner car il sera révoqué aujourd'hui au 2020-02-04T20: 00Z. (C'est 20 heures au Royaume-Uni, 15 heures sur la côte est des États-Unis, midi sur la côte ouest.)

    Vous devez donc exécuter votre processus de renouvellement de certificat manuellement – c'est généralement aussi simple que d'exécuter un script de ligne de commande – au lieu d'attendre le prochain renouvellement automatique.

    Vous pouvez consulter le site Web de Let's Encrypt pour plus de conseils. La solution n'est pas difficile, mais si vous ne le faites pas, vous constaterez que les visiteurs ne peuvent pas accéder à votre site.

    (Pour autant que nous puissions le voir, si vous avez un et un seul certificat Let's Encrypt, ce bogue ne s'applique pas à vous – car vous n'aurez jamais essayé de renouveler plus d'un certificat à la fois.)

    Pourquoi 3 millions de certificats Let’s Encrypt sont tués de …
    4.9 (98%) 32 votes
     

    Julien