DKIM, förklarat
DKIM sätter en signatur på varje meddelande ni skickar, och en publik nyckel i DNS som mottagarna använder för att kontrollera den. Så fungerar det, så ser en bra uppsättning ut och så hänger det ihop med SPF och DMARC.
Av TrustSek-redaktionen · Senast granskad
- Modul
- E-postsäkerhet
- Nyckellängd
- 2048 bitar rekommenderas
- Standard
- RFC 6376
DKIM, DomainKeys Identified Mail, är den andra av de tre poster som skyddar en domän mot förfalskning. SPF säger vilka servrar som får skicka för er; DKIM visar att ett meddelande har signerats av någon som har er nyckel och inte har ändrats på vägen. DMARC kopplar sedan båda till adressen mottagaren ser.
Så fungerar en DKIM-signatur.
Den avsändande servern signerar utvalda headers och innehållet i varje meddelande med en privat nyckel och lägger till resultatet som en DKIM-Signature-header. Den anger den signerande domänen (d=) och en selektor (s=). Den mottagande servern hämtar den publika nyckeln på selektor._domainkey.domän i DNS och kontrollerar signaturen. Har meddelandet ändrats, eller signerats med en annan nyckel, misslyckas kontrollen.
En publicerad nyckel ser ut så här:
s1._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
Selektorer: en per avsändare, och osynliga utifrån.
Selektorn gör att en domän kan publicera flera nycklar samtidigt: en för e-postplattformen, en för nyhetsbrevstjänsten, en för ärendesystemet. Varje tjänst får sin egen selektor, så ni kan byta en nyckel utan att röra de andra.
Selektorer har inget register. DNS kan inte lista alla nycklar en domän publicerar, så ingen utanför er organisation kan se hela er DKIM-uppsättning. Det spelar roll för alla som bedömer den utifrån, även för oss.
Nyckellängd: 2048 bitar.
RFC 8301 sätter minsta nyckellängd för RSA till 1024 bitar och rekommenderar 2048. Nycklar under 2048 bitar räknas som svaga, eftersom det blir möjligt att förfalska en signatur under nyckelns livstid. De flesta leverantörer skapar numera nycklar på 2048 bitar som standard; äldre uppsättningar har ofta kvar nycklar på 1024 bitar som aldrig bytts.
Ed25519-nycklar (RFC 8463) är mycket kortare och starka, men alla mottagare kontrollerar dem inte än. Använder ni en sådan, signera även med en RSA-nyckel.
DKIM och DMARC: den signerande domänen måste stämma.
En giltig DKIM-signatur hjälper bara DMARC när den signerande domänen stämmer med domänen i Från-adressen. Många tjänster signerar som standard med sin egen domän, så signaturen är giltig men stämmer inte, och DMARC behandlar det som om DKIM saknades. Ställ in varje tjänst som skickar i ert namn så att den signerar med er domän, oftast genom att publicera en selektorpost eller ett CNAME som tjänsten ger er.
Guiden Så går ni från p=none till p=reject visar hur ni använder DMARC-rapporterna för att hitta tjänster som ännu inte stämmer.
Byt nycklar utan att stoppa e-posten.
Byt nycklar enligt plan, och direkt om en privat nyckel kan ha läckt:
- Publicera den nya publika nyckeln under en ny selektor.
- Låt den avsändande tjänsten signera med den nya nyckeln.
- Låt den gamla posten ligga kvar några dagar, tills e-post som signerats med den har levererats.
- Ta bort den gamla posten, eller publicera den med ett tomt
p=för att återkalla nyckeln.
Vanliga misstag.
- En nyckel på 1024 bitar kvar från en gammal uppsättning.
- En tjänst som signerar med sin egen domän, så att DKIM godkänns men inte stämmer för DMARC.
- Testflaggan
t=ykvar i posten efter installationen. - En nyckelpost som delats upp fel i flera TXT-strängar, så att mottagarna inte kan läsa den.
Det här kontrollerar TrustSek.
Eftersom selektorer inte går att lista letar kontrollen efter nycklar under vanliga selektornamn som de stora e-postplattformarna använder. För varje nyckel den hittar läser den nyckellängden:
| Vad kontrollen hittar | Fynd | Allvarlighetsgrad |
|---|---|---|
| En nyckel under 2048 bitar | DKIM key below recommended size | Varierar |
Allvarlighetsgraden är högre när nyckeln är under 1024 bitar. Att ingen nyckel hittas ger inget fynd: att den saknas bland de selektorer kontrollen känner till bevisar inte att ni saknar DKIM. DKIM ingår i modulen för e-postsäkerhet, tillsammans med SPF och DMARC.
Frågor
Räcker DKIM ensamt?
Nej. DKIM visar vem som signerade ett meddelande, men talar inte om för mottagaren vad den ska göra med e-post som inte klarar kontrollen. Det är DMARC:s uppgift, och DMARC kräver att SPF eller DKIM godkänns och stämmer med Från-adressen.
Varför godkänns DKIM men DMARC fallerar?
Oftast för att tjänsten signerar med sin egen domän i stället för er. Signaturen är giltig men stämmer inte. Ställ in tjänsten så att den signerar med er domän.
Kontrollera er domäns e-postsäkerhet
Se vad den fullständiga kontrollen hittar i er DMARC-, SPF- och DKIM-uppsättning, och resten av bedömningen utifrån.