Salta al contenuto

Come posso risolvere un errore di scadenza del certificato Let's Encrypt nella mia istanza Amazon EC2?

4 minuti di lettura
0

Non riesco a connettermi a un URL remoto dalla mia istanza Amazon Elastic Compute Cloud (Amazon EC2) con un certificato Let's Encrypt. Oppure ricevo un messaggio di errore che indica che il mio certificato Let's Encrypt è scaduto.

Breve descrizione

Se il certificato DST Root CA X3 con firma incrociata di Let's Encrypt è scaduto, ricevi un errore di certificato scaduto. Per risolvere il problema, aggiorna il pacchetto per il sistema operativo.

Per motivi di compatibilità, i certificati Let's Encrypt utilizzano una catena di certificati con firma incrociata del certificato DST Root CA X3 scaduto il 30 settembre 2021. OpenSSL 1.0.2 preferisce la catena non attendibile. Ciò significa che il processo di convalida della certificazione OpenSSL vede il certificato scaduto e ritiene non attendibile l'intera catena ritenendola scaduta. I server con OpenSSL 1.0.2 e il certificato DST Root CA X3 nell'archivio root non possono emettere o rinnovare certificati Let's Encrypt. I server interessati inoltre non possono accedere ai server che utilizzano i certificati Let's Encrypt.

Le istanze EC2 che utilizzano i sistemi operativi di seguito potrebbero riscontrare problemi con i certificati Let's Encrypt:

  • CentOS e Red Hat Enterprise Linux (RHEL) 7 o versioni precedenti
  • Amazon Linux 1 (AL1) e Amazon Linux 2 (AL2)
  • Ubuntu 16.04 o versioni precedenti
  • Debian 8 o versioni precedenti

Risoluzione

Aggiorna il pacchetto in Ubuntu

Per Ubuntu 16.04, aggiorna OpenSSL alla versione 1.0.2g-1ubuntu4.20 o successiva. Per ulteriori informazioni, consulta Expiring trust anchor compatibility issue (Problema di compatibilità con l'ancora di fiducia in scadenza) sul sito web Launchpad.

Nota: le versioni di Ubuntu precedenti alla 16.04 sono superate. Ubuntu non le supporta, anche se è possibile un intervento manuale.

Aggiorna il pacchetto ad AL1 o AL2

Per AL1 o AL2, puoi riavviare l'istanza per applicare automaticamente il pacchetto ca-certificates aggiornato.

Per aggiornare un'istanza esistente, aggiorna il pacchetto ca-certificates eseguendo questo comando:

sudo yum update ca-certificates

Se utilizzi Amazon Machine Image (AMI) con un GUID di repository bloccato, come AWS Elastic Beanstalk, devi installare un pacchetto ca-certificates aggiornato. Esegui uno di questi comandi in base alla versione di Amazon Linux.

AL1:

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

AL2:

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

È consigliabile utilizzare il comando yum per aggiornare le istanze esistenti. Tuttavia, per modificare il sistema in uso, esegui uno di questi comandi:

AL1:

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

AL2:

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

Aggiorna il pacchetto in RHEL o CentOS

Per RHEL 7 e CentOS 7, aggiorna il pacchetto ca-certificates alla versione 2021.2.50-72.el7_9 o successiva. Per istruzioni, consulta How do I apply package updates to my RHEL system? (Come posso applicare gli aggiornamenti dei pacchetti al mio sistema RHEL?) sul sito web Red Hat.

Se continui a riscontrare problemi nell'istanza RHEL dopo l'aggiornamento, devi bloccare manualmente il certificato DST Root CA X3. Completa i seguenti passaggi:

  1. Esegui questo comando per eseguire il backup dell'archivio root esistente:

    cp -i /etc/pki/tls/certs/ca-bundle.crt ~/ca-bundle.crt-backup
  2. Esegui questo comando per aggiungere il certificato alla directory deny list:

    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. Esegui questo comando per aggiornare l'archivio root:

    sudo update-ca-trust extract
  4. Esegui questo comando per verificare di aver rimosso il certificato:

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

Informazioni correlate

Extending Android Device Compatibility for Let's Encrypt Certificates (Estensione della compatibilità dei dispositivi Android ai certificati Let's Encrypt) sul sito web Let's Encrypt

AWS UFFICIALEAggiornata 8 mesi fa