Modulo 4 · 4.4
DKIM: la firma sotto la Sua posta
Modulo 4: Record per la posta elettronica · Tempo di lettura: 8 minuti
Obiettivo della lezione: Dopo questa lezione saprà spiegare come funziona DKIM, trovare e controllare un record DKIM e impostare correttamente un record DKIM di un servizio esterno (come TXT o come CNAME).
Concetti chiave: DKIM, firma digitale, chiave privata e chiave pubblica, selector, _domainkey, d= e s=, v=DKIM1; k=rsa; p=, DKIM tramite CNAME, rotazione delle chiavi
Un sigillo su ogni email
SPF (lezione 4.3) verifica da quale server proviene un'email. DKIM (DomainKeys Identified Mail, RFC 6376) funziona in modo diverso: appone una firma digitale sull'email stessa.
Ecco come funziona:
- Il server di posta mittente possiede una chiave privata segreta. Con essa crea per ogni email una firma relativa alle parti principali: il mittente, l'oggetto, la data e il contenuto.
- Questa firma viene inclusa in un'intestazione dell'email:
DKIM-Signature. - La chiave pubblica corrispondente si trova nel DNS del dominio, in un record TXT.
- Il destinatario recupera questa chiave pubblica e verifica la firma. Se corrisponde, sa due cose: l'email è stata effettivamente firmata da qualcuno che amministra il DNS di quel dominio, e l'email non è stata modificata durante il tragitto.
Il bello è che DKIM continua a funzionare quando un'email viene inoltrata, purché il contenuto non venga modificato. Con SPF questo è più difficile.
Dove si trova la chiave? Il selector
Un dominio può avere più chiavi DKIM: una del proprio server di posta, una di Microsoft 365, una del servizio di newsletter. Per distinguerle, ogni chiave ha un nome, il selector.
Nella firma compaiono due campi importanti:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail2026; ...d=example.com: il dominio che firma.s=mail2026: il selector.
Il destinatario cerca quindi la chiave con questo nome:
<selector>._domainkey.<dominio>
mail2026._domainkey.example.comLa parte _domainkey è fissa. Il record si presenta ad esempio così:
mail2026._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."| Elemento | Significato |
|---|---|
v=DKIM1 | Si tratta di una chiave DKIM. |
k=rsa | Il tipo di chiave. RSA è il tipo comune; esiste anche ed25519 (RFC 8463). |
p=... | La chiave pubblica stessa, una lunga sequenza di lettere e cifre. Se p= è vuoto, la chiave è stata revocata. |
Una chiave RSA da 2048 bit è la scelta comune; 1024 bit è il minimo (RFC 8301). Una chiave di questo tipo supera i 255 caratteri, quindi il record è composto da più stringhe di testo (lezione 4.2). La maggior parte dei pannelli gestisce questo aspetto automaticamente.
Il Suo DKIM, e quello dei servizi
Il Suo pacchetto di hosting o server di posta. Su molti server DKIM è attivo per impostazione predefinita e il pannello inserisce da solo il record nel DNS. In tal caso vedrà un record TXT con un nome come x._domainkey o default._domainkey.
Se il DNS del Suo dominio si trova presso un altro fornitore (ad esempio Cloudflare o il Suo registrar), il Suo server di posta non può impostare il record autonomamente lì. In tal caso copi il nome e il valore completo dal pannello di hosting e crei presso il Suo fornitore DNS un record TXT con esattamente quel nome e quel valore. È un passaggio che spesso viene dimenticato quando si cambiano i nameserver: la posta finisce allora più spesso nello spam.
Servizi esterni. Microsoft 365, Google Workspace e i servizi di newsletter firmano con la propria chiave. Da loro riceverà uno o più record:
- Come TXT, ad esempio Google Workspace: nome
google._domainkey, valorev=DKIM1; k=rsa; p=seguito dalla lunga chiave. - Come CNAME, ad esempio Microsoft 365 (
selector1._domainkeyeselector2._domainkey) o Mailchimp (k2._domainkeyek3._domainkey). Un CNAME punta a una chiave gestita direttamente dal servizio. Il vantaggio è che il servizio può sostituire la propria chiave senza che Lei debba fare nulla.
Tutti questi record hanno un proprio selector e quindi non interferiscono tra loro. Non rimuova il record DKIM del Suo server di posta quando aggiunge un servizio.
Perché due selector?
Servizi come Microsoft 365 richiedono due record CNAME, selector1 e selector2. Firmano con una chiave alla volta e passano a intervalli regolari all'altra (rotazione delle chiavi). Se imposta solo selector1, il sistema funziona fino al primo cambio, dopodiché DKIM smette di funzionare all'improvviso. Imposti quindi sempre tutti i record indicati dal servizio.
Errori comuni
- Nome di dominio duplicato. Digita
k2._domainkey.example.comin un pannello che aggiunge automaticamente il nome di dominio. Risultato:k2._domainkey.example.com.example.com. Digiti solok2._domainkey. - TXT invece di CNAME (o viceversa). Riprenda esattamente il tipo indicato dal servizio.
- Manca il punto finale in una destinazione CNAME. Nei pannelli che lo richiedono:
dkim2.mcsv.net.con il punto. - Chiave troncata. Durante la copia manca l'ultima parte di
p=. Confronti l'inizio e la fine con l'originale. - DKIM attivato nel pannello del servizio ma record non impostati, o viceversa. Nella maggior parte dei servizi deve prima impostare i record e solo dopo attivare DKIM nella loro schermata di gestione.
Verificare se DKIM funziona
Invii un'email a un indirizzo presso un grande provider (ad esempio Gmail) e visualizzi l'originale (Mostra originale o Visualizza sorgente). Cerchi dkim=pass e veda quale dominio è indicato. Oppure invii un'email a un servizio di test come mail-tester.com. Può anche richiedere il record direttamente con uno strumento DNS: richieda il record TXT di <selector>._domainkey.<dominio>.
In pratica: ecco come appare in un pannello
In questo esempio utilizziamo DirectAdmin. In Amministrazione DNS compare un record TXT con il nome x._domainkey; il valore inizia con v=DKIM1; k=rsa; p=. Sotto Gestione E-mail, Accounts E-mail c'è un pulsante per attivare o disattivare DKIM. Un CNAME di un servizio si crea tramite Aggiungi Record, tipo CNAME, nome k2._domainkey, valore con un punto alla fine.
In altri pannelli DKIM si trova a volte sotto "Autenticazione email" o "Sicurezza email", ma il record nel DNS è ovunque lo stesso.
Riepilogo
- DKIM appone una firma digitale su ogni email; la chiave pubblica si trova nel DNS.
- La chiave si trova su
<selector>._domainkey.<dominio>. Il selector è indicato nella firma (s=), così come il dominio (d=). - Ogni servizio ha un proprio selector; i record di servizi diversi convivono senza interferire.
- I servizi usano spesso record CNAME e più selector. Li imposti tutti, con esattamente il tipo indicato.
- Se il Suo DNS si trova presso un altro fornitore, deve impostare lì personalmente la chiave DKIM del Suo server di posta.
Quiz
Esercizio
Esercizio Z4.4: cercare DKIM. Apra un'email ricevuta da un'azienda o un'organizzazione e ne visualizzi l'originale. Cerchi nell'intestazione DKIM-Signature il dominio (d=) e il selector (s=). Inserisca entrambi. Il controllo cercherà la chiave corrispondente.
Esercizio O4.4: configurazione autonoma nella zona di esercitazione. Nella zona di esercitazione utilizza un servizio fittizio; sul Suo dominio reale riprenda la chiave o il CNAME effettivi del Suo server di posta o servizio. Con l'esercizio riceverà una chiave di esercitazione (il valore dopo p=). Questa chiave è lunga: la incolli per intero, senza omettere nulla. Crei nella Sua zona di esercitazione :<code>.dnspractice.eu
- un record TXT su
cursus._domainkeycon il valorev=DKIM1; k=rsa; p=<oefensleutel>; - un record CNAME su
k2._domainkeyche punti adkim.newsletter-demo.dnspractice.eu.(con il punto finale se il Suo pannello lo richiede).
Esercizio O4.4
Questo esercizio lo svolge nella Sua zona di esercitazione: una vera zona DNS sui nameserver di WebOké, solo per Lei. Si registri con il Suo indirizzo email. Riceverà un link di accesso via email e tornerà poi a questa lezione. Usiamo il Suo indirizzo solo per il corso.
Per approfondire
I passaggi descritti in questi articoli si riferiscono ai pannelli di WebOké; in altri pannelli il funzionamento è simile.
- Guida DirectAdmin 5.8: Attivare e verificare DKIM
- Configurare DKIM quando il DNS è gestito da un server esterno
- Guida DirectAdmin 5.4: Record CNAME e il punto finale
- Guida WebOké 6.7: La scheda Configura l'e-mail (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (lunghezza della chiave), RFC 8463 (Ed25519)
