DKIM: underskriften under din mail
Modul 4: Records til e-mail · Læsetid: 8 minutter
Læringsmål: Efter denne lektion kan du forklare hvordan DKIM fungerer, finde og kontrollere et DKIM-record, og korrekt placere et DKIM-record fra en ekstern tjeneste (som TXT eller som CNAME).
Nøglebegreber: DKIM, digital signatur, privat nøgle og offentlig nøgle, selector, _domainkey, d= og s=, v=DKIM1; k=rsa; p=, DKIM via CNAME, nøglerotation
Et segl på hver mail
SPF (lektion 4.3) ser på hvilken server en mail kommer fra. DKIM (DomainKeys Identified Mail, RFC 6376) fungerer anderledes: det sætter en digital signatur på selve mailen.
Sådan fungerer det:
- Den afsendende mailserver har en hemmelig privat nøgle. Med den laver den en signatur for hver mail over de vigtigste dele: afsenderen, emnet, datoen og indholdet.
- Den signatur følger med i en overskriftlinje i mailen:
DKIM-Signature. - Den tilhørende offentlige nøgle står i domænets DNS, i et TXT-record.
- Modtageren henter den offentlige nøgle og kontrollerer signaturen. Stemmer den, så ved han to ting: mailen er virkelig underskrevet af nogen der administrerer DNS'en for det domæne, og mailen er ikke blevet ændret undervejs.
Det smarte: DKIM fortsætter med at virke når en mail videresendes, så længe indholdet ikke ændres. Det har SPF svært ved.
Hvor står nøglen? Selectoren
Et domæne kan have flere DKIM-nøgler: en fra din egen mailserver, en fra Microsoft 365, en fra din nyhedsbrevstjeneste. For at holde dem adskilt har hver nøgle et navn, selectoren.
I signaturen står to vigtige felter:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail2026; ...d=example.com: domænet der underskriver.s=mail2026: selectoren.
Modtageren slår så nøglen op under dette navn:
<selector>._domainkey.<domæne>
mail2026._domainkey.example.comDelen _domainkey er fast. Recorden ser for eksempel sådan ud:
mail2026._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."| Del | Betydning |
|---|---|
v=DKIM1 | Dette er en DKIM-nøgle. |
k=rsa | Typen af nøgle. RSA er almindeligt; ed25519 findes også (RFC 8463). |
p=... | Den offentlige nøgle selv, en lang række bogstaver og tal. Er p= tom, er nøglen trukket tilbage. |
En RSA-nøgle på 2048 bit er det almindelige valg; 1024 bit er minimum (RFC 8301). En sådan nøgle er længere end 255 tegn, så recorden består af flere tekststykker (lektion 4.2). De fleste kontrolpaneler ordner det selv.
Din egen DKIM, og tjenesternes
Din hostingpakke eller mailserver. På mange servere er DKIM slået til som standard, og panelet sætter selv recorden i DNS'en. Du ser så et TXT-record med et navn som x._domainkey eller default._domainkey.
Ligger dit domænes DNS hos en anden part (for eksempel Cloudflare eller din registrar), så kan din mailserver ikke selv sætte recorden der. Så kopierer du navnet og hele værdien fra dit hostingpanel, og opretter du hos din DNS-udbyder et TXT-record med præcis det navn og den værdi. Det glemmer folk ofte når de skifter navneservere: så ender mailen pludselig oftere i spam.
Eksterne tjenester. Microsoft 365, Google Workspace og nyhedsbrevstjenester underskriver med deres egen nøgle. Du får fra dem en eller flere records:
- Som TXT, for eksempel Google Workspace: navn
google._domainkey, værdiv=DKIM1; k=rsa; p=med den lange nøgle bagefter. - Som CNAME, for eksempel Microsoft 365 (
selector1._domainkeyogselector2._domainkey) eller Mailchimp (k2._domainkeyogk3._domainkey). En CNAME peger på en nøgle som tjenesten selv administrerer. Fordel: tjenesten kan udskifte sin nøgle uden at du skal gøre noget.
Alle disse records har deres egen selector og er derfor ikke i vejen for hinanden. Fjern ikke DKIM-recorden fra din egen mailserver når du tilføjer en tjeneste.
Hvorfor to selectorer?
Tjenester som Microsoft 365 beder om to CNAME-records, selector1 og selector2. De underskriver med én nøgle ad gangen og skifter med jævne mellemrum til den anden (nøglerotation). Sætter du kun selector1, virker det indtil det første skift, og derefter fejler DKIM pludseligt. Sæt derfor altid alle records som tjenesten angiver.
Almindelige fejl
- Dobbelt domænenavn. Du skriver
k2._domainkey.example.comi et panel der selv tilføjer domænenavnet bagved. Resultat:k2._domainkey.example.com.example.com. Skriv kunk2._domainkey. - TXT i stedet for CNAME (eller omvendt). Brug præcis den type tjenesten angiver.
- Intet punktum til sidst i et CNAME-mål. I paneler der kræver det:
dkim2.mcsv.net.med punktum. - Nøgle afkortet. Ved kopiering mangler det sidste stykke af
p=. Sammenlign begyndelsen og slutningen med originalen. - DKIM slået til i tjenestens panel, men records ikke sat, eller omvendt. Hos de fleste tjenester skal du først sætte recordsne og derefter aktivere DKIM i deres administrationsskærm.
Kontrollér om DKIM virker
Send en mail til en adresse hos en stor udbyder (for eksempel Gmail) og se originalen (Vis original eller Vis kilde). Søg efter dkim=pass og se hvilket domæne der står ved siden af. Eller send en mail til en testtjeneste som mail-tester.com. Du kan også selv slå recorden op med et DNS-værktøj: hent TXT-recorden for <selector>._domainkey.<domæne>.
I praksis: sådan ser det ud i et panel
I dette eksempel bruger vi DirectAdmin. Under DNS-administration står et TXT-record med navnet x._domainkey; værdien begynder med v=DKIM1; k=rsa; p=. Under E-mailadministration, E-mailkonti står en knap til at slå DKIM til eller fra. En CNAME fra en tjeneste opretter du via Tilføj post, type CNAME, navn k2._domainkey, værdi med et punktum til sidst.
I andre paneler står DKIM nogle gange under "E-mailautentificering" eller "E-mailsikkerhed", men recorden i DNS'en er den samme overalt.
Opsummering
- DKIM sætter en digital signatur på hver mail; den offentlige nøgle står i DNS'en.
- Nøglen står på
<selector>._domainkey.<domæne>. Selectoren står i signaturen (s=), domænet også (d=). - Hver tjeneste har sin egen selector; records fra forskellige tjenester står side om side.
- Tjenester bruger ofte CNAME-records og flere selectorer. Sæt dem alle, med præcis den angivne type.
- Ligger din DNS hos en anden part, skal du selv sætte DKIM-nøglen fra din egen mailserver der.
Quiz
Opgave
Opgave Z4.4: Slå DKIM op. Åbn en mail du har modtaget fra en virksomhed eller organisation, og se originalen. Find i overskriftlinjen DKIM-Signature domænet (d=) og selectoren (s=). Udfyld begge dele. Kontrollen slår den tilhørende nøgle op.
Opgave O4.4: Indstil det selv i din øvelseszone. I øvelseszonen bruger du en falsk tjeneste; ved dit rigtige domæne overtager du den rigtige nøgle eller CNAME fra din mailserver eller tjeneste. Du får til opgaven en øvelsesnøgle (værdien efter p=). Den nøgle er lang: indsæt den i sin helhed, uden at udelade noget. Opret i din øvelseszone :<code>.dnspractice.eu
- et TXT-record på
cursus._domainkeymed værdienv=DKIM1; k=rsa; p=<øvelsesnøgle>; - et CNAME-record på
k2._domainkeyder peger pådkim.newsletter-demo.dnspractice.eu.(med punktummet til sidst hvis dit panel beder om det).
Opgave O4.4
Denne opgave laver du i din egen øvelseszone: en rigtig DNS-zone på WebOkés navneservere, kun til dig. Tilmeld dig med din e-mailadresse. Du får et login-link på mail og kommer derefter tilbage til denne lektion. Vi bruger kun din adresse til kurset.
Læs videre
Trinnene i disse artikler gælder for WebOkés paneler; i andre paneler fungerer det på lignende vis.
- DirectAdmin vejledning 5.8: DKIM slå til og kontrollere
- Opsæt DKIM, når DNS kører via en ekstern server
- DirectAdmin vejledning 5.4: CNAME-poster og punktummet til sidst
- WebOké vejledning 6.7: Kortet Opsæt e-mail (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (nøglelængde), RFC 8463 (Ed25519)
