Come usare questo generatore DANE TLSA
Generare un record TLSA corretto richiede tre scelte: usage, selector e matching type. Una combinazione sbagliata indebolisce la sicurezza o blocca la posta.
Passaggio 1: Configurare i parametri TLSA
Scegli i parametri in base al tuo caso d'uso:
Configurazione consigliata per SMTP:
| Parametro | Valore consigliato | Motivo |
|---|---|---|
| Certificate Usage | DANE-EE (3) | Non serve la validazione PKIX |
| Selector | SPKI (1) | Sopravvive ai rinnovi |
| Matching Type | SHA-256 (1) | Compatto e sicuro |
| Port | 25 | Porta SMTP standard |
Passaggio 2: Fornire il certificato
Incolla il tuo certificato in formato PEM:
-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQON...
-----END CERTIFICATE-----
Come ottenere il certificato:
# Dal tuo server mail via STARTTLS
openssl s_client -connect mail.captaindns.com:25 -starttls smtp 2>/dev/null | openssl x509
# Da un file sul server
cat /etc/letsencrypt/live/mail.captaindns.com/cert.pem
Passaggio 3: Copiare e pubblicare
Il generatore produce un record pronto da pubblicare:
_25._tcp.mail.captaindns.com. IN TLSA 3 1 1 2bb183af2e2b295b444c1fd4072f2b59a8c1c9abf7f3f1e9b0d4c7e8f1a2b3c4d
Passaggio 4: Verificare il deployment
Usa il nostro DANE TLSA Checker per confermare che il record è online e correttamente firmato DNSSEC.
Guida ai parametri TLSA
Ogni parametro TLSA influenza la sicurezza e la manutenzione del record. Scegli con attenzione.
Certificate Usage: quale tipo scegliere?
Per SMTP (RFC 7672) si usano solo DANE-TA (2) e DANE-EE (3). PKIX-TA (0) e PKIX-EE (1) esistono nella RFC 6698 ma non si applicano allo SMTP opportunistico: gli MTA si basano su DNSSEC, non sulla validazione PKIX.
| Usage | Nome | Quando usarlo | Rotazione del certificato |
|---|---|---|---|
| 2 | DANE-TA | Fissare la CA (senza PKIX) | Facile (stessa CA) |
| 3 | DANE-EE | Fissare il certificato esatto (senza PKIX) | Medio (SPKI + riutilizzo chiave) |
Per impostazione predefinita, scegli DANE-EE (3) con selector SPKI (1) e matching SHA-256 (1). È l'opzione più semplice e robusta. DANE-TA (2) è una scelta avanzata soggetta a un vincolo di catena (vedi le strategie di deployment).
Selector: Cert vs SPKI
| Selector | Stabilità | Caso d'uso |
|---|---|---|
| Cert (0) | Cambia ad ogni rinnovo | Vincolo rigoroso, gestione DNS automatizzata |
| SPKI (1) | Stabile se stessa chiave | Consigliato, soprattutto con Let's Encrypt |
SPKI (1) è consigliato per ridurre la frequenza degli aggiornamenti DNS.
Matching Type: Full vs Hash
| Matching | Dimensione record | Sicurezza |
|---|---|---|
| Full (0) | Grande (può troncare UDP) | Massima |
| SHA-256 (1) | 64 caratteri hex | Consigliato |
| SHA-512 (2) | 128 caratteri hex | Più lungo, senza beneficio reale |
SHA-256 (1) è lo standard. Full (0) non è consigliato per SMTP a causa dei problemi di dimensione DNS.
Prerequisito: DNSSEC
Senza DNSSEC, il tuo record TLSA verrà ignorato da tutti gli MTA. Nessuna eccezione: la RFC 7672 lo impone. Prima di pubblicare un record TLSA:
Verificare DNSSEC
- Verifica che il tuo registrar supporti DNSSEC
- Attiva la firma DNSSEC presso il tuo hosting DNS
- Aggiungi i record DS presso il tuo registrar
- Attendi la propagazione (può richiedere 24-48h)
Provider DNS con DNSSEC
| Provider | DNSSEC | Note |
|---|---|---|
| Cloudflare | Sì (automatico) | Un clic nelle impostazioni |
| AWS Route 53 | Sì | Configurazione manuale richiesta |
| OVH | Sì | Attivazione tramite manager |
| Google Cloud DNS | Sì | Configurazione manuale |
| Gandi | Sì | Attivazione automatica possibile |
Strategie di deployment
La scelta della strategia dipende dal tuo provider di certificati e dalla frequenza di rinnovo. Ecco i tre scenari più comuni.
Scenario 1: Let's Encrypt con riutilizzo della chiave
Configurazione:
# Generare con riutilizzo della chiave
certbot certonly --reuse-key -d mail.captaindns.com
# Record TLSA (non cambierà tra i rinnovi)
3 1 1 <sha256-spki>
Vantaggio: Il record TLSA non cambia mai finché la chiave viene riutilizzata.
Scenario 2: Let's Encrypt con DANE-TA (opzione avanzata)
Con DANE-TA (usage 2), il certificato fissato - o un certificato da esso firmato - DEVE essere presente nella catena TLS inviata dal server (RFC 7671 sezione 5). Ma gli MTA in genere NON inviano il certificato radice: fissa l'intermedio effettivamente servito (per esempio Let's Encrypt R10/R11), non la radice ISRG Root X1.
Configurazione:
# Fissare l'intermedio realmente inviato dal server (es. R10/R11)
2 1 1 <sha256-spki-dell-intermedio>
Avvertenza: se fissi una radice (ISRG Root X1), configura il server affinché includa quel certificato nella catena TLS, altrimenti la validazione DANE-TA fallisce. In caso di dubbio, preferisci DANE-EE (3) + SPKI (1), che non ha questo vincolo di catena.
Vantaggio: Nessun aggiornamento DNS necessario finché l'intermedio resta invariato nella catena.
Scenario 3: Rotazione con doppio record
Prima della rotazione:
_25._tcp.mail.captaindns.com. TLSA 3 1 1 <hash-cert-attuale>
_25._tcp.mail.captaindns.com. TLSA 3 1 1 <hash-cert-futuro>
Dopo la rotazione: Rimuovi il vecchio hash.
Pubblicazione DNS per provider
Cloudflare
- Vai nelle impostazioni DNS del tuo dominio
- Aggiungi un record:
- Tipo: TLSA
- Nome:
_25._tcp.mail - Usage: 3
- Selector: 1
- Matching Type: 1
- Certificate: Il tuo hash SHA-256
AWS Route 53
- Apri la zona ospitata
- Crea un record:
- Nome:
_25._tcp.mail.captaindns.com - Tipo: TLSA
- Valore:
3 1 1 <hash> - TTL: 3600
- Nome:
OVH / Formato generico
- Vai nella zona DNS
- Aggiungi una voce:
- Sottodominio:
_25._tcp.mail - Tipo: TLSA
- Destinazione:
3 1 1 <hash> - TTL: 3600
- Sottodominio:
Buone pratiche ed errori comuni
DANE è rigoroso: una configurazione errata blocca la ricezione della posta. Evita questi errori classici.
- DNSSEC obbligatorio: senza una zona firmata e validata, i resolver ignorano il record TLSA e DANE diventa completamente inefficace. È l'errore numero uno.
- Rotazione additiva: pubblica il NUOVO record TLSA IN AGGIUNTA al vecchio, attendi la propagazione DNS e la scadenza del TTL, e rimuovi il vecchio solo dopo aver dismesso il certificato precedente. Non eliminare mai il vecchio prima che il nuovo si sia propagato.
- Publish-then-deploy: pubblica e lascia propagare il record TLSA PRIMA di sostituire il certificato sul server, mai il contrario.
- SPKI sopravvive al rinnovo: con il selector SPKI (1), finché si riutilizza la stessa chiave, il record resta valido dopo il rinnovo, riducendo gli aggiornamenti DNS. Il selector Cert (0) obbliga a ripubblicare ad ogni rinnovo.
- Corrispondenza con il certificato servito: il record TLSA deve corrispondere al certificato effettivamente presentato dal MX. Una discordanza tra hostname e certificato provoca il fallimento della validazione.
Sicurezza email completa con DANE
DANE da solo non basta. Combinalo con MTA-STS e TLS-RPT per una protezione completa del trasporto email:
1. DANE (Autenticazione certificato via DNS)
Verifica l'identità del server destinatario tramite DNSSEC.
- Usa questo generatore
- Verificare il deployment DANE
2. MTA-STS (Applicazione TLS via HTTPS)
Alternativa a DANE senza DNSSEC.
3. TLS-RPT (Segnalare i fallimenti)
Segnala i fallimenti di connessione TLS (DANE e MTA-STS).
Ordine di deployment consigliato
- Attivare DNSSEC sul dominio
- Pubblicare i record TLSA (DANE)
- Configurare TLS-RPT per ricevere i report di fallimento
- Opzionalmente, aggiungere MTA-STS come livello aggiuntivo
- Monitorare i report TLS-RPT regolarmente
FAQ - Domande frequenti
D: Come creare un record DANE TLSA?
R: Usa il nostro generatore: seleziona il tipo di usage (DANE-EE consigliato), il selector (SPKI per la stabilità), il matching type (SHA-256), e incolla il tuo certificato PEM. Lo strumento genera il record DNS completo pronto da pubblicare.
D: Quale certificate usage scegliere per DANE?
R: Per la maggior parte dei deployment SMTP, DANE-EE (3) con selector SPKI e matching SHA-256 è consigliato. Per facilitare la rotazione del certificato, usa DANE-TA (2) con il certificato della tua CA.
D: Bisogna usare il certificato completo o un hash?
R: Usa sempre un hash SHA-256. I dati completi (matching type 0) creano record DNS molto grandi con rischi di troncatura UDP. SHA-256 produce una stringa compatta di 64 caratteri.
D: Cos'è il selector SPKI?
R: Il selector SPKI (1) calcola l'hash solo della chiave pubblica del certificato. Il record TLSA resta valido quando rinnovi con la stessa coppia di chiavi, a differenza del selector Cert (0) che cambia ad ogni rinnovo.
D: Come implementare un record DANE TLSA?
R: 1) Attiva DNSSEC, 2) Aggiungi il TLSA a _25._tcp.tuoservermail, 3) Attendi la propagazione DNS, 4) Verifica con il nostro DANE TLSA Checker. Il record deve essere firmato DNSSEC.
D: Come gestire i rinnovi Let's Encrypt con DANE?
R: Due strategie: DANE-TA (usage 2) con il certificato CA Let's Encrypt sopravvive automaticamente ai rinnovi. DANE-EE (usage 3) con selector SPKI e --reuse-key in Certbot funziona altrettanto bene.
Strumenti complementari
| Strumento | Utilità |
|---|---|
| DANE TLSA Validator | Validare la sintassi prima della pubblicazione |
| DANE TLSA Checker | Verificare il record dopo il deployment |
| Generatore MTA-STS | Creare una policy MTA-STS (sicurezza TLS alternativa) |
| Generatore TLS-RPT | Attivare il reporting dei fallimenti DANE |
| Hosting MTA-STS | Aggiungi MTA-STS come fallback con policy ospitate gratuitamente |
| Audit dominio email | Audit completo dell'autenticazione email |
Risorse utili
- RFC 6698 - DANE TLSA (specifica originale)
- RFC 7671 - Updates to DANE (aggiornamenti operativi)
- RFC 7672 - SMTP Security via DANE (DANE per SMTP)
- Certbot - Reuse Key (riutilizzo chiave per DANE)
- Microsoft - DANE with DNSSEC (guida Exchange Online)