Vai al contenuto

Controllo DKIM:
la tua chiave è abbastanza forte?

Inserisci un dominio — il selettore è facoltativo: lo strumento prova i dieci nomi più comuni, oppure lo estrae da un header DKIM-Signature incollato. Poi va oltre il “record trovato” e misura la chiave stessa — una chiave a 512 bit supera qualsiasi controllo di esistenza, ma è falsificabile dal 2012.

oppure incolla un header DKIM-Signature grezzo → estraiamo d= e s= — i due tag che identificano la tua chiave — nel tuo browser; l'header non ne esce mai
Selettore facoltativo — 10 nomi comuni provati Chiave decodificata in base64 e dimensione misurata Verdetto in pochi secondi
Cosa si perde un controllo DKIM fermo a «record trovato»

Record valido, DKIM rotto

Un record DKIM può restare intoccato per un decennio e continuare a esistere. Tutti e quattro i problemi qui sotto restituiscono comunque un record, quindi i controlli di sola esistenza segnalano il DKIM come configurato — mentre la verifica fallisce.

Il relitto a 512 bit

Nel 2012 un matematico ha fattorizzato la chiave DKIM a 512 bit di Google con potenza di calcolo noleggiata, e ha inviato ai fondatori un'email l'uno a nome dell'altro. Chiavi di quella dimensione sono ancora nel DNS oggi — valide, firmate e falsificabili.

512 bit · fattorizzata nel 2012

Un p= vuoto che firma ancora la posta

Un p= vuoto significa «questa chiave è revocata» — la prassi corretta per un selettore ritirato. Ma se la vecchia configurazione dell'ESP firma ancora con quella chiave, ogni messaggio così firmato fallisce il DKIM. Oggi stesso.

p= · vuoto = revocata

t=y dal giorno del lancio

Il flag di test doveva servire solo per la settimana di rollout. Lasciato attivo, dice ai destinatari di trattare la tua posta firmata esattamente come posta non firmata — ogni verifica DKIM superata non ti frutta nulla, per sempre.

RFC 6376 §3.6.1

Il selettore che nessuno ha annotato

Il record vive in selector._domainkey — e il DNS non offre alcun modo per elencare i selettori. Non puoi verificare ciò che non puoi nominare, così i record DKIM restano anni senza un controllo.

s= · non elencabile via DNS
I verdetti

Dimensione della chiave, p= e t=y

La maggior parte degli strumenti si ferma a «record trovato». La valutazione dipende dalla dimensione della chiave decodificata e da due flag — p= vuoto e t=y — che quasi nessun controllo segnala.

rsa · 2048 bit +

Lo standard moderno (RFC 8301 dice ai firmatari di usarlo). Decodifica in una chiave pubblica ben formata, abbastanza grande che nessuno tenta la fattorizzazione come attacco.

→ l'obiettivo — ora metti la rotazione in calendario
rsa · 1024 bit

Accettabile e ancora comune — ma il NIST ha ritirato l'RSA a 1024 bit per le firme già nel 2013, e ogni anno in cui resta pubblicata la chiave il margine si riduce.

→ passa a 2048 al prossimo cambio di chiave
rsa · sotto i 1024 bit

La chiave a 512 bit è stata fattorizzata pubblicamente nel 2012 su risorse cloud noleggiate; quella a 768 è caduta in ambito accademico nel 2009. Una chiave di queste dimensioni è un kit di falsificazione con il nome del tuo dominio sopra.

→ ruota oggi stesso — le chiavi sotto i 1024 bit sono falsificabili
p= vuoto · revocata

La lapide deliberata dell'RFC 6376: «questa chiave è stata revocata». Lo stato finale corretto per un selettore ritirato — e un'interruzione attiva per chiunque firmi ancora con essa.

→ va bene, SE nulla firma più con questa chiave
t=y · modalità di test

Ai destinatari viene detto di trattare la tua posta come se non fosse firmata — anche quando la firma è verificata correttamente. Un aiuto per il rollout che annulla silenziosamente il DKIM se resta attivo.

→ rimuovi il flag a rollout completato
nessun record al selettore

I verificatori ricevono «nessuna chiave disponibile» e la firma va in permfail. Il problema: dall'esterno, una chiave eliminata e un selettore scritto male sono indistinguibili — per questo ne proviamo dieci.

→ trova prima il selettore giusto — qui sotto
Selettori DKIM

Come trovare il tuo selettore

La tua chiave pubblica vive in selector._domainkey.yourdomain.com — e il DNS non ha alcuna query che elenchi i selettori. Puoi solo saperne il nome oppure indovinarlo. Quattro modi per ottenerlo:

  • Leggi un messaggio firmato: apri una qualsiasi email che hai inviato → «Mostra originale» → il tag s= dell'header DKIM-Signature è il tuo selettore.
  • Incolla l'header qui: lo scomponiamo ed estraiamo d= e s= per te — nessuna lettura richiesta.
  • Chiedi al tuo ESP: la pagina di configurazione DNS che ti ha fornito il CNAME/TXT indica anche il nome del selettore.
  • Oppure lascia indovinare a noi: lascia il campo vuoto e proviamo i dieci nomi usati dagli ESP — a destra, nell'ordine di prova.
Prova i miei selettori

Chi usa quale selettore

i 10 che proviamo · valori predefiniti comuni
googleIl predefinito di Google Workspace. Un solo selettore, ruotato sul posto — il record cambia sotto lo stesso nome.
selector1 · selector2Microsoft 365 — emesso in coppia, così la chiave attiva può alternarsi tra i due senza downtime.
k1 · k2Convenzione di Mailchimp / Mandrill, poi ampiamente copiata da altri ESP.
s1 · s2La coppia automatica di sicurezza di SendGrid; uno schema comune anche presso ESP più recenti.
defaultOpenDKIM, cPanel e la maggior parte delle configurazioni self-hosted — il nome che nessuno ha cambiato.
dkim · mailVari ESP e server di posta on-premise — i nomi generici che completano la top ten.
Due selettori attivi sono normali — è così che funziona la rotazione senza downtime. Dieci inattivi sono avanzi che nessuno ha rimosso.
Per chi usa il terminale

Cosa puoi verificare a mano

Una volta che conosci il selettore, il materiale grezzo è a un solo dig di distanza.

Recupera il record — se conosci il selettoredig +short TXT google._domainkey.example.com
Trova il tuo selettore in un messaggio che hai inviatogrep -io 's=[^;]*' message.eml | head -1
Decodifica la chiave e misuralaecho "$P" | base64 -d | openssl rsa -pubin -inform DER -noout -text | head -1
Prova un selettore ipotizzatodig +short TXT selector1._domainkey.example.com
Prova dieci selettori, percorri il DER, valuta il modulo, leggi i flag# nessun comando in una riga per questo — ↑ è questo lo strumento
Domande frequenti

Domande frequenti sul DKIM

Digita il tuo dominio qui sopra — il selettore è facoltativo. Recuperiamo il record TXT a selector._domainkey.yourdomain (provando dieci selettori comuni se lo lasci vuoto), analizziamo ogni tag rispetto all'RFC 6376, poi convalidiamo la chiave stessa: il valore p= viene decodificato in base64, la struttura DER al suo interno viene percorsa campo per campo, e il modulo viene misurato e valutato — sotto i 1024 bit è debole, 1024 accettabile, 2048+ consigliato. Gratis, senza registrazione.

Il selettore è il nome davanti a ._domainkey — scelto da chi ha configurato la firma, invisibile a qualsiasi elenco DNS. Tre modi per trovare il tuo: apri un messaggio che hai inviato e leggi il tag s= nell'header DKIM-Signature («Mostra originale» in Gmail); incolla l'intero header in questo strumento e lo estraiamo per te; oppure lascia il selettore vuoto e proviamo i dieci valori predefiniti più comuni — google, selector1/2, k1/k2, s1/s2, default, dkim, mail. Trovare due selettori attivi è normale — è la rotazione che funziona.

Accettabile, datata, e da mettere in calendario per il pensionamento. Nessuno ha ancora fattorizzato pubblicamente RSA-1024 — ma il NIST l'ha vietata per le nuove firme già nel 2013, l'RFC 8301 dice ai firmatari DKIM che dovrebbero usare 2048, e i grandi provider di posta firmano già con 2048. Il 1024 non è l'emergenza — quella è il 512, fattorizzato nel 2012 su risorse cloud noleggiate. È la chiave che ruoti secondo il tuo calendario, invece che, prima o poi, secondo quello di un attaccante.

Modalità di test. L'RFC 6376 §3.6.1 impone ai verificatori di trattare la posta di un dominio in modalità di test esattamente come posta non firmata — anche quando la firma è verificata perfettamente. Esiste per poter testare il DKIM durante il rollout senza conseguenze. Il problema è che funziona fin troppo bene: niente si rompe finché resta attivo, quindi non viene mai rimosso. Il tuo dominio finisce così per firmare la posta per anni senza alcun beneficio. Se questo strumento ne trova uno, la correzione è cancellare quattro caratteri.

Revoca deliberata. L'RFC 6376 definisce un p= vuoto come «questa chiave pubblica è stata revocata». È la lapide corretta per un selettore che hai ritirato, ed è più chiara che eliminare il record, indistinguibile da un errore di battitura. Ne seguono due letture. Se ti sei allontanato da questo selettore e nulla firma più con esso, è prassi corretta: lascialo così. Se un mittente firma ancora con esso, ogni suo messaggio sta fallendo il DKIM in questo momento. Controlla i tuoi report DMARC alla ricerca di dkim=fail con questo selettore.

I verificatori devono supportare fino a 4096 bit (RFC 8301). Ma una chiave a 4096 bit produce un valore TXT abbastanza lungo da richiedere lo string-splitting, che alcune interfacce dei provider DNS gestiscono male. Non ti dà alcun vantaggio pratico di sicurezza rispetto a 2048 per una chiave che comunque dovresti ruotare, quindi 2048 è il punto di equilibrio. L'altra direzione è k=ed25519 (RFC 8463): chiavi minuscole da 32 byte, crittografia moderna. Il supporto dei verificatori non è ancora universale, quindi i deployment che la usano di solito firmano anche con RSA in parallelo. Questo strumento legge k= e ti dice quale hai pubblicato.

Da sola — no, e preferiamo dirlo chiaramente. Il DKIM dimostra due cose: che il messaggio non è stato alterato dopo la firma, e che il dominio d= se ne fa garante. Non dimostra che la riga From: vista dal destinatario corrisponda a quel dominio — un falsificatore può firmare in modo impeccabile con il proprio dominio mostrando comunque il tuo. Colmare quel divario è compito del DMARC (allineamento), e dire quali server possono inviare posta è compito dell'SPF. Lo stack che funziona è SPF + DKIM + DMARC. Questo strumento verifica che la parte DKIM sia reale — una chiave revocata o in modalità di test mina silenziosamente anche gli altri due.

Gli strumenti gratuiti sono solo l'inizio.
Uptimia si prende cura dei tuoi siti.

Uptime, SSL, scadenza dominio, velocità delle pagine, transazioni — monitorati da 171+ punti in tutto il mondo. Gratis per 30 giorni.

30 giorni gratis senza carta di credito cancellabile in qualsiasi momento piano gratuito dopo la prova
Oltre 100.000 siti monitorati · Conforme al GDPR