Comment résoudre une erreur d'expiration de certificat pour le certificat Let's Encrypt sur mon instance EC2 ?

Dernière mise à jour : 15/02/2022

Je ne parviens pas à me connecter à une URL à distance à partir de mon instance Amazon Elastic Compute Cloud (Amazon EC2) qui possède un certificat Let's Encrypt. Ou alors, je reçois un message d'erreur indiquant que mon certificat Let's Encrypt a expiré. Comment puis-je résoudre ce problème ?

Brève description

Certaines instances EC2 rencontrent des erreurs de certificat expiré en raison de l'expiration d'un certificat DST Root CA X3 de signature croisée Let's Encrypt. Les instances exécutant les systèmes d'exploitation suivants peuvent ne pas être en mesure de se connecter aux serveurs à l'aide de certificats Let's Encrypt. Ces systèmes d'exploitation peuvent également ne pas être en mesure d'accéder aux points de terminaison Let's Encrypt pour émettre ou renouveler des certificats après le 30 septembre 2021 :

  • CentOS et RHEL 7 ou version inférieure
  • Amazon Linux et Amazon Linux 2
  • Ubuntu 16.04 ou version inférieure
  • Debian 8 ou version inférieure

Pour des raisons de compatibilité, les certificats Let's Encrypt utilisent par défaut une chaîne de certificats signés de manière croisée par le certificat DST Root CA X3 qui a expiré le 30 septembre 2021.

Avec OpenSSL 1.0.2, la chaîne non fiable est toujours préférée. Cela signifie que le certificat expiré est vu et que l'ensemble de la chaîne est considérée comme expirée, donc non fiable. Les serveurs avec la version affectée d'OpenSSL et le certificat DST Root CA X3 dans leur magasin racine ne peuvent pas émettre ou renouveler les certificats Let's Encrypt. De plus, les serveurs concernés ne peuvent plus accéder aux serveurs qui les utilisent.

Résolution

Ce problème est corrigé dans Ubuntu 16.04 avec une version récente du package OpenSSL. Amazon Linux et Red Hat ont également publié de nouveaux packages ca-certificates qui rejettent le certificat qui expire.

Mises à jour de package

Ubuntu 16.04 : mettez à jour OpenSSL à la version 1.0.2g-1ubuntu4.20 ou ultérieure.

Amazon Linux et Amazon Linux 2 : les instances Amazon Linux peuvent être relancées afin d'appliquer automatiquement le package ca-certificates mis à jour. Si des instances existantes doivent être mises à jour, vous pouvez mettre à jour ca-certificates en exécutant la commande suivante :

sudo yum update ca-certificates

Remarque : Si vous utilisez une AMI avec un GUID de référentiel verrouillé, comme Elastic Beanstalk, installez un package ca-certificates mis à jour à l'aide des commandes suivantes :

Amazon Linux 1

sudo yum install https://cdn.amazonlinux.com/patch/ca-certificates-update-2021-09-30/ca-certificates-2018.2.22-65.1.24.amzn1.noarch.rpm

Amazon Linux 2

sudo yum install https://cdn.amazonlinux.com/patch/ca-certificates-update-2021-09-30/ca-certificates-2021.2.50-72.amzn2.0.1.noarch.rpm

Red Hat et CentOS 7 : mettez à jour le package ca-certificates à la version 2021.2.50-72.el7_9 ou ultérieure.

Remarque : les versions d'Ubuntu inférieures à 16.04 sont en fin de vie. Une intervention manuelle est peut-être possible, mais elle n'est pas prise en charge.

Correction manuelle pour les systèmes basés sur Amazon Linux

Il est une bonne pratique de mettre à jour les instances existantes à l'aide de la commande yum précédente. Pour modifier le système en place, utilisez plutôt les commandes suivantes :

Amazon Linux 1

sudo sed -i'' '/Alias: DST Root CA X3/,/No Rejected Uses./d' /usr/share/pki/ca-trust-source/ca-bundle.trust.crt
sudo update-ca-trust

Amazon Linux 2

sudo sed -i'' '/DST Root CA X3/,/\[p11-kit-object-v1\]/d' /usr/share/pki/ca-trust-source/ca-bundle.trust.p11-kit 
sudo update-ca-trust

Correction manuelle des systèmes Red Hat

1.    Sauvegardez le magasin racine existant :

cp -i /etc/pki/tls/certs/ca-bundle.crt ~/ca-bundle.crt-backup

2.    Ajoutez le certificat au répertoire de la liste de rejet :

trust dump --filter "pkcs11:id=%c4%a7%b1%a4%7b%2c%71%fa%db%e1%4b%90%75%ff%c4%15%60%85%89%10" | openssl x509 | sudo tee /etc/pki/ca-trust/source/blacklist/DST-Root-CA-X3.pem

3.    Mettez à jour le magasin racine :

sudo update-ca-trust extract

4.    Vérifiez le retrait des certificats :

diff ~/ca-bundle.crt-backup /etc/pki/tls/certs/ca-bundle.crt

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?