Che cos'è
DKIM?
DKIM (DomainKeys Identified Mail) è un protocollo crittografico di autenticazione email che aggiunge una firma digitale ai messaggi in uscita, consentendo ai destinatari di verificare che l'email provenga realmente dal dominio dichiarato e non sia stata alterata durante il transito.
Verifica crittografica in tre passaggi
DKIM utilizza la crittografia a chiave pubblica per dimostrare che un messaggio email è stato inviato dal dominio che dichiara e non è stato modificato dopo l'invio.
Il mittente firma
Quando il tuo server di posta invia un'email, crea un hash di intestazioni selezionate e del corpo del messaggio, cifra l'hash con una chiave privata e allega il risultato come intestazione DKIM-Signature.
Il messaggio viaggia
L'email firmata attraversa Internet. Poiché la firma DKIM fa parte dell'intestazione del messaggio, viaggia con l'email attraverso un numero qualsiasi di server intermedi e inoltratori.
Il destinatario verifica
Il server destinatario legge l'intestazione DKIM-Signature, recupera la chiave pubblica dal DNS in selector._domainkey.yourdomain.com, decifra l'hash, lo ricalcola e li confronta. Una corrispondenza significa che DKIM supera il controllo.
Che aspetto ha un record DKIM
nel DNS
Un record DKIM è un record DNS TXT pubblicato in selector._domainkey.yourdomain.com. Contiene la chiave pubblica che i destinatari usano per verificare la firma DKIM allegata ai Suoi messaggi in uscita.
- Il selettore è scelto dal tuo provider email (ad es. google, selector1)
- La chiave pubblica è codificata in Base64 e può essere di 1024 o 2048 bit
- NIST raccomanda chiavi RSA da 2048 bit come minimo per la sicurezza
- Le chiavi Ed25519 sono più piccole e veloci ma non ancora supportate universalmente
selector1._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEB..."
v=DKIM1 k=rsa p=MIGf... Come i selettori identificano quale chiave usare
Un selettore DKIM è una stringa nell'intestazione DKIM-Signature (il tag s=) che indica al destinatario quale record DNS contiene la chiave pubblica. Ogni servizio di posta usa il proprio selettore, consentendo a un dominio di avere più chiavi DKIM attive contemporaneamente.
google google._domainkey.example.com selector1, selector2 selector1._domainkey.example.com s1, s2 s1._domainkey.example.com k1 k1._domainkey.example.com personalizzato (CNAME) xxxxxxx._domainkey.example.com 20230601xxxxx CNAME verso dkim.postmarkapp.com DKIM vs SPF vs DMARC
I tre protocolli funzionano insieme per fornire un'autenticazione email a più livelli. SPF autorizza i server di invio e DMARC li unisce con una politica - ciascuno protegge da diversi vettori di attacco.
Problemi DKIM comuni e come risolverli
Gli errori DKIM si riconducono di solito alla gestione delle chiavi, alla configurazione DNS o alla modifica dei messaggi da parte di intermediari.
Firma non corrispondente
La chiave privata usata per firmare non corrisponde alla chiave pubblica nel DNS. Solitamente causato da una rotazione delle chiavi incompleta o dalla pubblicazione della chiave sbagliata. Verifica con uno strumento di ricerca DKIM.
Lacune nella rotazione delle chiavi
Vecchia chiave rimossa dal DNS prima che tutti i messaggi firmati con essa siano stati consegnati e verificati. Pubblica sempre prima la nuova chiave, attendi almeno 48 ore, quindi rimuovi la vecchia.
L'inoltro rompe la firma
Le mailing list e gli inoltratori che modificano le intestazioni o il contenuto del corpo invalidano la firma DKIM. ARC (Authenticated Received Chain) aiuta, ma la sua adozione è ancora in crescita.
Record DNS troppo lungo
Alcuni provider DNS suddividono in modo errato i record TXT lunghi. Le chiavi pubbliche DKIM, in particolare RSA da 2048 bit, possono superare i 255 caratteri e devono essere concatenate correttamente su più stringhe.
Record DKIM mancante
Il record DNS TXT non è mai stato pubblicato, è stato eliminato per errore o si trova nella posizione del selettore sbagliata. Controlla che il record esista in selector._domainkey.yourdomain.com.
Firma scaduta
Il tag x= nell'intestazione DKIM-Signature imposta un timestamp di scadenza. Se il messaggio viene verificato dopo questo timestamp, DKIM fallisce. Frequente con consegne ritardate o messaggi in coda.
Domande frequenti su DKIM
Che cos'è DKIM?
DKIM (DomainKeys Identified Mail) è un protocollo crittografico di autenticazione email definito nella RFC 6376 che aggiunge una firma digitale ai messaggi email in uscita. Il server di posta destinatario usa la firma per verificare due cose: che l'email provenga realmente dal dominio da cui dichiara di provenire e che il contenuto del messaggio non sia stato alterato durante il transito. A differenza di SPF, che verifica l'IP del server di invio, DKIM firma il contenuto effettivo del messaggio, rendendolo il metodo di autenticazione più affidabile per le email inoltrate.
Come funziona DKIM?
DKIM funziona in tre passaggi. Primo, il server di posta di invio crea un hash di intestazioni selezionate e del corpo del messaggio, quindi cifra quell'hash con una chiave privata memorizzata sul server. L'hash cifrato diventa l'intestazione DKIM-Signature allegata all'email. Secondo, il proprietario del dominio pubblica la corrispondente chiave pubblica come record DNS TXT in selector._domainkey.yourdomain.com. Terzo, quando l'email arriva, il server destinatario recupera la chiave pubblica dal DNS, decifra l'hash, ricalcola l'hash dal messaggio ricevuto e li confronta. Se corrispondono, DKIM supera il controllo.
Che cos'è un selettore DKIM?
Un selettore DKIM è una stringa che identifica quale chiave pubblica usare per verificare una firma DKIM. Appare nell'intestazione DKIM-Signature come tag s= e nella posizione del record DNS in selector._domainkey.yourdomain.com. I selettori consentono a un dominio di avere più chiavi DKIM attive contemporaneamente, cosa essenziale per la rotazione delle chiavi e per i domini che usano più servizi di posta. I selettori comuni includono google per Google Workspace, selector1 e selector2 per Microsoft 365 e s1 per SendGrid.
Qual è la differenza tra DKIM e SPF?
SPF (Sender Policy Framework) verifica che l'indirizzo IP del server di invio sia autorizzato nel record DNS del dominio. Controlla il mittente della busta (Return-Path), non l'intestazione From visibile. DKIM verifica che il contenuto del messaggio non sia stato alterato durante il transito allegando una firma crittografica. La differenza chiave: SPF si interrompe quando un'email viene inoltrata perché l'IP dell'inoltratore non è presente nel record SPF originale, ma le firme DKIM sopravvivono all'inoltro perché sono attaccate al messaggio stesso. DMARC unisce entrambi richiedendo che SPF o DKIM superi il controllo e si allinei con il dominio dell'intestazione From.
Perché DKIM fallisce?
DKIM fallisce per diversi motivi: l'intestazione DKIM-Signature o le intestazioni firmate sono state modificate durante il transito (frequente con le mailing list che aggiungono piè di pagina o modificano l'oggetto), la chiave pubblica nel DNS non corrisponde alla chiave privata usata per firmare (spesso causato da una rotazione delle chiavi incompleta), il record DNS TXT è mancante o irraggiungibile, la firma è scaduta (il tag x= nella firma specifica un timestamp di scadenza), oppure il corpo del messaggio è stato alterato da un server intermedio. La modifica del contenuto da parte di software per mailing list come Mailman e Google Groups è la causa più comune di errore DKIM.
Come trovo il mio selettore DKIM?
Può trovare il Suo selettore DKIM esaminando l'intestazione DKIM-Signature in qualsiasi email inviata dal Suo dominio. Apra le intestazioni dell'email (in Gmail, clicchi sui tre puntini e selezioni Mostra originale) e cerchi il tag s= nell'intestazione DKIM-Signature. Il valore di s= è il Suo selettore. In alternativa, usi lo strumento DKIM Lookup di DMARC Report su dmarcreport.com/tools/dkim-lookup/ per scoprire tutti i selettori pubblicati per il Suo dominio.
Con quale frequenza dovrei ruotare le chiavi DKIM?
La buona pratica prevede di ruotare le chiavi DKIM ogni 6-12 mesi per le chiavi RSA e annualmente per le chiavi Ed25519. NIST raccomanda chiavi RSA da 2048 bit come minimo. La rotazione delle chiavi comporta la generazione di una nuova coppia di chiavi, la pubblicazione della nuova chiave pubblica sotto un nuovo selettore, la configurazione del server di posta per firmare con la nuova chiave e la rimozione della vecchia chiave pubblica dal DNS dopo un periodo di grazia. I selettori rendono questo processo trasparente perché le chiavi vecchie e nuove possono coesistere durante la transizione.
Scopri i tuoi selettori DKIM
Usa il nostro strumento DKIM Lookup gratuito per trovare tutte le chiavi DKIM pubblicate per il tuo dominio e verificare che siano configurate correttamente.
Verifica il record DKIMCosa dicono i team di sicurezza sul monitoraggio DKIM
Rated 4.8/5 on G2 · 469 verified reviews
Verified User in Information Technology and Services
"Best security tool for your own domains"
The weekly reports help me a lot to analyze quickly the emails sent from my domains and that gives me peace of mind.
Ryan C.
Director
"Control Centre for Email Security"
I like that we can see and check all reports on just 1 platform. We manage multiple domains, and monitoring them all in one place is essential.
eddy g.
Director
"A great solution to a common email problem."
I have been using them for the last month after my Google business email started giving DMARC errors. I didn't even know what it meant at that time. After a little googling I found that people can spoof it as well. So far so good — the best thing is it protects every email.