Let’s Encrypt è un’autorità certificata no-profit che fornisce gratuitamente certificati SSL e TLS, validi per 90 giorni.

Il 29 febbraio, Let’s Encrypt ha rilevato un bug nel codice CAA: molti utenti attivano il certificato immediatamente a seguito del controllo della validazione del dominio, ma l’autorità considera la procedura di validazione attiva per 30 giorni. Cosa significa? In alcuni casi, l’ente deve ricontrollare una seconda volta, 8 ore prima dell’effettiva emissione. La conseguenza? Ogni nome a dominio che è stato validato più di 8 ore prima necessita di essere ricontrollato.

A causa del bug, Let’s Encrypt sta revocando i certificati SSL e TLS dal 4 marzo: dovrai rinnovare il tuo certificato entro questa data altrimenti i visitatori del tuo sito visualizzeranno un errore relativo alla scadenza o revoca del certificato.
Sono molti i siti affetti da questa problematica: più di 3 milioni su 116 milioni di certificati attivi.

Come controllare se il tuo certificato è infetto?

Gli utenti Linux, MacOS e Unix possono usare il comando curl come segue:

$ curl -XPOST -d ‘fqdn=your-domain-name-here’ https://unboundtest.com/caaproblem/checkhost

Ad esempio, se esegui un controllo sul certificato www.nixcraft.com usando questo codice:

$ curl -XPOST -d ‘fqdn=www.nixcraft.com’ https://unboundtest.com/caaproblem/checkhost
$ curl -XPOST -d ‘fqdn=nixcraft.com’ https://unboundtest.com/caaproblem/checkhost

Il risultato sarà:

The certificate currently available on www.nixcraft.com is OK. It is not one of the certificates affected by the Let’s Encrypt CAA rechecking problem. Its serial number is 04800cab6c1b2c7ec770845bf02b04e696a2

Ecco cosa succede quando il certificato è stato affetto dal bug:

The certificate currently available on www.cyberciti.biz needs renewal because it is affected by the Let’s Encrypt CAA rechecking problem. Its serial number is 04xxxxxxxxxxxxxxxxxxxxxxxxxxxxcd1. See your ACME client documentation for instructions on how to renew a certificate.

Per Windows, esiste uno strumento online per controllare se il certificato ha bisogno di essere sostituito:

https://unboundtest.com/caaproblem.html

Se questo tool non funziona, puoi eseguire il controllo manuale. Prendi il database ed esegui i seguenti comandi wget.

$ wget https://d4twhgtvn0ff5.cloudfront.net/caa-rechecking-incident-affected-serials.txt.gz

In seguito, esegui il comando sul numero seriale del tuo dominio (sostituisci www.cyberciti.biz con il tuo nome a dominio):

$ openssl s_client -connect www.cyberciti.biz:443 -showcerts /dev/null | openssl x509 -text -noout | grep -A 1 Serial\ Number | tr -d :

Il risultato è:

Serial Number            0704cf1cca2ef1c7abf433466b6231e0

Cerca il numero seriale p il nome a dominio:

$ zgrep ‘0704cf1cca2ef1c7abf433466b6231e0’ caa-rechecking-incident-affected-serials.txt.gz

Oppure:

$ zgrep ‘www.cyberciti.biz’ caa-rechecking-incident-affected-serials.txt.gz

Se leggi “missing CAA ckecking result for” dal comando zgrep, forza il rinnovo il prima possibile.

Come forzare il rinnovo per evitare il bug?

Seleziona l’opzione force renewal nel comando certbot per richiedere un nuovo certificato con lo stesso dominio:

$ certbot renew –force-renewal

Se vedi un errore, crea un certificato con il dominio che vuoi e un dominio ulteriore. Ad esempio, utilizzando sempre il dominio www.cyberciti.biz, puoi provare ad usare test.cybercity.biz.

$ certbot -d cyberciti.biz,www.cyberciti.biz,test.cyberciti.biz –expand

Ricorda di includere tutti i domini di cui hai bisogno.

I nostri suggerimenti

Per evitare questi inconvenienti e proteggere maggiormente il tuo sito, noi consigliamo di rivolgersi ad autorità fidate e stabili come Comodo e Sectigo che forniscono certificati SSL e TLS: il protocollo di cifratura e la procedura di validazione rendono questi certificati la scelta migliore per il tuo sito e i dati sensibili degli utenti.