Vad är SPF?
SPF (Sender Policy Framework) är en metod för e-postautentisering som låter domänägare ange vilka e-postservrar som har behörighet att skicka e-post för deras räkning. Mottagande e-postservrar kontrollerar SPF-poster för att verifiera att inkommande e-post från en domän kommer från en behörig källa.
Varför SPF är viktigt
Utan SPF kan vem som helst skicka e-post som ser ut att komma från din domän, så kallad spoofing. SPF hjälper till att:
- Förhindra nätfiske: Angripare kan inte lika enkelt utge sig för att vara din domän
- Förbättra leveransbarheten: E-postleverantörer litar mer på autentiserade meddelanden
- Skydda anseendet: Förfalskad skräppost skadar inte domänens anseende
- Möjliggöra DMARC: SPF är en byggsten i DMARC-policyer
Så fungerar SPF
1. Domänägaren publicerar en SPF-post (TXT) i DNS
2. Avsändarens e-postserver skickar ett meddelande som påstår sig komma från @example.com
3. Mottagarens e-postserver slår upp SPF-posten för example.com
4. Servern kontrollerar om den sändande IP-adressen är behörig
5. Resultatet tillämpas: pass, fail, softfail eller neutral
SPF-postens syntax
En SPF-post är en TXT-post med ett särskilt format:
v=spf1 [mechanisms] [qualifier]all
Exempel på SPF-poster
Grundläggande (en e-postserver):v=spf1 ip4:203.0.113.50 -all
Google Workspace:
v=spf1 include:_spf.google.com ~all
Flera tjänster:
v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.50 -all
SPF-mekanismer
| Mekanism | Beskrivning | Exempel |
|---|---|---|
| ip4 | IPv4-adress eller intervall | ip4:203.0.113.0/24 |
| ip6 | IPv6-adress eller intervall | ip6:2001:db8::/32 |
| include | Inkludera en annan domäns SPF | include:_spf.google.com |
| a | Domänens A-postadresser | a:mail.example.com |
| mx | Domänens MX-serveradresser | mx |
| all | Matcha allt, vanligtvis sist | -all, ~all, ?all |
Kvalificerare
| Kvalificerare | Resultat | Betydelse |
|---|---|---|
| + (standard) | Pass | Behörig avsändare |
| - | Fail | Obefogad, avvisa |
| ~ | SoftFail | Troligen obehörig, acceptera men markera |
| ? | Neutral | Ingen policydeklaration |
Bästa praxis för SPF-implementering
Börja med SoftFail
När du inför SPF för första gången kan du använda ~all för att undvika att legitim e-post avvisas:
v=spf1 include:_spf.google.com ~all
Gå över till Fail
När du har bekräftat att allt fungerar kan du byta till -all för strikt tillämpning:
v=spf1 include:_spf.google.com -all
Håll DNS-uppslagningarna under 10
SPF tillåter högst 10 DNS-uppslagningar (include, a, mx, redirect, exists). Om gränsen överskrids leder det till SPF-fel.
# Counts as DNS lookups:
include:_spf.google.com # 1 (plus nested includes)
a:mail.example.com # 1
mx # 1
# Does NOT count:
ip4:203.0.113.50 # 0
ip6:2001:db8::1 # 0
Använd endast en SPF-post
Flera SPF-poster orsakar valideringsfel. Kombinera alla mekanismer i en enda post:
# Wrong - two SPF records
v=spf1 include:_spf.google.com ~all
v=spf1 include:sendgrid.net ~all
# Correct - combined
v=spf1 include:_spf.google.com include:sendgrid.net ~all
Kontrollera SPF-poster
Med dig:dig example.com TXT | grep spf
Med DomScan:
curl "https://domscan.net/v1/health?domain=example.com"
# Returns hasSPF status
Validering online: MXToolbox, mail-tester.com
Vanliga SPF-problem
För många DNS-uppslagningar
Symptom: SPF permerror
Lösning: Platta ut include-posterna eller använd färre externa tjänster
Tredjepartstjänster saknas
Symptom: Legitima meddelanden misslyckas med SPF
Lösning: Lägg till include eller ip4 för alla sändande tjänster, till exempel marknadsföringsverktyg och CRM
SPF är för tillåtande
Symptom: Förfalskad e-post klarar SPF
Problem: +all används eller för många tjänster inkluderas
Lösning: Granska och begränsa behöriga avsändare
SPF är avgörande för e-postautentisering, men fungerar bäst tillsammans med DKIM och DMARC för ett heltäckande skydd.