Cos'è DKIM e come funziona?
DKIM (DomainKeys Identified Mail) è un metodo di autenticazione email che consente al mittente di firmare crittograficamente ogni messaggio in uscita. Il server di posta ricevente verifica questa firma usando una chiave pubblica pubblicata nel DNS del mittente. Una firma DKIM valida dimostra due cose: il messaggio proviene davvero dal dominio dichiarato e non è stato alterato in transito.
A differenza di SPF, che confronta l'IP di invio con un elenco consentito, DKIM funziona allegando una firma digitale al messaggio stesso. Così la verifica DKIM sopravvive all'inoltro della posta, dove SPF spesso fallisce perché l'IP del server di inoltro non è nel record SPF originale.
Il formato del record DNS DKIM
Un record DKIM è un record DNS TXT pubblicato su un sottodominio specifico: selector._domainkey.yourdomain.com. Il selettore è un'etichetta che scegli tu: i valori comuni sono mail, google, s1 o default. Il valore del record inizia con v=DKIM1; k=rsa; p= seguito dalla chiave pubblica codificata in base64.
La chiave privata resta segreta sul tuo server di posta o è gestita dal tuo provider di email. La chiave pubblica è ciò che pubblichi nel DNS. I server riceventi usano la chiave pubblica per verificare le firme create con la chiave privata: il classico schema della crittografia a chiave pubblica.
Dove trovare la chiave pubblica DKIM
La chiave pubblica DKIM viene generata dal tuo provider di posta quando attivi la firma DKIM. Ecco dove trovarla nei provider più comuni:
- Google Workspace: console Admin → Apps → Google Workspace → Gmail → Authenticate email. Genera una nuova chiave e copia il valore del record TXT.
- Microsoft 365: Exchange admin center → Protection → DKIM. Attiva DKIM per il tuo dominio e copia i record CNAME (Microsoft usa CNAME, non record TXT diretti).
- Mailchimp: Account → Domains → Verify a domain. Mailchimp fornisce il valore del record TXT DKIM da aggiungere al DNS.
- SendGrid: Settings → Sender Authentication → Domain Authentication. SendGrid genera per te il record TXT DKIM completo.
- Server proprio (Postfix, Exim): usa opendkim-genkey per generare una coppia di chiavi. Il file della chiave pubblica contiene il valore del record TXT.
Buone pratiche DKIM
Usa una chiave da 2048 bit quando possibile: le chiavi da 1024 bit sono considerate deboli e alcuni sistemi di posta possono segnalarle. Ruota le chiavi DKIM periodicamente (almeno una volta all'anno) per limitare l'esposizione in caso di compromissione. Mantieni la chiave precedente nel DNS per alcuni giorni dopo la rotazione, così i messaggi ancora in transito possono essere verificati.
DKIM da solo non protegge l'header From visibile. Per completare l'autenticazione email, aggiungi una policy DMARC che allinei i risultati DKIM al dominio From. Conta anche una lista pulita: anche la posta autenticata finisce nello spam se viene respinta ripetutamente. Usa verifica email per rimuovere gli indirizzi non validi, oppure verifica liste grandi con verifica email in blocco.