DKIM Spiegato: Cos'è, Come Funziona e Come Configurarlo
Guida completa al DKIM — verifica il record, capisci i selettori, genera le chiavi e risolvi gli errori. Strumento DKIM checker gratuito incluso.
Ogni giorno miliardi di email attraversano internet. Senza un modo per verificare che un messaggio provenga davvero dal dominio che dichiara, gli attaccanti possono falsificare l'indirizzo "From" e impersonare brand affidabili. DKIM (DomainKeys Identified Mail) risolve questo problema allegando una firma crittografica a ogni email in uscita, permettendo ai server di posta riceventi di verificare che il messaggio non sia stato manomesso e provenga davvero dal tuo dominio.
In questa guida analizzeremo nel dettaglio come funziona DKIM, ti accompagneremo passo dopo passo nella configurazione e copriremo gli errori più comuni in cui ci si imbatte.
Che cos'è DKIM?#
DKIM è uno standard di autenticazione email definito nella RFC 6376. Permette a un dominio mittente di assumersi la responsabilità di un messaggio firmandolo con una firma digitale. Il server ricevente può poi cercare la chiave pubblica del mittente nel DNS e verificare la firma.
Nella sua essenza, DKIM risponde a una sola domanda: Questa email è stata davvero inviata dal dominio nella firma e non è stata alterata durante il transito?
DKIM da solo non previene spam o phishing. Fornisce piuttosto un mattone fondamentale che altri sistemi, in particolare DMARC, usano per prendere decisioni di policy sulla posta non autenticata.
Come funziona DKIM: il processo di firma#
DKIM si basa sulla crittografia a chiave pubblica. Ecco cosa succede quando un'email viene inviata da un dominio con DKIM attivo:
1. Generazione della coppia di chiavi#
Il proprietario del dominio genera una coppia di chiavi RSA (o Ed25519):
- Chiave privata: conservata in modo sicuro sul server di posta. Questa chiave firma i messaggi in uscita.
- Chiave pubblica: pubblicata come record TXT nel DNS. I server riceventi la usano per verificare le firme.
2. Firma del messaggio#
Quando un'email lascia il server di posta mittente, il modulo DKIM esegue le seguenti operazioni:
- Canonicalizza header e body: DKIM normalizza spazi bianchi e fine riga, in modo che piccole modifiche di formattazione durante il transito non rompano la firma. Le due modalità di canonicalizzazione sono "simple" (rigida) e "relaxed" (tollerante alle modifiche di whitespace).
- Calcola l'hash del body: viene calcolato un hash SHA-256 del body canonicalizzato. Questo hash viene inserito nel tag
bh=(body hash) dell'header della firma. - Firma gli header selezionati: il modulo seleziona alcuni header da includere nella firma (From, To, Subject, Date e altri). Calcola un hash sugli header canonicalizzati più l'header DKIM-Signature stesso (escluso il valore
b=), poi cifra quell'hash con la chiave privata. - Inserisce l'header DKIM-Signature: la firma risultante, insieme ai metadati, viene aggiunta come header
DKIM-Signatureall'email.
3. Verifica della firma#
Quando l'email arriva al server ricevente:
- Il server estrae l'header
DKIM-Signature. - Legge i tag
d=(dominio) es=(selettore) per capire dove trovare la chiave pubblica. - Interroga il DNS per un record TXT su
{selector}._domainkey.{domain}. - Usa la chiave pubblica per decifrare la firma e confrontarla con il proprio hash di header e body.
- Se gli hash corrispondono, il controllo DKIM ha esito positivo. Altrimenti, fallisce.
Anatomia di un header DKIM-Signature#
Ecco un esempio di header DKIM-Signature:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=example.com; s=google;
h=from:to:subject:date:message-id;
bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
b=AuUoFEfDxTDkHlLXSZEpZj79LICEps6eda7W3deTVFOk...
I tag chiave sono:
- v=1: versione DKIM (sempre 1).
- a=rsa-sha256: algoritmo di firma. RSA con SHA-256 è il più comune.
- c=relaxed/relaxed: metodo di canonicalizzazione per header/body. "relaxed/relaxed" è il più tollerante e quello consigliato.
- d=fliplink.me: dominio firmatario. È il dominio che si assume la responsabilità del messaggio.
- s=google: selettore. Indica al verificatore quale chiave pubblica cercare.
- h=from:to:subject:date:message-id: elenco degli header inclusi nella firma.
- bh=...: hash codificato in Base64 del body canonicalizzato.
- b=...: firma stessa codificata in Base64.
Capire i selettori DKIM#
Un selettore è un'etichetta che punta a una specifica chiave pubblica nel tuo DNS. Il percorso completo della query DNS è:
{selector}._domainkey.{domain}
Per esempio, se il tuo dominio è fliplink.me e il selettore è google, il server ricevente interroga:
google._domainkey.fliplink.me
Perché esistono i selettori?#
I selettori permettono a un dominio di avere più chiavi DKIM contemporaneamente. È utile per:
- Rotazione delle chiavi: puoi pubblicare una nuova chiave sotto un nuovo selettore, aggiornare il server di posta perché firmi con essa e poi rimuovere il vecchio record DNS, il tutto senza alcuna interruzione dell'autenticazione.
- Più servizi di posta: se invii email tramite Google Workspace, SendGrid e Mailchimp, ogni servizio può avere il proprio selettore e la propria coppia di chiavi. Google potrebbe usare
google, SendGrids1, Mailchimpk1. - Test: puoi distribuire una chiave di test sotto un selettore separato prima di passare il traffico di produzione.
Nomi di selettori comuni per provider#
I diversi provider email usano selettori predefiniti differenti:
| Provider | Selettori comuni |
|---|---|
| Google Workspace | google |
| Microsoft 365 | selector1, selector2 |
| SendGrid | s1, s2, sendgrid |
| Mailchimp | k1, k2, k3 |
| Zoho | s1, s2, zoho |
| Amazon SES | amazonses |
| Postmark | postmark |
| Mailgun | mailgun |
Guida passo-passo alla configurazione DKIM#
Step 1: Genera la coppia di chiavi DKIM#
Se usi un servizio email gestito (Google Workspace, Microsoft 365, ecc.), il provider di solito genera le chiavi per te. Devi solo pubblicare la chiave pubblica che ti fornisce.
Se gestisci il tuo server di posta, genera una coppia di chiavi RSA a 2048 bit:
openssl genrsa -out dkim-private.pem 2048
openssl rsa -in dkim-private.pem -pubout -out dkim-public.pem
La chiave privata resta sul tuo server. Quella pubblica va nel DNS.
Step 2: Scegli un selettore#
Scegli un nome di selettore descrittivo. Le opzioni comuni sono default, mail, dkim, oppure un nome basato sulla data come jan2026 per tracciare facilmente la rotazione. Evita selettori che rivelano dettagli interni dell'infrastruttura.
Step 3: Pubblica il record TXT nel DNS#
Crea un record TXT su {selector}._domainkey.tuodominio.com con la tua chiave pubblica. Il valore del record è simile a questo:
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
I tag nel record DNS sono:
- v=DKIM1: identifica il record come chiave DKIM. Nota che, secondo la RFC 6376, il tag
v=è raccomandato ma non obbligatorio. - k=rsa: tipo di chiave (RSA è il default e può essere omesso).
- p=...: chiave pubblica codificata in Base64. Se questo tag è vuoto (
p=), significa che la chiave è stata revocata.
Importante: molti provider DNS hanno un limite di caratteri sui record TXT. Una chiave da 2048 bit produce una stringa lunga. Se il tuo provider lo supporta, pubblica il valore intero. In caso contrario, alcuni provider permettono di dividere il valore in più stringhe all'interno di un singolo record TXT.
Step 4: Configura il server di posta#
La configurazione dipende dal tuo setup:
- Google Workspace: vai in Admin Console, poi Apps, Google Workspace, Gmail, "Authenticate Email." Google fornisce il valore del record TXT e il selettore. Lo pubblichi nel DNS e clicchi su "Start Authentication."
- Microsoft 365: vai nel portale Microsoft 365 Defender, poi Policies, DKIM. Abilita la firma DKIM per il tuo dominio. Microsoft fornisce due record CNAME da pubblicare.
- Postfix con OpenDKIM: installa
opendkim, configura signing table, key table e trusted hosts. Punta al file della tua chiave privata.
Step 5: Verifica la configurazione#
Dopo aver pubblicato il record DNS, attendi la propagazione DNS (di solito da 5 a 60 minuti, ma fino a 48 ore a seconda del TTL). Poi invia un'email di test e controlla gli header.
Puoi anche verificare istantaneamente la tua configurazione DKIM usando l'Email Health Checker gratuito di Nova Uptime. Scansiona automaticamente oltre 50 selettori comuni per rilevare la tua configurazione DKIM e fornisce un report dettagliato sullo stato di autenticazione email.
Errori DKIM comuni#
1. Lunghezza della chiave troppo corta#
Una chiave RSA a 1024 bit è considerata debole e può essere rifiutata da alcuni destinatari. Usa sempre chiavi a 2048 bit. Alcuni provider supportano ora chiavi a 4096 bit, anche se i limiti di dimensione dei record DNS possono renderle difficili da pubblicare.
2. Errori di formattazione del record DNS#
Spazi bianchi extra, virgolette mancanti o interruzioni di riga nel valore del record TXT sono la causa più frequente di fallimento DKIM. Verifica sempre l'esatto contenuto del record dopo la pubblicazione.
3. Dimenticarsi di firmare con servizi di terze parti#
Se invii email tramite una piattaforma di marketing, un servizio email transazionale o un CRM, ogni servizio ha bisogno della propria configurazione DKIM. Un'email inviata tramite SendGrid non sarà firmata con la chiave Google Workspace. Devi configurare DKIM separatamente per ogni servizio di invio.
4. Non ruotare le chiavi#
Le chiavi DKIM dovrebbero essere ruotate periodicamente (ogni 6-12 mesi è una cadenza ragionevole). Usa i selettori per rendere la rotazione fluida: pubblica una nuova chiave sotto un nuovo selettore, cambia la configurazione di firma, verifica che funzioni, poi rimuovi il record DNS del vecchio selettore.
5. Firmare troppo pochi header#
Includi sempre, come minimo, l'header From nella firma. La maggior parte delle implementazioni include anche To, Subject, Date e Message-ID. Firmare più header offre una protezione più solida contro la manomissione, ma può aumentare il rischio di rottura della firma a causa di elaborazioni legittime della posta. L'header From è obbligatorio secondo la specifica DKIM.
6. Usare la canonicalizzazione "simple"#
La modalità di canonicalizzazione "simple" è molto rigida su whitespace e formattazione. Se un server intermedio (mailing list, servizio di forwarding) apporta anche solo modifiche minime ad header o body, la firma si rompe. Usa "relaxed/relaxed" a meno che tu non abbia un motivo specifico per non farlo.
Come DKIM si relaziona a SPF e DMARC#
DKIM è una parte di un sistema di autenticazione email a tre livelli:
- SPF (Sender Policy Framework): specifica quali indirizzi IP sono autorizzati a inviare email per il tuo dominio. Controlla il mittente di busta (MAIL FROM), non l'header "From" visibile.
- DKIM: verifica crittograficamente che il contenuto del messaggio non sia stato alterato e sia autorizzato dal dominio firmatario.
- DMARC (Domain-based Message Authentication, Reporting, and Conformance): lega insieme SPF e DKIM. Verifica che il dominio nell'header "From" visibile sia allineato con il dominio che ha superato SPF o DKIM e specifica cosa fare con i messaggi che falliscono (none, quarantine o reject).
Perché DMARC abbia esito positivo, deve passare almeno uno tra SPF o DKIM e allinearsi con il dominio "From". Questo significa che DKIM è particolarmente importante quando SPF da solo potrebbe fallire, ad esempio quando l'email viene inoltrata (il forwarding rompe SPF perché cambia l'IP mittente, ma le firme DKIM sopravvivono intatte al forwarding).
Verificare la tua configurazione DKIM#
Interrogare manualmente il DNS per i record DKIM è noioso, perché devi conoscere il nome esatto del selettore e non esiste un modo standard per scoprirli.
L'Email Health Checker di Nova Uptime risolve il problema scansionando automaticamente oltre 50 selettori comuni dei principali provider email. Controlla i record MX, SPF, DKIM e DMARC in un'unica passata e ti dà un punteggio da 0 a 100 con un voto in lettera.
Lo strumento è completamente gratuito, non richiede registrazione e fornisce raccomandazioni concrete se vengono rilevati problemi nella tua configurazione DKIM.
Punti chiave#
- DKIM usa la crittografia a chiave pubblica per firmare le email, dimostrando che provengono dal tuo dominio e non sono state alterate.
- Il sistema dei selettori permette di avere più chiavi per la rotazione e per più servizi di invio.
- Usa sempre chiavi RSA a 2048 bit con canonicalizzazione "relaxed/relaxed".
- Configura DKIM separatamente per ogni servizio che invia email per tuo conto.
- DKIM lavora insieme a SPF e DMARC. Tutti e tre dovrebbero essere configurati per un'autenticazione email completa.
- Usa l'Email Health Checker di Nova Uptime per verificare la tua configurazione DKIM e ottenere un report completo sull'autenticazione email.
Configurare correttamente DKIM è una delle azioni a maggiore impatto che puoi fare per la tua deliverability email. Un messaggio firmato in modo corretto dice ai server riceventi che sei un mittente legittimo che prende sul serio la sicurezza email — e questo fa una grande differenza per arrivare in inbox.
Domande frequenti#
Come verifico il mio record DKIM?#
Usa uno strumento DKIM checker gratuito per cercare il tuo record DKIM. Inserisci il dominio e lo strumento scansiona automaticamente oltre 50 selettori comuni per trovare la tua configurazione DKIM. Puoi anche controllare manualmente con dig TXT selector._domainkey.tuodominio.com se conosci il nome del selettore.
Cos'è un selettore DKIM?#
Un selettore DKIM è un'etichetta che identifica quale coppia di chiavi DKIM usare per firmare. Appare nell'header DKIM-Signature delle email firmate come s=selector. Selettori comuni sono google, selector1, default, s1 e k1. Ogni provider email usa nomi diversi, motivo per cui il rilevamento automatico dei selettori è prezioso.
Quale strumento posso usare per controllare il record DKIM della mia email?#
Il DKIM Checker gratuito di Nova Uptime scansiona automaticamente il tuo dominio per i record DKIM. Rileva i selettori, valida la chiave pubblica e verifica la conformità con la RFC 6376. Per un audit completo dell'autenticazione email che include SPF, DKIM, DMARC e blacklist, usa l'Email Health Checker.
DKIM è obbligatorio per la consegna delle email?#
A partire dal 2026, Gmail e Yahoo richiedono DKIM per i bulk sender. Anche per chi invia volumi bassi, le email senza DKIM hanno maggiori probabilità di finire in spam. DKIM è inoltre necessario per l'allineamento DMARC, sempre più richiesto per la posta business.
Cosa succede se DKIM fallisce?#
Se la verifica DKIM fallisce, il server ricevente controlla la tua policy DMARC. Con p=none, l'email viene consegnata normalmente. Con p=quarantine, finisce in spam. Con p=reject, viene bloccata. Anche senza DMARC, un DKIM fallito aumenta la probabilità di essere filtrati come spam.
Letture correlate#
- Lookup e rilevamento del selettore DKIM — Come funziona la scoperta automatica dei selettori DKIM
- Configurazione e validazione del record DKIM — Configurazione DKIM passo-passo
- Guida completa a SPF, DKIM e DMARC — Come i tre protocolli lavorano insieme
- Fondamenti di deliverability email — Perché l'autenticazione conta per il posizionamento in inbox
- DKIM Checker gratuito — Valida i tuoi record DKIM all'istante
Monitor Your Website Before It Goes Down
Get uptime monitoring, SSL tracking, domain expiry alerts, and email health checks. Free plan — no credit card required.
Start Monitoring FreeArticoli correlati
Guida alla Configurazione DKIM: Setup Completo Passo-Passo
Configura DKIM in 20 minuti: trova il selettore, genera le chiavi, aggiungi i record DNS. Validator DKIM gratuito. Richiesto da Gmail e Yahoo da feb 2026.
Rilevamento Selettore DKIM Spiegato — Trova il Tuo Record DKIM
Non conosci il selettore DKIM? Auto-detect gratuito su 50+ provider. Verifica Google, Mailgun, SendGrid, Microsoft 365 in pochi secondi.
SPF, DKIM e DMARC: La Guida Completa all'Autenticazione Email
Guida ai tre pilastri dell'autenticazione email. Come SPF, DKIM e DMARC lavorano insieme per proteggere il tuo dominio e l'inbox placement.