• # Trop rapide, petit scarabĂ©e !

    Posté par  . Évalué à 3.

    Let's Encrypt continue de supporter OSCP, notamment pour rester compatible avec MS… Mais ils annoncent leur intention de l'arrêter dès possible, c'est à dire dès que MS ne le rendra plus obligatoire, ce qu'ils estiment à 6 à 12 mois, mais ça ne reste que leur avis.

    Ils recommandent donc pour l'instant aux utilisateurs de faire en sorte de ne plus dépendre de OSCP, mais ils n'en arrêtent pas encore le support !

  • # RĂ©sumĂ©, et incertitudes sur Must-Staple

    Posté par  . Évalué à 10. Dernière modification le 28 juillet 2024 à 00:04.

    D'abord, un petit résumé (edit: wou pinaise, pas si petit, déso) pour celles et ceux qui ne seraient pas familier avec le concept dont il est question, perso je n'en aurais jamais entendu parlé si je n'administrais pas moi même des site web donc je pense que ça peut être utile.

    Pour sécuriser les connexions avec HTTPS, il faut un certificat qui dit "c'est bon, ce site web est bien servi par serveur vérifié, et la page n'a pas été modifié". Ce certificat est délivré par une autorité dont le navigateur (ou plus généralement le client HTTPS) fait confiance, et Let's Encrypt est l'une d'elle. C'est même la plus grosse aujourd'hui en termes de sites couverts.

    Mais les certificats peuvent être révoqués, par exemple parce qu'ils ont été compromis. OCSP permet de vérifier qu'un certificat n'a pas été révoqué. Pour cela, le navigateur peut aller interroger une URL au moment de la première visite d'un site web depuis un certain temps pour aller voir si c'est le cas.

    Problèmes :

    • Ça demande une infrastructure coĂ»teuse chez l'autoritĂ© de confiance, qui doit rĂ©pondre Ă  beaucoup de requĂŞtes et doit avoir un uptime en bĂ©ton.
      • que se passe-t-il si cette infra tombe ? On laisse passer ou on casse le site ?
    • ça pose des questions de vie privĂ©e : l'autoritĂ© de confiance sait alors que telle personne a visitĂ© tel site. Elle n'a pas besoin de garder de logs (et Let's Encrypt s'efforce de ne pas garder les traces), mais elle est toujours susceptible d'ĂŞtre interrogĂ©e par des services de renseignements, et toutes les autoritĂ©s ne sont pas aussi tatillonnes sur la protection de la vie privĂ©e, et mĂŞme, on ne devrait pas avoir besoin de faire confiance Ă  une autoritĂ© pour ça.

    C'est pour ces raisons que Let's Encrypt veut se débarrasser d'OCSP.

    En plus :

    • ça ralentit cette première visite
    • En pratique, parmi les navigateurs rĂ©pandus, seul Firefox fait cette vĂ©rification

    Il y a des parades :

    • l'option Must Staple lors de la demande d'un certificat, qui bloque ce mĂ©canisme de demande Ă  l'infrastructure OCSP au niveau du navigateur. Le serveur web doit alors lui faire la requĂŞte, et fournir "l'agrafe" - la preuve que le certificat n'a pas D’abord, un petit rĂ©sumĂ© pour celles et ceux qui ne seraient pas familiers avec le concept dont il est question, perso je n’en aurais probablement jamais entendu parler si je n’administrais pas moi-mĂŞme des sites web, donc je pense que ça peut ĂŞtre utile.

    Pour sécuriser les connexions avec HTTPS, il faut un certificat qui dit « c’est bon, ce site web est bien servi par serveur vérifié, et la page n’a pas été modifié ». Ce certificat est délivré par une autorité en laquelle le navigateur (ou plus généralement le client HTTPS) fait confiance, et Let's Encrypt est l’une d’elles. C’est même la plus grosse aujourd’hui en termes de sites couverts.

    Mais les certificats peuvent être révoqués, par exemple parce qu’ils ont été compromis. OCSP permet de vérifier qu’un certificat n’a pas été révoqué. Pour cela, le navigateur peut aller interroger une URL au moment de la première visite d’un site web depuis un certain temps pour aller voir si c’est le cas.

    Problèmes :

    • Ça demande une infrastructure coĂ»teuse chez l’autoritĂ© de confiance, qui doit rĂ©pondre Ă  beaucoup de requĂŞtes et doit avoir un uptime en bĂ©ton.
      • Eh oui, que se passe-t-il si cette infra tombe / que des requĂŞtes OCSP Ă©chouent ? On laisse passer ou on casse le site avec un avertissement inquiĂ©tant ou obscure Ă  l’utilisateur ?
    • ça pose des questions de vie privĂ©e : l’autoritĂ© de confiance sait alors que telle personne a visitĂ© tel site. Elle n’a pas besoin de garder de logs (et Let's Encrypt s’efforce de ne pas garder les traces), mais elle est toujours susceptible d’être interrogĂ©e par des services de renseignements, et toutes les autoritĂ©s ne sont pas aussi tatillonnes sur la protection de la vie privĂ©e, et mĂŞme, on ne devrait pas avoir besoin de faire confiance Ă  une autoritĂ© pour ça.

    C’est pour ces raisons que Let's Encrypt veut se débarrasser d’OCSP.

    En plus :

    • ça ralentit cette première visite, puisqu’il faut attendre que cette requĂŞte OCSP termine avant d'afficher le site
    • En pratique, parmi les navigateurs rĂ©pandus, seul Firefox fait cette vĂ©rification

    Il y a des parades :

    • l’option Must Staple lors de la demande d’un certificat, qui bloque ce mĂ©canisme de demande Ă  l’infrastructure OCSP au niveau du navigateur. Le serveur web doit alors lui faire la requĂŞte, et fournir « l’agrafe » - la preuve que le certificat n’a pas Ă©tĂ© rĂ©voquĂ© très rĂ©cemment - au navigateur.
    • CRL et CRLite, un mĂ©canisme proposĂ© par Mozilla oĂą les navigateurs tĂ©lĂ©chargent la liste des certificats rĂ©voquĂ©s Ă  intervalle rĂ©gulier (4 fois par jour par exemple), avec des techniques de compression et de mises Ă  jour incrĂ©mentales de fou pour que ça soit rĂ©alisable. Plus besoin alors d’OCSP si le navigateur sait dĂ©jĂ  quel certificat est rĂ©voquĂ©. Mais ce n’est pas encore en place.
    • un temps de renouvellement très court des certificats. Si ton certificat a une durĂ©e de validitĂ© de 7 jours ou moins, finalement il y a beaucoup moins besoin de le rĂ©voquer. Mais ce n’est pas encore très rĂ©pandu.

    Actuellement, la situation n’est pas très rose :

    • SSL Labs, qui fournit un diagnostic pour Ă©valuer la qualitĂ© de la sĂ©curisation de son site pousse Ă  mettre en place Must Staple pour avoir un score parfait
    • En thĂ©orie, c’est une bonne chose, parce que ça respecte mieux la vie privĂ©e des utilisateurs et c’est mieux au niveau des performances et de l’utilisation des ressources communes (chaque client n’a pas Ă  faire sa requĂŞte OCSP, le serveur le fait pour tout le monde)
    • En pratique, c’est tout moisi parce que ça ne marche pas bien : sa prise en charge par les serveurs est affreuse, les navigateurs sauf Firefox s’en tapent…

    L’article dit que les gens qui hébergent des sites web ne sont pas concernés par ce changement, mais ce n’est pas tout à fait vrai : on ne sait pas encore comment cette option « Must Staple » sera gérée, et les solutions envisagées ont des inconvénients :

    1. l’option pourrait être simplement ignorée. Le certificat sera créé, ça va continuer à marcher, juste qu’il n’y aura plus Must Staple ». Ça veut dire que si le système dépendait de ce mécanisme, ça va casser, et ça peut casser silencieusement. Mais au moins, la livraison des certificats va continuer à fonctionner sans changement partout où ça n’importe pas tellement.
    2. l’option pourrait causer un échec de certificat. Dans ce cas, ce sera clair ce qu’il se passe, par contre ça va obliger plein de gens à déboguer et mettre à jour une configuration qui vivait toute seule depuis potentiellement longtemps.

    De mon côté, je ne sais pas ce que je préférerais. Peut-être que les navigateurs adoptent un truc comme CRL, ou que les certificats aient encore une durée de validité plus courte, pour rendre OCSP et Must-Staple inutiles.

    Ce qui est sûr, c’est que ça résoudra mes problèmes de gestion cassée de Must-Staple par Nginx sans devoir me poser la question de si je dois désactiver ça. Peut-être que SSL Labs mettra aussi à jour son diagnostic pour arrêter de pousser cette option. Au moins, si elle ne fonctionne plus, la question ne se pose plus. Donc je suis un peu pressé que ça arrive.
    été révoqué très récemment - au navigateur.
    - en pratique, les serveurs répandus n'implémentent pas bien ce mécanisme. Notamment, Nginx ne fait la demande OCSP qu'après la première requête vers un site après son démarrage (ou après l'expiration des données OCSP), et cette requête part alors sans l'agrafe, ce qui fait échouer la vérification. Apache 2 n'est pas meilleur.
    - CRL et CRLite, un mécanisme proposé par Mozilla où les navigateurs téléchargent la liste des certificats révoqué à intervalle régulier (4 fois par jour par exemple), avec des techniques de compression et de mises à jour incrémentales de fou pour que ça soit réalisable. Plus besoin alors d'OCSP si le navigateur sait déjà quel certificat est révoqué. Mais ce n'est pas encore en place.
    - un temps de renouvellement très court des certificats. Si ton certificat a une durée de validité de 7 jours ou moins, finalement il y a beaucoup moins besoin de le révoquer. Mais ce n'est pas encore très répandu.

    Actuellement, la situation n'est pas très rose :

    • SSL Labs, qui fournit un diagnostic pour Ă©valuer la qualitĂ© de la sĂ©curisation de son site pousse Ă  mettre en place Must Staple pour avoir un score parfait
    • En thĂ©orie, c'est une bonne chose, parce que ça respecte mieux la vie privĂ©e des utilisateurs et c'est mieux au niveau des performances et de l'utilisation des ressources communes (chaque client n'a pas Ă  faire sa requĂŞte OCSP, le serveur le fait pour tout le monde)
    • En pratique, c'est tout moisi parce que ça ne marche pas bien : sa prise en charge par les serveurs est affreuse, les navigateurs sauf Firefox s'en tapent…

    L'article dit que les gens qui hébergent des sites web ne sont pas concernés par ce changement, mais ce n'est pas tout à fait vrai : on ne sait pas encore comment cette option "Must Staple" sera gérée, et les solutions envisagées ont des inconvénients :

    1. l'option pourrait être simplement ignorée. Le certificat sera créé, ça va continuer à marcher, juste qu'il n'y aura plus Must Staple". Ça veut dire que si le système dépendait de ce mécanisme, ça va casser, et ça peut casser silencieusement. Mais au moins, la livraison des certificats va continuer à fonctionner sans changement partout où ça n'importe pas tellement.
    2. l'option pourrait causer un échec de certificat. Dans ce cas, ce sera clair ce qu'il se passe, par contre ça va obliger plein de gens à déboguer et mettre à jour une configuration qui vivait toute seule depuis potentiellement longtemps.

    De mon côté, je ne sais pas ce que je préférerais. Peut-être que les navigateurs adoptent un truc comme CRL, ou que les certificats aient encore une durée de validité plus courte, pour rendre OCSP et Must-Staple inutiles.

    Ce qui est sûr, c'est que ça résoudra mes problèmes de gestion cassée de Must-Staple par Nginx sans devoir me poser la question de si je dois désactiver ça. Peut-être que SSL Labs mettra aussi à jour son diagnostic pour arrêter de pousser cette option. Au moins, si elle ne fonctionne plus, la question ne se pose plus. Donc je suis un peu pressé que ça arrive.

    • [^] # Re: RĂ©sumĂ©, et incertitudes sur Must-Staple

      Posté par  . Évalué à 7.

      Gros bug d'édition, j'ai dupliqué des paragraphes… si l'équipe de modération veut bien corriger ça ce serait le top. Désolé pour le loupé.

      • [^] # Re: RĂ©sumĂ©, et incertitudes sur Must-Staple

        Posté par  (site web personnel, Mastodon) . Évalué à 3.

        Ce n'est pas très grave on comprend vite qu'il y a du doublon et on passe à la suite.
        Par contre l'explication est super-utile…

        Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

      • [^] # Re: RĂ©sumĂ©, et incertitudes sur Must-Staple

        Posté par  (site web personnel) . Évalué à 3.

        Quel est le texte à mettre ? C'est pas évident de savoir ce qui a été coupé / dupliqué :-(

        Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

        • [^] # Re: RĂ©sumĂ©, et incertitudes sur Must-Staple

          Posté par  . Évalué à 2. Dernière modification le 28 juillet 2024 à 08:37.

          Selon moi, c'est ça :

          1)
          la preuve que le certificat n'a pas [D’abord, un petit résumé (…) la preuve que le certificat n’a pas] été révoqué très récemment - au navigateur.

          2)
          peu pressé que ça arrive.
          [été révoqué très récemment - au navigateur (…) peu pressé que ça arrive.]<EoF>

      • [^] # Re: RĂ©sumĂ©, et incertitudes sur Must-Staple

        Posté par  . Évalué à 4.

        Ce serait bien de reprendre ce commentaire dans un journal.

        • [^] # Re: RĂ©sumĂ©, et incertitudes sur Must-Staple

          Posté par  . Évalué à 3.

          Ouais, ok, je vais essayer de faire ça ! Merci pour la suggestion. Et ça « règlera » le bug.

          Je ne vois pas comment indiquer efficacement les corrections à apporter au commentaire sans devoir reposter entièrement le bon contenu de toute façon. L'espace de rédaction ne permet que d'envoyer des petits messages sur une ligne, ce n'est pas adapté.

    • [^] # Re: RĂ©sumĂ©, et incertitudes sur Must-Staple

      Posté par  . Évalué à 2.

      Merci pour l'explication. Pour le doublon, ce n'est pas grave, j'ai mieux compris en relisant :-)

      Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr

    • [^] # Re: RĂ©sumĂ©, et incertitudes sur Must-Staple

      Posté par  (site web personnel) . Évalué à 2.

      • en pratique, les serveurs rĂ©pandus n'implĂ©mentent pas bien ce mĂ©canisme. Notamment, Nginx ne fait la demande OCSP qu'après la première requĂŞte vers un site après son dĂ©marrage (ou après l'expiration des donnĂ©es OCSP), et cette requĂŞte part alors sans l'agrafe, ce qui fait Ă©chouer la vĂ©rification. Apache 2 n'est pas meilleur.

      Corrige moi si je me trompe, mais ça ne me semble pas des plus gênant, avec "must staple" qui arrive :
      - Dans un premier temps, en palliatif l'admin fait (manuel ou automatisé) des premières requêtes au redémarrage, tout en remontant le bug ou "+1" sur le bug ouvert pour dire que ça devient prioritaire
      - Dans un deuxième temps, l'update qui ne doit pas être le plus long à faire (il semble qu'il a le principal déjà la) est déployée (et ça devrait aller vite pour les gens qui utilisent "must staple" car ils sont à la pointe)

      Donc il me semble que c'est surtout qu'il faut s'y lancer et qu'il n'y a pas besoin de chercher une "meilleure" solution, on l'a, non?

      • [^] # Re: RĂ©sumĂ©, et incertitudes sur Must-Staple

        Posté par  . Évalué à 5.

        J'ai un palliatif en place, à base de cron qui lance des requêtes régulièrement, mais ce n'est pas totalement fiable :

        • Dès qu'on redĂ©marre manuellement nginx après un changement de config, c'est niquĂ©. Peut-ĂŞtre qu'on peut dĂ©clencher des actions avec systemd après le redĂ©marrage d'un service. Ă€ creuser ! Ou pas, si ça disparait bientĂ´t…

        • Pour faire proprement, il faudrait certainement garder trace de l'expiration de l'agrafe et faire la requĂŞte au bon moment juste après l'expiration et espĂ©rer qu'aucune requĂŞte ne s'est glissĂ©e entre temps. Le problème, c'est que l'agrafe n'est mise Ă  jour que quand elle est expirĂ©e, donc tu as beau faire des requĂŞtes souvent, ça va quand mĂŞme Ă©chouer entre l'expiration et la prochaine requĂŞte… si elle arrive assez tĂ´t.

        • l'alternative imparfaite, c'est de bourriner et lancer des requĂŞtes vraiment très souvent Ă  intervalle très court et quand-mĂŞme espĂ©rer que des requĂŞtes n'arrivent pas au bon moment.

        Concernant le bug nginx, si j'ai bien compris, les dev nginx considèrent que la perf est plus importante et que cette requête à faire avant de répondre, c'est pénible, et apparemment ça demande une réarchitecture majeur, ou en tout cas beaucoup de boulot, donc c'est pas sûr qu'on voit le bug corrigé de sitôt. Ça fait déjà des années que les gens se plaignent.

        Peut-être que quelqu'un pourrait fournir un patch, mais il faudrait déjà que les devs d'nginx soient convaincus que c'est une bonne idée.

        Et au final, si ça disparait bientôt au profit d'une « meilleure » solution, peut-être autant pas trop s'embêter…

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.