E-mailgodkendelse: SPF, DKIM og DMARC
Implementér og valider politikker for Sender Policy Framework, DomainKeys Identified Mail og DMARC, der forhindrer spoofing af domæner og phishing.
E-mailgodkendelse: SPF, DKIM og DMARC er en gratis Security+ Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Security+ Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Security+ Academy-kurset indeholder 4 lektioner i alt.
Problemet med e-mailforfalskning
Den centrale SMTP-protokol (designet i 1970'erne) har ingen indbygget godkendelse af afsenderen. Enhver mailserver kan hævde at sende e-mail fra et hvilket som helst domæne — en teknik, der kaldes e-mailforfalskning. Angribere udnytter dette til at sende phishing-e-mails, der ser ud til at komme fra legitime organisationer (din bank, din administrerende direktør, en kendt leverandør). Tre DNS-baserede standarder for e-mailgodkendelse blev udviklet for at løse dette: SPF, DKIM og DMARC. Hver standard håndterer et forskelligt aspekt af problemet med forfalskning, og de fungerer bedst, når de implementeres sammen.
Sender Policy Framework (SPF)
SPF er en DNS TXT-post, der angiver, hvilke mailservere der er godkendt til at sende e-mail på vegne af et domæne. Når en modtagende mailserver modtager en meddelelse, der hævder at komme fra example.com, slår den SPF-posten for example.com op og kontrollerer, om den sendende servers IP-adresse står på listen. Hvis IP-adressen ikke er godkendt, kan meddelelsen markeres som spam eller afvises. SPF kontrollerer konvolutten Fra-adresse (SMTP-kommandoen MAIL FROM), ikke den synlige Fra-header, som brugerne kan se.
# SPF DNS TXT record for example.com
# Authorize Google Workspace + SendGrid + company IP
example.com. TXT 'v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.10 -all'
# Mechanism meanings:
# include: authorize another domain's SPF record
# ip4: authorize specific IPv4 address/range
# ip6: authorize specific IPv6 address
# -all FAIL (reject) mail from non-listed sources
# ~all SOFTFAIL (accept but mark as spam)
# ?all NEUTRAL (no policy stated)SPF-begrænsninger
SPF har to væsentlige begrænsninger. For det første ødelægger videresendelse SPF: Når en e-mail videresendes, står den videresendende servers IP-adresse ikke i det oprindelige domænes SPF-post, hvilket får SPF til at mislykkes for legitimt videresendt e-mail. For det andet godkender SPF kun konvolutten Fra (usynlig for brugerne), ikke Fra-headeren, som er synlig i e-mailklienter. Angribere kan stadig forfalske den synlige Fra-header, mens de bruger en SPF-godkendt konvolutten Fra — derfor er SPF alene utilstrækkelig. DKIM og DMARC løser disse mangler.
DomainKeys Identified Mail (DKIM)
DKIM føjer en kryptografisk signatur til udgående e-mails. Den sendende mailserver bruger en privat nøgle til at signere bestemte e-mailheadere og meddelelsens brødtekst og tilføjer en DKIM-Signature-header. Den offentlige nøgle offentliggøres som en DNS TXT-post under et selectorsubdomæne. Modtagende servere henter den offentlige nøgle og verificerer signaturen, hvilket bekræfter, at e-mailen ikke er blevet ændret under transporten, og at den stammer fra en server med adgang til den private nøgle. I modsætning til SPF overlever DKIM-signaturer videresendelse, fordi de følger med i e-mailens headere.
# DKIM DNS TXT record (selector: 'google')
google._domainkey.example.com. TXT \
'v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GN...'
# DKIM-Signature header in email:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com;
s=google; h=from:to:subject:date;
bh=<body_hash>; b=<signature>
# Verification:
# 1. Extract 'b=' (signature)
# 2. Fetch public key at google._domainkey.example.com
# 3. Verify signature over 'h=' headers + body hashDKIM-selectorer og nøgleudskiftning
DKIM bruger selectorer, så et domæne kan have flere offentlige nøgler aktive samtidig — nyttigt ved brug af flere mailtjenester (Google Workspace + en marketingplatform) eller ved nøgleudskiftning uden afbrydelser. Selectornavnet er inkluderet i DKIM-Signature-headeren, så modtagende servere ved, hvilken DNS-post de skal forespørge. Organisationer bør udskifte DKIM-nøgler årligt eller når der er mistanke om, at en nøgle er kompromitteret. Nøglelængde: RSA-nøgler på mindst 2048 bit anbefales; nøgler på 1024 bit er forældede og kan brydes med moderne computerkraft.
DMARC: Domænebaseret meddelelsesgodkendelse
DMARC (Domain-based Message Authentication, Reporting, and Conformance) bygger videre på SPF og DKIM ved at tilføje: et justeringstjek (domænet i den synlige Fra-header skal stemme overens med det SPF- eller DKIM-godkendte domæne) og en politik, der fortæller modtagende servere, hvad de skal gøre, når meddelelser ikke består kontrollen. DMARC-politikkerne er none (kun overvågning), quarantine (lever til spam-mappen) eller reject (lever ikke). DMARC muliggør også samlede rapporter (RUA) og forensiske rapporter (RUF), der sendes tilbage til domæneejeren, så denne kan se, hvem der sender på dennes vegne.
# DMARC DNS TXT record
_dmarc.example.com. TXT \
'v=DMARC1; p=reject; sp=reject; \
pct=100; \
rua=mailto:dmarc-reports@example.com; \
ruf=mailto:forensic@example.com; \
adkim=s; aspf=s'
# p=reject : reject failing messages (strongest)
# pct=100 : apply to 100% of messages
# adkim=s : strict DKIM alignment
# aspf=s : strict SPF alignment
# rua= : aggregate report destinationDMARC-justering
Justering er det, der gør DMARC effektiv mod forfalskning af headere. Ved SPF-justering skal domænet i SMTP-konvoluttens From-felt matche domænet i den synlige From-header. Ved DKIM-justering skal signeringsdomænet (d= i DKIM-Signature) matche domænet i From-headeren. I streng tilstand skal domænerne matche nøjagtigt. I afslappet tilstand accepteres underdomæner. En e-mail består DMARC, hvis den består SPF ELLER DKIM med korrekt justering — den behøver ikke bestå begge. Kombinationen lukker det smuthul, som SPF alene efterlader ved forfalskning af synlige headere.
# DMARC alignment example
Envelope From: attacker@legit.com <- SPF may PASS for legit.com
From header : spoofed@example.com <- VISIBLE to user
# Without DMARC: SPF passes (envelope from legit.com)
# User sees spoofed@example.com and trusts it
# With DMARC on example.com:
# SPF alignment check: legit.com != example.com -> FAIL
# DKIM: attacker has no private key for example.com -> FAIL
# DMARC result: FAIL -> message rejected per policyImplementering af DMARC i faser
Organisationer bør implementere DMARC trinvist for at undgå at forstyrre legitim e-mail. Fase 1: Implementér SPF og DKIM for alle mailstrømme. Fase 2: Udgiv en DMARC-post med p=none og RUA-rapportering. Analysér rapporterne (værktøjer: DMARC Analyzer, dmarcian) for at finde alle legitime afsendere over 2-4 uger. Fase 3: Skift til p=quarantine; pct=10, og øg gradvist pct til 100 %. Fase 4: Skift til p=reject, når alle legitime mailstrømme består kontrollen. Hvis du skifter til reject, før du har fundet alle mailstrømme, bliver legitim e-mail afvist.
# DMARC rollout stages
Stage 1: p=none; pct=100 (monitoring only)
Stage 2: p=quarantine; pct=10 (10% to spam)
Stage 3: p=quarantine; pct=100 (all to spam)
Stage 4: p=reject; pct=100 (block at MTA)
# Monitor RUA reports between each stage
# Look for legitimate sources failing alignment
# Common gotchas:
# - Marketing platforms sending as your domain
# - IT ticketing systems
# - Automated notification services
# - Third-party CRM toolsBIMI: Brandindikatorer til identifikation af meddelelser
BIMI er en ny standard, der bygger videre på DMARC. Når et domæne har en DMARC-politik på quarantine eller reject, kan e-mailklienter (Gmail, Apple Mail) vise brandets verificerede logo ved siden af afsenderens navn i indbakken. BIMI kræver et Verified Mark Certificate (VMC) fra en godkendt udsteder, som bekræfter ejerskab af varemærket. BIMI er endnu ikke med på Security+-eksamen, men viser retningen for e-mailgodkendelse — verificerede afsendere bliver visuelt lette at skelne fra forfalskede afsendere.
SPF+DKIM+DMARC i samspil
De tre standarder udgør et komplet system til e-mailgodkendelse. SPF verificerer, at den afsendende server er godkendt af domæneejeren. DKIM verificerer meddelelsens integritet og, at den afsendende organisation har den private nøgle. DMARC knytter begge dele til den synlige From-header, håndhæver en politik ved fejl og leverer rapportering. Ingen enkelt standard er tilstrækkelig: SPF alene kan ikke forhindre forfalskning af den synlige header, DKIM alene kræver ikke afvisning ved fejl, og DMARC alene uden SPF eller DKIM har intet at kontrollere. Alle tre skal implementeres sammen for at give fuld beskyttelse mod forfalskning af domæner.
# Email authentication check order
1. Receiving MTA receives message
2. SPF check: is sending IP authorized? (envelope From)
3. DKIM check: is signature valid? (using public key DNS)
4. DMARC check:
a. Did SPF pass with alignment? OR
b. Did DKIM pass with alignment?
-> If YES: PASS (deliver normally)
-> If NO: apply DMARC policy (none/quarantine/reject)
5. Reporting: send aggregate data to rua= addressBannere til eksterne e-mails
Et praktisk forsvar i dybden mod phishing og BEC er at tilføje et advarselsbanner for eksterne e-mails til alle meddelelser, der kommer udefra organisationen. Dette banner — som typisk indsættes af SEG'en — gør medarbejderne opmærksomme på, at en e-mail kommer fra en ekstern afsender, selv når det viste navn ser ud til at tilhøre en kollega eller leder. Bannere er særligt effektive til at markere BEC-forsøg, hvor angriberen bruger et domæne, der ligner det rigtige, eller forfalsker det viste navn. Banneret bør være visuelt tydeligt (en farvet top- eller bundtekst) og indeholde instruktioner til rapportering af mistænkelige meddelelser.
# Example external email banner (SEG inserts this)
# --- EXTERNAL EMAIL ---
# This message was sent from outside the organization.
# Do not click links or open attachments unless
# you expected this email and trust the sender.
# Report suspicious email: phishing@company.com
# ----------------------
# Proofpoint SEG: add disclaimer via content filter
# Match: Header 'X-MS-Exchange-Organization-SCL' absent
# Action: Prepend HTML banner to message bodyHurtig kontrol
Test din forståelse af CompTIA Security+-koncepterne (SY0-701) fra denne lektion.
Opsummering af lektionen
I denne lektion lærte du, at SPF bruger DNS TXT-poster til at godkende afsendende IP-adresser, men kun kontrollerer konvoluttens From-felt og ikke den synlige header, at DKIM tilføjer kryptografiske signaturer, som verificerer meddelelsens integritet og overlever videresendelse, og at DMARC knytter SPF og DKIM til den synlige From-header med justeringskontroller og en håndhævelig politik (none/quarantine/reject) samt rapportering. Næste emne er sikre e-mail-gateways og antispamkontroller.
Lær Security+ Academy med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “E-mailgodkendelse: SPF, DKIM og DMARC” gratis?
Ja — alle 3 lektioner i læringssporet Security+ Academy, inklusive “E-mailgodkendelse: SPF, DKIM og DMARC”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Security+ Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “E-mailgodkendelse: SPF, DKIM og DMARC”?
Implementér og valider politikker for Sender Policy Framework, DomainKeys Identified Mail og DMARC, der forhindrer spoofing af domæner og phishing. Du øver dig i Security+ Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Security+ Academy?
Der kræves ingen tidligere erfaring. Security+ Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “E-mailgodkendelse: SPF, DKIM og DMARC”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Security+ Academy-lektion?
Ja. Alle Security+ Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- E-mailgodkendelse: SPF, DKIM og DMARC
- Sikre e-mailgateways og spamkontrol
- Filtrering af webindhold og DNS-sinkholes
- SSL/TLS-inspektion og man-in-the-browser-angreb