Quando si parla di progetti self-hosted, avere a disposizione un certificato digitale HTTPS è essenziale. Let’s Encrypt ora supporta certificati TLS per indirizzi IP pubblici, senza bisogno di un nome di dominio. I certificati IP devono essere di breve durata, con validità di circa 6 giorni, quindi richiedono un client ACME aggiornato e configurato per il profilo short-lived.
Il grande vantaggio dei certificati IP di Let’s Encrypt è che permettono di cifrare e autenticare connessioni senza dover possedere un nome di dominio. Uno schema che evidentemente apre nuove possibilità per test, configurazioni temporanee, servizi infrastrutturali come DNS-over-HTTPS/DoT e self-hosting su IP pubblici, garantendo comunicazioni sicure anche in assenza di nomi di dominio registrati.
La nuova gerarchia Generation Y di Let’s Encrypt
Let’s Encrypt sta aggiornando la sua infrastruttura di certificazione, introducendo due nuove Root Certification Authorities (CA) e sei Intermediate CA, definite collettivamente come gerarchia “Generation Y”. Queste nuove root assicurano massima compatibilità con tutti i client che già si fidano delle root esistenti.
L’Autorità di certificazione che emette certificati gratuiti sta introducendo la possibilità di scegliere diversi profili quando si richiede un certificato tramite il protocollo ACME. Non più un’unica modalità di emissione standard, ma più configurazioni disponibili che determinano come sarà fatto il certificato e da quale gerarchia di certificazione viene emesso.
Possibili scenari d’uso dei certificati Let’s Encrypt per indirizzi IP pubblici
- Test e ambienti temporanei: utili per sviluppatori o per configurazioni temporanee, dove non si vuole registrare un dominio.
- Servizi infrastrutturali come DoH/DoT: certificare server DNS pubblici accessibili direttamente via IP senza dipendere da nomi di dominio.
- Self-hosting locale con tunneling: ad esempio, tramite VPN o Tailscale, dove il dominio non è necessario.
I certificati per indirizzi IP pubblici non sostituiscono l’uso di nomi di dominio per servizi pubblici: i domini rimangono più user-friendly, economici e compatibili con wildcard e DNS dinamico. Inoltre, non supporta IP privati: i certificati IP sono validi solo per indirizzi pubblici.
È inoltre richiesto aggiornamento e compatibilità del client ACME per gestire il rinnovo automatico a breve scadenza.
Cos’è e come funziona il protocollo ACME
Parlando di ACME, non c’entra nulla l’azienda immaginaria del mondo Looney Tunes. Il protocollo ACME (Automatic Certificate Management Environment) è lo standard utilizzato da Let’s Encrypt e altre Autorità di certificazione per emettere, rinnovare e revocare automaticamente certificati TLS/SSL senza intervento manuale.
Il server o dispositivo (client ACME) si registra con l’ACME server (i.e. Let’s Encrypt) quindi invia una richiesta per un certificato riferibile a un dominio oppure, adesso, anche a un indirizzo IP.
Il server ACME verifica che il client controlli effettivamente il dominio/IP, usando challenge come:
- HTTP-01: il client deve ospitare un file specifico sul server web;
- TLS-ALPN-01: il client risponde a una connessione TLS speciale;
- DNS-01: il client crea un record DNS specifico.
Se la validazione va a buon fine, il server ACME rilascia il certificato. Il client può automaticamente richiedere il rinnovo prima della scadenza, senza intervento umano.
In sostanza, ACME permette di avere certificati validi e aggiornati automaticamente, rendendo più semplice e sicuro l’uso di HTTPS su server pubblici o privati.
Switch dei profili ACME Let’s Encrypt
- Profilo classico: passerà alla gerarchia Generation Y il 13 maggio 2026.
- Profilo tlsclient: rimarrà sulla gerarchia Generation X fino a maggio 2026 per chi ha bisogno di più tempo o compatibilità con TLS Client Authentication, che verrà deprecata a partire da febbraio 2026.
- Profili tlsserver e shortlived: già attivi con Generation Y, con introduzione dei certificati a breve durata e supporto per IP.
I metodi di validazione disponibili per chi necessita di un certificato per IP sono HTTP-01 e TLS-ALPN-01; la validazione DNS-01 non è supportata per IP.