Generatore del record DNS per DKIM

Basta inserire il nome del selettore e la chiave pubblica in formato PEM per generare automaticamente il record TXT necessario alla firma DKIM. Le chiavi pubbliche che superano i 255 caratteri vengono suddivise automaticamente secondo il formato dei file di zona BIND.

Consigli per l'uso

  • Potete incollare direttamente il contenuto del file PEM generato con opendkim-genkey oppure con OpenSSL: le interruzioni di riga e le righe di intestazione vengono rimosse automaticamente.
  • Attivando la modalità di prova, i server riceventi che non riescono a verificare la firma possono trattarla con più indulgenza invece di respingerla: è prudente usarla nel periodo di verifica che precede il passaggio in produzione.
  • Dopo aver inserito il record nel DNS, conviene verificarne l'effettiva pubblicazione con il nostro strumento di diagnosi della recapitabilità della posta, che controlla SPF, DKIM e DMARC.
  • Le lunghezze di chiave più comuni sono 1024 e 2048 bit; con 2048 bit la stringa della chiave pubblica supera di norma i 255 caratteri e viene suddivisa in più stringhe. La suddivisione non è un errore.
  • Il nome del selettore è libero, ma se usate più servizi di invio per lo stesso dominio conviene includervi il nome del servizio, così da gestirli più facilmente.

Domande frequenti

È l'identificativo che permette di usare più chiavi DKIM per lo stesso dominio. Nel DNS il record si pubblica con un nome nella forma «selettore._domainkey.dominio» e la firma viene verificata con la chiave pubblica del selettore indicato nell'apposito campo dell'intestazione della firma DKIM del messaggio.

Poiché nei record TXT ogni singola stringa non può superare i 255 byte, l'eccedenza va suddivisa in più stringhe fra virgolette, concatenate senza spazi in un unico record. Il formato BIND generato da questo strumento tiene già conto della suddivisione.

No. Lo strumento si limita a comporre il record da pubblicare nel DNS e non genera chiavi private. La chiave privata va generata e conservata in sicurezza nel vostro ambiente, con strumenti affidabili come opendkim-genkey o OpenSSL.

Nel periodo immediatamente successivo all'introduzione di DKIM, per verificare che firma e verifica funzionino correttamente nell'ambiente di invio reale. Poiché alcuni riceventi trattano con più indulgenza gli insuccessi di verifica dei domini che la dichiarano, funge da valvola di sicurezza prima del passaggio in produzione.

Allo stato attuale lo standard pratico è RSA, supportato da una gamma molto ampia di server. Ed25519, definito dalla RFC 8463, ha chiavi più corte e firme più rapide, ma non tutti i server di posta lo gestiscono: valutatelo solo se potete verificarne il funzionamento su entrambi i lati.
Tool-kun

A proposito — come la crittografia a chiave pubblica impedisce la contraffazione dei messaggi

DKIM è stato standardizzato nel 2004 unendo due tecnologie sviluppate separatamente da Yahoo! e da Cisco. Il cuore del meccanismo è la crittografia a chiave pubblica: chi invia calcola un'impronta a partire dalle intestazioni e da parte del corpo del messaggio, la cifra con la chiave privata e la allega in un'apposita intestazione di firma. Chi riceve verifica quella firma con la chiave pubblica pubblicata nel DNS e, se la coppia di chiavi corrisponde, ha la conferma matematica che il contenuto non è stato alterato dopo l'invio.

Mentre SPF verifica la legittimità a livello di rete, cioè l'indirizzo IP del mittente, DKIM appone una firma elettronica sul contenuto stesso del messaggio: è una differenza sostanziale. Anche quando un messaggio viene inoltrato più volte attraverso server intermedi — situazione in cui SPF è notoriamente debole — la firma DKIM resta valida finché il corpo non cambia. Per questa caratteristica DKIM è considerato più affidabile di SPF sui percorsi che comportano inoltri, come le liste di distribuzione.

Anche il meccanismo dei selettori è importante nella pratica. Quando un dominio usa più servizi di invio — server proprio, servizi di posta in cloud, piattaforme di invio massivo — assegnando a ciascuno una coppia di chiavi e un selettore distinto si possono revocare e rinnovare le chiavi in modo indipendente. Il fatto che la compromissione di una chiave non tocchi gli altri selettori è una delle ragioni per cui DKIM, pur essendo un meccanismo semplice fondato su un solo record DNS, è tuttora usato nelle grandi infrastrutture di posta.