Wat is SPF?
SPF (Sender Policy Framework) is een methode voor e-mailauthenticatie waarmee domeineigenaren kunnen vastleggen welke mailservers namens hen e-mail mogen verzenden. Ontvangende mailservers controleren SPF-records om te verifiëren dat binnenkomende e-mail van een domein afkomstig is van een geautoriseerde bron.
Waarom SPF belangrijk is
Zonder SPF kan iedereen e-mail versturen die van uw domein lijkt te komen (spoofing). SPF helpt om:
- Phishing te voorkomen: aanvallers kunnen uw domein niet eenvoudig imiteren
- Bezorgbaarheid te verbeteren: e-mailproviders vertrouwen geauthenticeerde berichten meer
- De reputatie te beschermen: vervalste spam schaadt de reputatie van uw domein niet
- DMARC mogelijk te maken: SPF is een bouwsteen voor DMARC-beleid
Hoe SPF werkt
1. De domeineigenaar publiceert een SPF-record (TXT) in DNS
2. De mailserver van de afzender verzendt e-mail die beweert afkomstig te zijn van @example.com
3. De mailserver van de ontvanger zoekt het SPF-record van example.com op
4. De server controleert of het verzendende IP-adres is geautoriseerd
5. Het resultaat wordt toegepast: pass, fail, softfail of neutral
Syntaxis van een SPF-record
Een SPF-record is een TXT-record met een specifiek formaat:
v=spf1 [mechanisms] [qualifier]all
Voorbeelden van SPF-records
Basis (één mailserver):v=spf1 ip4:203.0.113.50 -all
Google Workspace:
v=spf1 include:_spf.google.com ~all
Meerdere diensten:
v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.50 -all
SPF-mechanismen
| Mechanisme | Beschrijving | Voorbeeld |
|---|---|---|
| ip4 | IPv4-adres of bereik | ip4:203.0.113.0/24 |
| ip6 | IPv6-adres of bereik | ip6:2001:db8::/32 |
| include | SPF van een ander domein opnemen | include:_spf.google.com |
| a | IP-adressen van het A-record van het domein | a:mail.example.com |
| mx | IP-adressen van de MX-server van het domein | mx |
| all | Komt met alles overeen, meestal als laatste | -all, ~all, ?all |
Kwalificatoren
| Qualifier | Resultaat | Betekenis |
|---|---|---|
| + (standaard) | Pass | Geautoriseerde afzender |
| - | Fail | Onbevoegd, weigeren |
| ~ | SoftFail | Waarschijnlijk onbevoegd, accepteren maar markeren |
| ? | Neutral | Geen beleidsuitspraak |
Beste praktijken voor SPF-implementatie
Begin met SoftFail
Gebruik bij de eerste implementatie van SPF ~all om te voorkomen dat legitieme e-mail wordt geweigerd:
v=spf1 include:_spf.google.com ~all
Schakel over naar Fail
Zodra u hebt bevestigd dat alles werkt, schakelt u over naar -all voor strikte handhaving:
v=spf1 include:_spf.google.com -all
Houd DNS-lookups onder 10
SPF staat maximaal 10 DNS-lookups toe (include, a, mx, redirect, exists). Overschrijding van deze limiet veroorzaakt SPF-fouten.
# 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
Gebruik slechts één SPF-record
Meerdere SPF-records veroorzaken validatiefouten. Combineer alle mechanismen in één record:
# 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
SPF-records controleren
Via dig:dig example.com TXT | grep spf
Via DomScan:
curl "https://domscan.net/v1/health?domain=example.com"
# Returns hasSPF status
Online validators: MXToolbox, mail-tester.com
Veelvoorkomende SPF-problemen
Te veel DNS-lookups
Symptoom: SPF permerror
Oplossing: maak includes vlak of gebruik minder externe diensten
Diensten van derden ontbreken
Symptoom: legitieme e-mail faalt SPF
Oplossing: voeg include/ip4 toe voor alle verzenddiensten, zoals marketingtools en CRM-systemen
Te ruim SPF-beleid
Symptoom: vervalste e-mail slaagt voor SPF
Probleem: +all gebruiken of te veel diensten opnemen
Oplossing: controleer en beperk de geautoriseerde afzenders
SPF is essentieel voor e-mailauthenticatie, maar werkt het best in combinatie met DKIM en DMARC voor volledige bescherming.