Por que estou recebendo um erro de validade de certificado para o certificado Let’s Encrypt na instância do EC2?

3 minuto de leitura
0

Não consigo me conectar a um URL remoto de minha instância do Amazon Elastic Compute Cloud (Amazon EC2) que tenha um certificado Let's Encrypt. Ou, estou recebendo um erro de que meu certificado Let's Encrypt expirou. Como corrijo isso?

Descrição breve

Algumas instâncias do EC2 estão enfrentando erros de certificado expirados devido a um DST Root CA X3 com assinatura cruzada e expirada do Let's Encrypt. As instâncias que executam os seguintes sistemas operacionais talvez não consigam se conectar a servidores usando certificados Let's Encrypt. Estes sistemas operacionais também podem não conseguir acessar os endpoints Let's Encrypt para emitir ou renovar certificados após 30 de setembro de 2021:

  • CentOS e RHEL 7 ou inferior
  • Amazon Linux e Amazon Linux 2
  • Ubuntu 16.04 ou inferior
  • Debian 8 ou inferior

Para fins de compatibilidade, os certificados Let's Encrypt usam como padrão uma cadeia de certificados assinada pelo certificado DST Root CA X3 com assinatura cruzada que expirou em 30 de setembro de 2021.

Com o OpenSSL 1.0.2, a cadeia não confiável é sempre preferida. Isso significa que o certificado expirado é visto e toda a cadeia é desconfiada como expirada. Os servidores com a versão afetada do OpenSSL e o certificado DST Root CA X3 em seu armazenamento raiz não podem emitir ou renovar certificados Let's Encrypt. Os servidores afetados também não podem acessar os servidores que estão usando.

Resolução

Este problema foi corrigido no Ubuntu 16.04 com uma versão recente do pacote OpenSSL. O Amazon Linux e a Red Hat também lançaram novos pacotes de certificados ca que negam o certificado expirado.

Atualizações de pacotes

Ubuntu 16.04: atualize o OpenSSL para a versão 1.0.2g-1ubuntu4.20 ou para uma mais recente.

Amazon Linux e Amazon Linux 2: as instâncias do Amazon Linux podem ser reiniciadas para aplicar automaticamente o pacote de ca-certificates atualizado. Se as instâncias existentes precisarem ser atualizadas, você poderá atualizar os ca-certificates executando o seguinte comando:

sudo yum update ca-certificates

Observação: se você estiver usando uma AMI com um GUID de repositório bloqueado, como o Elastic Beanstalk, instale um pacote ca-certificates atualizado usando os seguintes 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 e CentOS 7: atualize o pacote de certificados de autoridade de certificação para 2021.2.50-72.el7_9 ou posterior.

Observação: as versões do Ubuntu menores que 16.04 estão no fim da vida útil. A intervenção manual pode ser possível, mas não é suportada.

Correção manual para sistemas baseados no Amazon Linux

É uma prática recomendada atualizar instâncias existentes usando o comando yum anterior. Para modificar o sistema em vigor, use os seguintes comandos:

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

Correção manual para sistemas baseados em Red Hat

1.    Faça backup do armazenamento raiz existente:

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

2.    Adicione o certificado ao diretório da lista de negações:

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.    Atualize o armazenamento raiz:

sudo update-ca-trust extract

4.    Verifique a remoção dos certificados:

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

Informações relacionadas

Ampliação da compatibilidade de dispositivos Android para certificados Let's Encrypt

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos