Modul 4 · 4.4
DKIM: signaturen under e-posten din
Modul 4: Poster for e-post · Lesetid: 8 minutter
Læringsmål: Etter denne leksjonen kan du forklare hvordan DKIM fungerer, finne og kontrollere en DKIM-post, og plassere et DKIM-post fra en ekstern tjeneste (som TXT eller som CNAME) riktig.
Nøkkelbegreper: DKIM, digital signatur, privat nøkkel og offentlig nøkkel, selector, _domainkey, d= og s=, v=DKIM1; k=rsa; p=, DKIM via CNAME, nøkkelrotasjon
Et segl på hver e-post
SPF (leksjon 4.3) ser på hvilken server en e-post kommer fra. DKIM (DomainKeys Identified Mail, RFC 6376) fungerer annerledes: det setter en digital signatur på selve e-posten.
Slik fungerer det:
- Den sendende e-postserveren har en hemmelig privat nøkkel. Med den lager den en signatur for hver e-post over de viktigste delene: avsenderen, emnet, datoen og innholdet.
- Den signaturen følger med i en topptekstlinje i e-posten:
DKIM-Signature. - Den tilhørende offentlige nøkkelen står i DNS-en til domenet, i et TXT-post.
- Mottakeren henter denne offentlige nøkkelen og kontrollerer signaturen. Stemmer den, vet han to ting: e-posten er virkelig signert av noen som administrerer DNS-en til det domenet, og e-posten er ikke endret underveis.
Det fine med DKIM: det fortsetter å fungere når en e-post videresendes, så lenge innholdet ikke endres. Det har SPF problemer med.
Hvor står nøkkelen? Selectoren
Et domene kan ha flere DKIM-nøkler: én fra din egen e-postserver, én fra Microsoft 365, én fra nyhetsbrevtjenesten din. For å holde dem fra hverandre har hver nøkkel et navn, selectoren.
I signaturen står det to viktige felter:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail2026; ...d=example.com: domenet som signerer.s=mail2026: selectoren.
Mottakeren slår da opp nøkkelen under dette navnet:
<selector>._domainkey.<domene>
mail2026._domainkey.example.comDelen _domainkey er fast. Posten ser for eksempel slik ut:
mail2026._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."| Del | Betydning |
|---|---|
v=DKIM1 | Dette er en DKIM-nøkkel. |
k=rsa | Typen nøkkel. RSA er vanlig; ed25519 finnes også (RFC 8463). |
p=... | Den offentlige nøkkelen selv, en lang rekke bokstaver og tall. Er p= tom, er nøkkelen trukket tilbake. |
En RSA-nøkkel på 2048 bit er det vanlige valget; 1024 bit er minimum (RFC 8301). En slik nøkkel er lengre enn 255 tegn, så posten består av flere tekstbiter (leksjon 4.2). De fleste kontrollpaneler ordner det selv.
Din egen DKIM, og tjenestenes
Hostingpakken eller e-postserveren din. På mange servere står DKIM på som standard, og panelet setter selv posten i DNS-en. Du ser da et TXT-post med et navn som x._domainkey eller default._domainkey.
Ligger DNS-en til domenet ditt hos en annen part (for eksempel Cloudflare eller registraren din), kan e-postserveren din ikke sette posten der selv. Da kopierer du navnet og hele verdien fra hostingpanelet ditt, og lager et TXT-post med nøyaktig det navnet og den verdien hos DNS-partneren din. Det er noe folk ofte glemmer når de bytter navnetjenere: da havner e-posten plutselig oftere i spam.
Eksterne tjenester. Microsoft 365, Google Workspace og nyhetsbrevtjenester signerer med sin egen nøkkel. Du får fra dem én eller flere poster:
- Som TXT, for eksempel Google Workspace: navn
google._domainkey, verdiv=DKIM1; k=rsa; p=etterfulgt av den lange nøkkelen. - Som CNAME, for eksempel Microsoft 365 (
selector1._domainkeyogselector2._domainkey) eller Mailchimp (k2._domainkeyogk3._domainkey). En CNAME peker til en nøkkel som tjenesten selv administrerer. Fordel: tjenesten kan bytte ut sin nøkkel uten at du må gjøre noe.
Alle disse postene har sin egen selector og er dermed ikke i veien for hverandre. Ikke fjern DKIM-posten til din egen e-postserver når du legger til en tjeneste.
Hvorfor to selectorer?
Tjenester som Microsoft 365 ber om to CNAME-poster, selector1 og selector2. De signerer med én nøkkel om gangen og bytter til den andre med jevne mellomrom (nøkkelrotasjon). Setter du bare selector1, fungerer det til det første byttet, og deretter feiler DKIM med ett. Sett derfor alltid alle postene tjenesten oppgir.
Vanlige feil
- Domenenavnet dobbelt. Du skriver
k2._domainkey.example.comi et panel som selv legger domenenavnet bak. Resultat:k2._domainkey.example.com.example.com. Skriv barek2._domainkey. - TXT i stedet for CNAME (eller omvendt). Bruk nøyaktig den typen tjenesten oppgir.
- Manglende punktum på slutten av et CNAME-mål. I paneler som ber om det:
dkim2.mcsv.net.med punktum. - Nøkkel avkuttet. Ved kopiering mangler den siste delen av
p=. Sammenlign begynnelsen og slutten med originalen. - DKIM slått på i tjenestens panel, men poster ikke satt, eller omvendt. Hos de fleste tjenester må du først sette postene og deretter slå på DKIM i administrasjonsskjermen deres.
Kontrollere om DKIM fungerer
Send en e-post til en adresse hos en stor leverandør (for eksempel Gmail) og se på originalen (Vis original eller Vis kilde). Se etter dkim=pass og se hvilket domene som står ved siden av. Eller send en e-post til en testtjeneste som mail-tester.com. Du kan også hente posten selv med et DNS-verktøy: spør etter TXT-posten til <selector>._domainkey.<domene>.
I praksis: slik ser det ut i et panel
I dette eksempelet bruker vi DirectAdmin. I DNS Administration står det et TXT-post med navnet x._domainkey; verdien begynner med v=DKIM1; k=rsa; p=. Under E-mail Manager, E-mail Accounts står det en knapp for å slå DKIM av eller på. En CNAME fra en tjeneste lager du via Add Record, type CNAME, navn k2._domainkey, verdi med et punktum på slutten.
I andre paneler står DKIM noen ganger under «E-postautentisering» eller «E-postsikkerhet», men posten i DNS-en er overalt den samme.
Oppsummering
- DKIM setter en digital signatur på hver e-post; den offentlige nøkkelen står i DNS-en.
- Nøkkelen står på
<selector>._domainkey.<domene>. Selectoren står i signaturen (s=), domenet også (d=). - Hver tjeneste har sin egen selector; poster fra forskjellige tjenester står side om side.
- Tjenester bruker ofte CNAME-poster og flere selectorer. Sett dem alle, med nøyaktig den oppgitte typen.
- Ligger DNS-en din hos en annen part, må du sette DKIM-nøkkelen til din egen e-postserver der selv.
Quiz
Oppgave
Oppgave Z4.4: Slå opp DKIM. Åpne en e-post du har mottatt fra en bedrift eller organisasjon, og se på originalen. Finn i topptekstlinjen DKIM-Signature domenet (d=) og selectoren (s=). Fyll inn begge. Kontrollen slår opp den tilhørende nøkkelen.
Oppgave O4.4: Still inn selv i øvingssonen din. I øvingssonen bruker du en fiktiv tjeneste; på ditt ekte domene bruker du den ekte nøkkelen eller CNAME-en fra e-postserveren eller tjenesten din. Du får ved oppgaven en øvingsnøkkel (verdien etter p=). Den nøkkelen er lang: lim den inn i sin helhet, uten å utelate noe. Lag i øvingssonen din :<code>.dnspractice.eu
- et TXT-post på
cursus._domainkeymed verdienv=DKIM1; k=rsa; p=<oefensleutel>; - et CNAME-post på
k2._domainkeysom peker tildkim.newsletter-demo.dnspractice.eu.(med punktum på slutten hvis panelet ditt ber om det).
Oppgave O4.4
Denne oppgaven gjør du i din egen øvingssone: en ekte DNS-sone på navnetjenerne til WebOké, kun for deg. Logg deg på med e-postadressen din. Du får en innloggingslenke på e-post og kommer deretter tilbake til denne leksjonen. Vi bruker adressen din bare til kurset.
Les videre
Trinnene i disse artiklene gjelder for panelene til WebOké; i andre paneler fungerer det på tilsvarende måte.
- DirectAdmin-veiledning 5.8: Slå på og kontrollere DKIM
- Sette opp DKIM når DNS ligger på en ekstern server
- DirectAdmin-veiledning 5.4: CNAME-records og punktumet til slutt
- WebOké-veiledning 6.7: Kortet Sett opp e-post (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (nøkkellengde), RFC 8463 (Ed25519)
