MailWatch

Hva er SPF? Slik beskytter du domenet mot e-postforfalskning

· 9 min lesetid · Av MailWatch-teamet

SPF (Sender Policy Framework) er en TXT-post i DNS som lister opp hvilke servere og tjenester som har lov til å sende e-post på vegne av domenet ditt. Når en mottakerserver får en e-post, slår den opp SPF-posten og sjekker om IP-adressen som leverte meldingen står på listen. SPF er definert i RFC 7208 og er, sammen med DKIM og DMARC, grunnmuren i moderne e-postautentisering.

Kort fortalt:
  • SPF er én TXT-post på domenet som starter med v=spf1 og slutter med en all-mekanisme.
  • Den sjekker avsenderadressen i konvolutten (Return-Path), ikke Fra-adressen mottakeren ser. Derfor trenger du også DMARC.
  • Du har maks 10 DNS-oppslag. Går du over, får du PermError og SPF feiler for all e-post.
  • Et domene skal bare ha én SPF-post. To poster gir også PermError.
  • Bruk ~all mens du rydder, og vurder -all når du har full oversikt over alle avsendere.

Hvordan SPF fungerer

En e-post har to avsenderadresser. Den ene er Fra-adressen (header From) som vises i e-postklienten. Den andre er konvolutt-avsenderen (MAIL FROM, også kalt Return-Path eller bounce-adresse), som serverne bruker seg imellom og som mottar returmeldinger. SPF sjekker den siste.

Slik foregår en SPF-sjekk i praksis:

  1. En server med IP-adressen 203.0.113.25 kobler til mottakeren og oppgir MAIL FROM:<faktura@firma.no>.
  2. Mottakeren slår opp TXT-postene på firma.no og finner den som starter med v=spf1.
  3. Mekanismene i posten evalueres fra venstre mot høyre. Den første som treffer IP-adressen, avgjør resultatet.
  4. Resultatet (pass, fail, softfail, neutral, none, temperror eller permerror) brukes i spamfilteret og i DMARC-vurderingen.

Er konvolutt-avsenderen tom, som ved returmeldinger, sjekkes i stedet HELO-navnet serveren presenterer seg med.

Viktig: SPF alene hindrer ikke at noen forfalsker Fra-adressen du ser i innboksen. En svindler kan bruke sitt eget domene i konvolutten, bestå SPF og likevel vise daglig.leder@firma.no som avsender. Det er DMARC som knytter SPF-resultatet til Fra-adressen gjennom såkalt alignment.

Syntaksen i en SPF-post

En SPF-post er en vanlig TXT-post på roten av domenet (eller på et subdomene som sender e-post). Den består av tre deler: versjonen, en rekke mekanismer og en avsluttende all.

firma.no.  3600  IN  TXT  "v=spf1 ip4:203.0.113.25 include:spf.protection.outlook.com -all"
  • v=spf1 – må stå først, nøyaktig slik.
  • ip4:203.0.113.25 – tillater én bestemt IPv4-adresse (egen server, skriver eller nettbutikk).
  • include:spf.protection.outlook.com – tillater alle servere som Microsoft 365 lister i sin SPF.
  • -all – alt annet skal regnes som ikke autorisert.

Mekanismer

MekanismeHva den gjørTeller som DNS-oppslag?
ip4: / ip6:Tillater en IP-adresse eller et nettverk, f.eks. ip4:198.51.100.0/24Nei
aTillater IP-adressene som domenets A/AAAA-post peker påJa
mxTillater IP-adressene til domenets MX-servereJa (og hver MX-vert må slås opp)
include:Henter inn SPF-posten til et annet domene, typisk en e-posttjenesteJa, pluss alle oppslag inni den
exists:Treffer hvis et gitt domenenavn har en A-post (avansert bruk)Ja
ptrSjekker omvendt DNS. Frarådet i RFC 7208, skal ikke brukesJa
allTreffer alt. Står alltid sistNei

I tillegg finnes to modifikatorer: redirect=, som lar et domene bruke en annen SPF-post i sin helhet (teller som oppslag), og exp=, som angir en forklaringstekst ved feil og brukes sjelden.

Kvalifikatorer

Foran hver mekanisme kan det stå en kvalifikator. Står det ingenting, gjelder +.

KvalifikatorResultatBetydning
+PassServeren er autorisert (standard)
-FailServeren er ikke autorisert, meldingen kan avvises
~SoftFailSannsynligvis ikke autorisert, meldingen merkes som mistenkelig
?NeutralDomenet uttaler seg ikke. Gir i praksis ingen beskyttelse

Kvalifikatorene brukes nesten bare på all. Skriv aldri +all: da sier du at hele internett har lov til å sende e-post fra domenet ditt.

~all eller -all?

Dette er det vanligste spørsmålet om SPF, og svaret avhenger av hvor langt du har kommet.

  • ~all (softfail) er det trygge valget mens du kartlegger avsendere. Legitim e-post fra en tjeneste du har glemt, blir som regel levert, men får dårligere spamvurdering.
  • -all (hardfail) sier tydelig at alt som ikke står i listen, er uautorisert. Noen mottakere avviser slike meldinger allerede i SMTP-samtalen, før DMARC og DKIM i det hele tatt blir vurdert.

Når du har DMARC på plass, er det DMARC-policyen som bestemmer hva som skal skje med meldinger som feiler. Derfor velger mange å bli på ~all og la p=reject i DMARC gjøre jobben. Det gir mindre risiko for at videresendt e-post med gyldig DKIM-signatur blir avvist bare på grunn av SPF. Begge valg er faglig forsvarlige. Det viktigste er at listen over avsendere er komplett, og det ser du best i DMARC-rapportene.

Eksempler på SPF-poster

Bare Microsoft 365

v=spf1 include:spf.protection.outlook.com -all

Google Workspace og nyhetsbrevtjeneste

v=spf1 include:_spf.google.com include:servers.mcsv.net ~all

Egen server, nettbutikk og Microsoft 365

v=spf1 ip4:203.0.113.25 ip4:198.51.100.0/28 include:spf.protection.outlook.com ~all

Domene som aldri sender e-post

Parkerte domener og domener som bare brukes til nettsider, bør si tydelig ifra at de ikke sender e-post. Ellers er de fritt fram for svindlere.

v=spf1 -all

Kombiner gjerne med en DMARC-post med p=reject og en tom MX (0 ., RFC 7505) for å stenge domenet helt.

Tips: Kopier include-verdien nøyaktig slik leverandøren oppgir den i sitt administrasjonspanel, og legg den inn i den eksisterende SPF-posten i stedet for å opprette en ny.

De vanligste SPF-feilene

1. For mange DNS-oppslag

RFC 7208 setter en grense på 10 DNS-oppslag per SPF-evaluering. Mekanismene include, a, mx, ptr, exists og modifikatoren redirect teller, også de som ligger inni andre includes. ip4, ip6 og all teller ikke. Legger du til CRM, nyhetsbrev, helpdesk og regnskapssystem, er grensen fort nådd. Resultatet blir PermError, og mange mottakere behandler det som at SPF feiler. Se hvordan du løser det i artikkelen om SPF PermError og for mange DNS-oppslag.

2. Mer enn to «void lookups»

Et oppslag som ikke gir noe svar (NXDOMAIN eller tomt svar) kalles et void lookup. Maks to er tillatt. Det skjer typisk når du har en include til en tjeneste du har sagt opp, eller en skrivefeil i domenenavnet.

3. To SPF-poster på samme domene

Når en ny tjeneste ber deg «legge til en SPF-post», ender mange opp med to TXT-poster som begge starter med v=spf1. Det gir PermError. Slå dem sammen til én post.

4. Glemte avsendere

Fakturasystemet, nettbutikken, skanneren på kontoret eller nettsidens kontaktskjema sender kanskje med domenet ditt i konvolutten uten å stå i SPF. Dette dukker opp som SPF-feil i DMARC-rapportene.

5. Syntaksfeil

Mellomrom etter kolon (include: _spf.google.com), v=spf1 som ikke står først, all midt i posten (alt etter den ignoreres) eller manglende all til slutt. Pass også på at posten ikke blir lengre enn 255 tegn i én streng. Lengre poster må deles i flere strenger innenfor samme TXT-post, noe de fleste DNS-leverandører håndterer automatisk.

6. Å tro at SPF arves av subdomener

SPF gjelder bare for det eksakte domenenavnet. Sender du fra nyhetsbrev.firma.no, trenger det subdomenet sin egen SPF-post.

Begrensninger ved SPF

SPF er nødvendig, men ikke tilstrekkelig. Det har tre kjente svakheter:

  • Videresending bryter SPF. Når en melding videresendes, kommer den fra videresenderens IP, som ikke står i din SPF-post. DKIM overlever videresending og er derfor en viktig sikkerhetsnett.
  • SPF beskytter ikke Fra-adressen. Uten DMARC-alignment kan konvolutten og den synlige avsenderen være helt forskjellige domener.
  • Delte plattformer. En include til en stor e-posttjeneste autoriserer i prinsippet alle kundene til den tjenesten. Kombinert med DKIM og DMARC blir dette et mye mindre problem.

Siden februar 2024 krever Gmail og Yahoo at avsendere som sender mer enn 5000 meldinger om dagen, har SPF, DKIM og DMARC på plass, og Microsoft innførte tilsvarende krav for Outlook.com fra 5. mai 2025. Les mer i artikkelen om de nye kravene fra Gmail, Yahoo og Outlook.

Slik sjekker du SPF-posten din

Den raskeste måten er å slå opp TXT-postene direkte:

# Linux / macOS
dig TXT firma.no +short

# Windows
nslookup -type=TXT firma.no

Da ser du selve posten, men ikke hvor mange oppslag den bruker totalt, eller om en include lenger ned i kjeden er ødelagt. Det enkleste er å sjekke domenet ditt gratis med MailWatch. Du får SPF, DKIM, DMARC, MX og svartelister i én rapport.

MailWatch SPF-verktøy som viser mekanismene i SPF-posten og antall DNS-oppslag
SPF-verktøyet i MailWatch bryter posten ned i mekanismer og teller DNS-oppslagene, også de som ligger inni includes.

Du kan også sende en e-post til en Gmail-konto, åpne meldingen og velge «Vis original». Der står det SPF: PASS eller FAIL med IP-adressen som ble sjekket.

En engangssjekk er likevel bare et øyeblikksbilde. SPF-poster endrer seg når leverandører oppdaterer sine includes, når noen i organisasjonen tar i bruk en ny tjeneste, eller når DNS-leverandøren byttes. Derfor lønner det seg å overvåke posten fortløpende.

Ofte stilte spørsmål

Hva står SPF for?

SPF står for Sender Policy Framework. Det er en standard (RFC 7208) der domeneeieren publiserer en TXT-post i DNS som lister opp hvilke servere som har lov til å sende e-post for domenet. Mottakerservere bruker posten til å vurdere om en melding er ekte.

Kan jeg ha flere SPF-poster på samme domene?

Nei. Et domene skal ha nøyaktig én TXT-post som starter med v=spf1. Har du to, gir SPF-sjekken PermError, og mange mottakere behandler e-posten som om SPF feilet. Slå sammen alle mekanismene i én post.

Hva er forskjellen på ~all og -all?

~all (softfail) sier at servere som ikke er listet, sannsynligvis ikke er autorisert, og meldingen blir som regel levert, men merket. -all (hardfail) sier at de ikke er autorisert, og noen mottakere avviser meldingen direkte. Med DMARC på plass er det DMARC-policyen som styrer håndteringen, så begge er vanlige valg.

Hvor mange include kan jeg ha i SPF?

Det er ikke antall includes som begrenses, men antall DNS-oppslag: maks 10 totalt, inkludert oppslagene inni hver include. En enkelt include til en stor leverandør kan alene bruke tre eller fire oppslag. Går du over grensen, får du PermError.

Er SPF nok til å stoppe falske e-poster?

Nei. SPF sjekker bare konvolutt-avsenderen, ikke Fra-adressen mottakeren ser, og SPF brytes ved videresending. For å hindre at noen utgir seg for å være domenet ditt, trenger du også DKIM og en DMARC-policy med p=quarantine eller p=reject.

Trenger domener som ikke sender e-post, en SPF-post?

Ja. Et domene uten SPF er lettere å misbruke. Publiser v=spf1 -all for å si at domenet aldri sender e-post, og kombiner med en DMARC-post med p=reject.

Oppsummering

SPF er en enkel, men lettødelagt byggestein: én post per domene, maks 10 oppslag, en komplett liste over avsendere og en tydelig all til slutt. Sammen med DKIM og DMARC gjør den det langt vanskeligere å forfalske domenet ditt og bedre sjansen for at e-posten havner i innboksen. MailWatch overvåker SPF-posten din kontinuerlig, teller DNS-oppslag, viser hvilke servere som faktisk sender for domenet gjennom DMARC-rapportene, og varsler deg på e-post, SMS eller Pushover hvis noe endrer seg. Du kan prøve gratis i 30 dager uten kredittkort.

Prøv MailWatch gratis i 30 dager · Sjekk domenet ditt gratis