¿Por qué recibo un error de vencimiento del certificado Let's Encrypt en mi instancia EC2?

Última actualización: 01-10-2021

No puedo conectarme a una URL remota desde mi instancia de Amazon Elastic Compute Cloud (Amazon EC2) que tiene un certificado Let's Encrypt. O bien, recibo un error que indica que mi certificado Let's Encrypt ha vencido. ¿Cómo lo soluciono?

Descripción corta

Algunas instancias EC2 experimentan errores de certificados vencidos debido a un DST Root CA X3 con firma cruzada de Let's Encrypt vencido. Es posible que las instancias que ejecutan los siguientes sistemas operativos no puedan conectarse a los servidores mediante certificados Let's Encrypt. Es posible que estos sistemas operativos tampoco puedan acceder a los puntos de enlace de Let's Encrypt para emitir o renovar certificados después del 30 de septiembre de 2021:

  • CentOS y RHEL 7 o anterior
  • Amazon Linux y Amazon Linux 2
  • Ubuntu 16.04 o anterior
  • Debian 8 o anterior

Por motivos de compatibilidad, los certificados Let's Encrypt utilizan de forma predeterminada una cadena de certificados con firma cruzada de DST CA X3 que venció el 30 de septiembre de 2021.

Con OpenSSL 1.0.2, siempre se prefiere la cadena que no es de confianza. Esto significa que se ve el certificado vencido y se desconfía de toda la cadena como vencida. Los servidores con la versión afectada de OpenSSL y el certificado DST Root CA X3 en su almacén raíz no pueden emitir ni renovar certificados Let's Encrypt. Los servidores afectados tampoco pueden acceder a los servidores que los utilizan.

Resolución

Este problema se corrige en Ubuntu 16.04 con una versión reciente del paquete OpenSSL. Amazon Linux y Red Hat también han publicado nuevos paquetes de certificados CA que niegan el vencimiento del certificado.

Actualizaciones de paquetes

Ubuntu 16.04: actualiza OpenSSL a la versión 1.0.2g-1ubuntu4.20 o posterior.

Amazon Linux y Amazon Linux 2: las instancias de Amazon Linux pueden relanzarse para aplicar el paquete actualizado de certificados CA de forma automática. Si las instancias existentes necesitan ser actualizadas, los clientes pueden actualizar los certificados CA de la siguiente manera:

sudo yum update ca-certificates

Nota: los clientes que utilicen una AMI con un GUID de repositorio bloqueado, como Elastic Beanstalk, pueden instalar el paquete de certificados CA actualizado mediante los siguientes comandos:

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 y CentOS 7: actualiza el paquete de certificados CA a 2021.2.50-72.el7_9 o posterior.

Nota: Las versiones de Ubuntu anteriores a 16.04 están al final de su vida útil. La intervención manual puede ser posible, pero no se admite.

Corrección manual para sistemas basados en Amazon Linux

Recomendamos actualizar las instancias existentes con el comando yum anterior. Si por alguna razón prefiere modificar el sistema en su lugar, utilice los siguientes comandos como alternativa:

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

Solución manual para sistemas basados en Red Hat

1.    Copie la copia de seguridad del almacén raíz existente:

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

2.    Agregue el certificado al directorio de lista de denegación:

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.    Actualice el almacén raíz:

sudo update-ca-trust extract

4.    Verifique la eliminación de certificados:

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

¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?