Perché ricevo un errore di scadenza del certificato per il certificato Let's Encrypt sulla mia istanza EC2?

Ultimo aggiornamento: 01/10/2021

Non riesco a connettermi a un URL remoto dall'istanza Amazon Elastic Compute Cloud (Amazon EC2) che dispone di un certificato Let's Encrypt. In alternativa, ricevo un errore che indica che il mio certificato Let's Encrypt è scaduto. Come posso risolvere il problema?

Breve descrizione

Alcune istanze EC2 presentano errori relativi al certificato scaduto a causa di un DST Root CA X3 con firma incrociata Let's Encrypt scaduta. Le istanze che eseguono i seguenti sistemi operativi potrebbero non essere in grado di connettersi ai server utilizzando i certificati Let's Encrypt. Questi sistemi operativi potrebbero inoltre non essere in grado di accedere agli endpoint Let's Encrypt per emettere o rinnovare certificati dopo il 30 settembre 2021:

  • CentOS e RHEL 7 o inferiori
  • Amazon Linux e Amazon Linux 2
  • Ubuntu 16.04 o inferiori
  • Debian 8 o inferiori

Per motivi di compatibilità, i certificati Let's Encrypt di default utilizzano una catena di certificati con firma incrociata dal certificato DST Root CA X3 scaduto il 30 settembre 2021.

Con OpenSSL 1.0.2, si preferisce la catena non attendibile. Ciò significa che il certificato scaduto viene visualizzato e l'intera catena non è attendibile quando scaduto. I server con la versione interessata di OpenSSL e il certificato DST Root CA X3 nell'archiviazione principale non possono emettere o rinnovare certificati Let's Encrypt. Inoltre, i server interessati non possono accedere ai server che li utilizzano.

Risoluzione

Questo problema è stato corretto in Ubuntu 16.04 con una recente versione del pacchetto OpenSSL. Amazon Linux e Red Hat hanno inoltre rilasciato nuovi pacchetti di certificati CA che negano il certificato in scadenza.

Aggiornamenti dei pacchetti

Ubuntu 16.04: aggiorna OpenSSL alla versione 1.0.2g-1ubuntu4.20 o successiva.

Amazon Linux e Amazon Linux 2: le istanze Amazon Linux possono essere riavviate per applicare automaticamente il pacchetto di certificati CA aggiornato. Se è necessario aggiornare le istanze esistenti, i clienti possono aggiornare i certificati CA eseguendo quanto segue:

sudo yum update ca-certificates

Nota: per i clienti che utilizzano un'AMI con un GUID di repository bloccato, come Elastic Beanstalk, è possibile installare il pacchetto di certificati CA aggiornato utilizzando i seguenti comandi:

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: aggiorna il pacchetto di certificati CA a 2021.2.50-72.el7_9 o versioni successive.

Nota: le versioni di Ubuntu inferiori a 16.04 sono la fine del ciclo di vita. L'intervento manuale potrebbe essere possibile, ma non è supportato.

Correzione manuale per i sistemi basati su Amazon Linux

Si consiglia di aggiornare le istanze esistenti utilizzando il comando yum di cui sopra. Se per qualche motivo preferisci modificare il sistema in uso, utilizza invece i seguenti comandi:

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

Correzione manuale per i sistemi basati su Red Hat

1.    Esegui il backup dell'archiviazione root esistente:

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

2.    Aggiungi il certificato alla directory dell'elenco di negazione:

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.    Aggiorna l'archiviazione root:

sudo update-ca-trust extract

4.    Verifica la rimozione dei certificati:

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

Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?