Come risolvo l'errore di scadenza del certificato per il certificato Let's Encrypt sulla mia istanza EC2?

3 minuti di lettura
0

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 le istanze esistenti devono essere aggiornate, è possibile aggiornare i certificati CA eseguendo il seguente comando:

sudo yum update ca-certificates

Nota: se si utilizza un'AMI con un GUID del repository bloccato, ad esempio Elastic Beanstalk, installare un 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

È una best practice aggiornare le istanze esistenti utilizzando il precedente comando yum. Per modificare il sistema in uso, utilizzare 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

Informazioni correlate

Estensione della compatibilità dei dispositivi Android per i certificati Let's Encrypt

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa