Cos'è DKIM e a cosa serve
DKIM (DomainKeys Identified Mail) è un sistema di autenticazione che permette di verificare la provenienza di un messaggio email da un dominio firmatario e l'integrità delle parti del messaggio protette dalla firma digitale.
Quando invii un'email, il server di posta configurato per utilizzare DKIM aggiunge al messaggio una firma digitale generata con una chiave privata. DKIM utilizza algoritmi crittografici per generare e verificare le firme digitali. Per le firme RSA, lo standard raccomanda l'utilizzo di chiavi di almeno 2048 bit.
Il server destinatario può verificare la firma utilizzando la corrispondente chiave pubblica, disponibile nel DNS del dominio associato alla firma.
DKIM non cifra il contenuto dell'email e non certifica l'identità della persona che invia il messaggio.
Il suo utilizzo, insieme ai protocolli SPF e DMARC, contribuisce a contrastare l'utilizzo non autorizzato dei domini nell'invio della posta elettronica.
Come funziona DKIM con DMARC
Il protocollo DMARC utilizza i risultati dei controlli SPF e DKIM per verificare che un messaggio sia autenticato e che almeno uno dei domini utilizzati per questi controlli sia allineato al dominio visibile nel campo mittente (From).
Se il controllo DMARC non viene superato, il server destinatario può applicare la politica pubblicata dal dominio, che può richiedere di non intraprendere azioni specifiche, mettere in quarantena o rifiutare il messaggio.
La presenza di una firma DKIM valida non garantisce automaticamente che l'email venga recapitata nella posta in arrivo.
Come utilizzare DKIM con il servizio email Aruba
Per i servizi email Aruba compatibili, la firma DKIM viene applicata automaticamente ai messaggi in uscita quando è disponibile la relativa configurazione.
Prima di effettuare modifiche, verifica se il record DKIM è già presente nella zona DNS del dominio.
Se il dominio è stato attivato prima di febbraio 2024 e il record richiesto non è presente, segui le istruzioni del paragrafo successivo per configurarlo.
Se utilizzi un servizio email esterno, consulta le istruzioni DKIM del relativo fornitore.
Come configurare il record DKIM
Se per il tuo servizio email Aruba è prevista la configurazione manuale DKIM, puoi aggiungere il record TXT indicato da Aruba nella zona DNS del dominio.
Per farlo:
- Accedi al pannello di gestione DNS del dominio.
- Seleziona Aggiungi record.
- Scegli il tipo TXT.
- Nel campo Nome host, inserisci il nome previsto per il record DKIM.
- Nel campo Valore, inserisci la chiave pubblica DKIM fornita per il tuo servizio email.
- Seleziona il TTL e conferma l'aggiunta del record.
Per la configurazione DKIM del servizio email Aruba descritta in questa guida, il selector utilizzato è a1. Se utilizzi un servizio email diverso, fai riferimento ai record DKIM forniti dal relativo gestore.
Host:
a1._domainkey.nomedominio.estensione
Valore:
v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoOhAWzBuKQYXU6E3E9efq+DPvtkkvWPg3EtB+BT2cTrMGh6Xy00mXfPi/EzubRpbhHpv3b3k1d65Vyhmpp5O3HzTQyzIqYMMF5iF5y05D5aEux3pj/i1g5LkAOFE0Xdf+wnI8zppP2jP7IV4bwKPr1OnBqOjs8hfBWSEGaCSFD/aVbOdNldHiwSalzDL38E+IcT0KQB+BdutC2T9B5idcSPaBY57sC4hq31wpBlgNcYpIMDxOQN+E9E+TbgnlJYCOYsD5S0amYFivcJObjSGpdstMBfaM1ox5iEQVpEhLz5cwgohjrMst2us7G9eHZ6p2jR7X+/yTP8ryAAywzMJ5wIDAQAB
Il valore completo del record TXT deve corrispondere alla chiave pubblica prevista per la configurazione di firma utilizzata dal servizio. Non utilizzare chiavi pubbliche appartenenti ad altri servizi email.
Le modalità di inserimento sono descritte nella guida Come gestire un record TXT, DMARC, DKIM e SPF da DNS.
Come verificare che DKIM funzioni
Dopo aver configurato il record e atteso che sia disponibile nel DNS:
- Invia un messaggio dalla tua casella Aruba verso un indirizzo email esterno.
- Apri il messaggio ricevuto e visualizza le intestazioni complete.
- Individua il risultato della verifica DKIM, generalmente riportato nell'intestazione Authentication-Results.
- Ad esempio, nelle intestazioni del messaggio potresti trovare:
Authentication-Results: mx.example.net; dkim=pass header.d=esempio.it; dmarc=pass header.from=esempio.it
In questo esempio:
- dkim=pass indica che la firma DKIM è stata verificata correttamente.
- header.d=esempio.it identifica il dominio associato alla firma DKIM.
- dmarc=pass indica che il controllo DMARC è stato superato.
- header.from=esempio.it identifica il dominio del mittente utilizzato per la verifica DMARC.
Se il dominio associato alla firma DKIM è allineato a quello del mittente, la firma può contribuire al superamento del controllo DMARC.
Se il controllo DKIM non viene superato, verifica che il record DNS sia corretto e che il dominio e il selector indicati nella firma corrispondano alla configurazione pubblicata.
Come leggere una firma DKIM
La firma DKIM è presente nelle intestazioni del messaggio e contiene diversi parametri.
Ad esempio:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=esempio.it; s=a1; ...
I parametri principali sono:
v: versione del protocollo.
a: algoritmo utilizzato per la firma.
c: modalità di normalizzazione del messaggio.
d: dominio associato alla firma.
s: selector utilizzato per individuare la chiave pubblica.
t: data e ora di creazione della firma.
bh: hash del corpo del messaggio.
h: intestazioni incluse nella firma.
b: valore della firma digitale generata dal server che firma il messaggio.
Nell'esempio, il server destinatario ricerca la chiave pubblica DKIM all'indirizzo DNS:
a1._domainkey.aruba.it
Il server utilizza quindi la chiave pubblica per verificare la firma digitale presente nel messaggio.