Che cos'è il DKIM? DomainKeys Identified Mail spiegato

Il DKIM (DomainKeys Identified Mail) allega una firma crittografica alla posta in uscita, permettendo al server ricevente di verificare che il messaggio provenga davvero dal tuo dominio e non sia stato alterato in transito. Insieme a SPF e DMARC forma il trio standard dell'autenticazione e-mail.

SPF, DKIM e DMARC insiemeMittenteSPFTXTDKIMTXTDMARC_dmarcPostapasspassp=
SPF controlla il server che invia, DKIM controlla la firma e DMARC decide cosa succede quando uno dei due fallisce.

Come funziona il DKIM

Il tuo server di posta firma ogni messaggio in uscita con una chiave privata. La firma viene aggiunta come intestazione DKIM-Signature. Il server ricevente recupera la chiave pubblica del tuo dominio dal DNS (pubblicata come record TXT) e verifica che la firma corrisponda.

  1. Il tuo server di posta genera una coppia di chiavi pubblica/privata
  2. La chiave pubblica viene pubblicata come record TXT su un selector, ad es. selector1._domainkey.tuodominio.com
  3. Ogni e-mail in uscita viene firmata con la chiave privata, aggiungendo un'intestazione DKIM-Signature
  4. Il server ricevente recupera la tua chiave pubblica dal DNS usando il selector indicato nell'intestazione
  5. Ricalcola la firma e la confronta: se corrisponde, l'e-mail è autentica e non modificata

Record DNS del DKIM

Il record si trova su un nome host specifico del selector, non sulla radice del dominio:

selector1._domainkey.yourdomain.com.  TXT  "v=DKIM1; k=rsa; p=MIGfMA0GCSqGS..."

Tag del record DKIM

TagMeaning
vVersione, sempre DKIM1
kTipo di chiave, quasi sempre rsa
pLa chiave pubblica (codificata in base64)

Che cos'è un «selector»?

Il selector consente a un dominio di pubblicare più chiavi DKIM contemporaneamente: utile quando si ruotano le chiavi o si usano più provider di posta. Ogni provider ti indica quale selector usare (esempi comuni: google, selector1, k1, mandrill).

Configurare il DKIM

  1. Attiva la firma DKIM presso il tuo provider di posta (Google Workspace, Microsoft 365, SendGrid, ecc.): sarà lui a generare la coppia di chiavi
  2. Copia il record TXT e il nome host del selector che ti forniscono
  3. Aggiungi il record TXT al tuo DNS
  4. Attendi la propagazione, poi verifica presso il provider o con una ricerca DKIM

Perché servono SPF, DKIM e DMARC insieme

Ognuno copre una lacuna diversa:

  • SPF autorizza quali server possono inviare, ma si rompe quando la posta viene inoltrata
  • DKIM dimostra che il contenuto del messaggio non è stato manomesso: sopravvive all'inoltro, ma da solo non dice chi è autorizzato a inviare
  • DMARC collega i due, dice ai destinatari cosa fare quando entrambi falliscono e ti dà visibilità tramite i report

Problemi comuni

  • La firma si rompe dopo l'inoltro da parte delle mailing list — alcuni software per liste riscrivono corpo o oggetto, invalidando la firma. È previsto ed è esattamente il motivo per cui l'allineamento DMARC accetta che passi SPF O DKIM, non entrambi.
  • Chiave troppo lunga per una singola stringa TXT — le chiavi da 2048 bit spesso vanno divise su più stringhe tra virgolette nello stesso record TXT; la maggior parte dei provider DNS lo gestisce automaticamente.
  • Selector sbagliato — se il selector nel tuo DNS non corrisponde a quello con cui firma il provider di posta, la verifica fallisce silenziosamente.

Controlla la tua configurazione DKIM

Usa la verifica della sicurezza e-mail per controllare insieme SPF, DKIM e DMARC:

Provalo sul tuo dominio

Vedi la teoria in pratica: esegui Verifica della sicurezza e-mail sul tuo dominio.