Let’s Encrypt est une autorité de certification à but non lucratif qui fournit gratuitement des certificats X.509 pour le chiffrement TLS (Transport Layer Security). Le certificat TLS est valable pendant 90 jours seulement. Cependant, en raison du bogue, ils doivent révoquer de nombreux certificats (lus comme «certains») Let’s Encrypt TLS / SSL. Voyons comment savoir si vous êtes concerné par ce bogue et comment le corriger pour éviter tout problème avec vos certificats TLS / SSL.
Les révocations commencent le 04 mars 2020 et vous devez renouveler votre certificat avant cela; sinon, vos visiteurs recevront une erreur concernant une erreur de certificat non valide et expirée / révoquée.
ANNONCES
Letsencrypt révoque les certificats le 4 mars
Lorsqu’une demande de certificat TLS contenait N noms de domaine nécessitant une nouvelle vérification CAA, Boulder choisissait un nom de domaine et le vérifiait N fois. En pratique, cela signifie que si un abonné a validé un nom de domaine au moment X et que les enregistrements CAA de ce domaine au moment X ont permis l’émission Let’s Encrypt, cet abonné pourrait émettre un certificat contenant ce nom de domaine jusqu’à X + 30. jours, même si quelqu’un a par la suite installé des enregistrements CAA sur ce nom de domaine qui interdisent l’émission par Let’s Encrypt.
2020.02.29 Bogue de vérification de la CAA
Du fil du forum:
Le 2020-02-29 UTC, Let’s Encrypt a trouvé un bogue dans notre code CAA. Notre logiciel CA, Boulder, vérifie les enregistrements CAA en même temps qu’il valide le contrôle d’un abonné sur un nom de domaine. La plupart des abonnés émettent un certificat immédiatement après la validation du contrôle de domaine, mais nous considérons qu’une validation est valable pendant 30 jours. Cela signifie que dans certains cas, nous devons vérifier les enregistrements de la CAA une deuxième fois, juste avant leur émission. Plus précisément, nous devons vérifier la CAA dans les 8 heures avant l’émission (conformément aux BR §3.2.2.8), donc tout nom de domaine qui a été validé il y a plus de 8 heures doit être revérifié.
Combien de certificats sont concernés?
Selon le site du projet 3 048 289, les certificats actuellement valides sont affectés, sur 116 millions de certificats Let’s Encrypt actifs. Parmi les certificats concernés, environ 1 million sont des doublons d’autres certificats concernés, dans le sens de couvrir le même ensemble de noms de domaine.
Comment vérifier si j’utilise un certificat Letsencrypt affecté
Les utilisateurs Linux, macOS et Unix peuvent utiliser la commande curl comme suit:$ curl -XPOST -d 'fqdn=your-domain-name-here' https://unboundtest.com/caaproblem/checkhost
Par exemple, je vais vérifier www.nixcraft.com certificat utilisant la syntaxe suivante:$ curl -XPOST -d 'fqdn=www.nixcraft.com' https://unboundtest.com/caaproblem/checkhost
$ curl -XPOST -d 'fqdn=nixcraft.com' https://unboundtest.com/caaproblem/checkhost
Exemples de sorties:
The certificate currently available on www.nixcraft.com is OK. It is not one of the certificates affected by the Let's Encrypt CAA rechecking problem. Its serial number is 04800cab6c1b2c7ec770845bf02b04e696a2
Voici à quoi cela ressemble lorsque les certificats affectés par le bogue:
The certificate currently available on www.cyberciti.biz needs renewal because it is affected by the Let's Encrypt CAA rechecking problem. Its serial number is 04xxxxxxxxxxxxxxxxxxxxxxxxxxxxcd1. See your ACME client documentation for instructions on how to renew a certificate.
Il existe un outil en ligne pour Windows et les utilisateurs mobiles pour vérifier si le certificat d’un hôte doit être remplacé:https://unboundtest.com/caaproblem.html
Si l’outil ci-dessus ne fonctionne pas, essayez la méthode manuelle suivante. Saisissez d’abord la base de données, exécutez la commande wget suivante:
Comment vérifier manuellement
$ wget https://d4twhgtvn0ff5.cloudfront.net/caa-rechecking-incident-affected-serials.txt.gz
Recherchez ensuite le numéro de série de votre domaine (remplacez www.cyberciti.biz par votre domaine):$ openssl s_client -connect www.cyberciti.biz:443 -showcerts /null 2>/dev/null | openssl x509 -text -noout | grep -A 1 Serial Number | tr -d :
Exemples de sorties:
Serial Number 0704cf1cca2ef1c7abf433466b6231e0
Recherche par nom de série ou de domaine:$ zgrep '0704cf1cca2ef1c7abf433466b6231e0' caa-rechecking-incident-affected-serials.txt.gz
OU$ zgrep 'www.cyberciti.biz' caa-rechecking-incident-affected-serials.txt.gz
Si vous voyez le ‘CAA manquant pour vérifier les résultats‘message de la commande zgrep pour votre nom de domaine, forcez-le à renouveler dès que possible.
Comment forcer le renouvellement du certificat pour éviter ce bogue?
Passe le --force-renouvellement option à la commande certbot pour demander un nouveau certificat avec les mêmes domaines qu’un certificat existant:$ certbot renew --force-renewal
Veuillez noter que si vous voyez une erreur de limite de taux, vous devez créer un certificat avec le ou les domaines que vous souhaitez et un domaine supplémentaire. Par exemple, si j’obtiens une erreur de limite de taux pour www.cyberciti.biz, je devrais essayer un autre sous-domaine comme test.cyberciti.biz. La syntaxe est la suivante:$ certbot -d cyberciti.biz,www.cyberciti.biz,test.cyberciti.biz --expand
Dans mon cas, j’avais déjà un certificat qui inclut cyberciti.biz, www.cyberciti.biz et il veut un certificat de plus pour contourner l’erreur de limite de taux. J’ai donc ajouté le test.cyberciti.biz. Assurez-vous d’inclure tous les noms de domaine que vous souhaitez.
Une note sur le client acme.sh
Dans beaucoup de mes tutoriels, j’ai parlé du client acme.sh, donc la syntaxe est la suivante:$ acme.sh -f -r -d www.cyberciti.biz -d cyberciti.biz
Où,
- -F : Utilisé pour forcer l’installation ou forcer le renouvellement d’un certificat immédiatement
- -r : Renouveler un cert.
- -d DOMAIN_NAME : – Vos noms de domaine.
Vérifiez que votre certificat n’est plus affecté par le bogue:curl -XPOST -d 'fqdn=www.cyberciti.biz' https://unboundtest.com/caaproblem/checkhost
Exemples de sorties:
The certificate currently available on www.cyberciti.biz is OK. It is not one of the certificates affected by the Let's Encrypt CAA rechecking problem. Its serial number is 0704cf1cca2ef1c7abf433466b6231e00000
Conclusion
Letsencrypt révoque les certificats le 4 mars, ce qui est gênant pour bon nombre de ses utilisateurs. Cependant, ils corrigent un bogue critique et j’ai testé la procédure de renouvellement des certificats TLS, qui s’est bien déroulée. Je vous encourage à voir les URL suivantes:
ANNONCES