technisch · antwoord met bronnen
SPF (Sender Policy Framework) uitgelegd
Sender Policy Framework (SPF) is een op DNS gebaseerd mechanisme voor e-mailauthenticatie waarmee een domeineigenaar aangeeft welke mailservers namens zijn domein e-mail mogen versturen. Het voorkomt spoofing doordat ontvangende mailservers kunnen controleren of het verzendende IP-adres in het SPF-record van het domein staat.
Hoe SPF technisch werkt
Wanneer een e-mail binnenkomt, zoekt de ontvangende server het TXT-record op van het domein uit het SMTP MAIL FROM-adres. Het SPF-record bevat een lijst met geautoriseerde IP-adressen of externe diensten. De ontvanger vergelijkt het IP-adres van de verbindende SMTP-server met deze lijst. Staat het IP-adres erop, dan slaagt de controle. Staat het er niet op, dan is het resultaat fail of softfail, afhankelijk van de gebruikte qualifier in het record.
Waarom het belangrijk is voor afzenders
SPF is een primaire verdediging tegen e-mailspoofing en phishing. Zonder geldig SPF-record kunnen ontvangende servers niet controleren of een e-mail die van jouw domein lijkt te komen, legitiem is. Dat leidt er vaak toe dat e-mails als spam worden gemarkeerd of volledig worden geweigerd. SPF is een voorwaarde voor DMARC-alignment, dat een robuuster kader biedt voor rapportage en handhaving van e-mailbeveiligingsbeleid.
Veelgemaakte fouten in de praktijk
Een veelvoorkomende fout is het overschrijden van de limiet van 10 DNS-lookups. SPF-records met te veel include-mechanismen veroorzaken een PermError, waardoor de authenticatie mislukt. Een andere veelgemaakte fout is meerdere SPF-records op één domein, wat ongeldig is en automatisch tot een fail leidt. Voeg alle geautoriseerde bronnen samen in één TXT-record, zodat de evaluatie consistent is.
Voorbeeld van een SPF-record
Een typisch SPF-record ziet eruit als v=spf1 ip4:1.2.3.4 include:_spf.google.com ~all. In dit voorbeeld geeft v=spf1 de versie aan, autoriseert ip4:1.2.3.4 een specifieke server, autoriseert include:_spf.google.com Google Workspace en geeft ~all een softfail aan voor elke andere bron. Met de gratis tools van SendHQ op https://sendhq.cc/tools kun je je huidige record controleren op een correcte syntaxis.
Qualifiers voor de evaluatie
Het record eindigt met een qualifier die de ontvanger vertelt hoe hij met ongeautoriseerde mail moet omgaan. Het minteken -all geeft een hard fail aan: de mail zou moeten worden geweigerd. De tilde ~all geeft een softfail aan: de mail wordt geaccepteerd maar als verdacht gemarkeerd. Het vraagteken ?all is een neutraal resultaat en geeft de ontvangende server geen specifieke instructie.
Vragen die teams stellen
Kan ik meer dan één SPF-record hebben?
Nee. Een domein moet precies één SPF-record hebben. Meerdere records veroorzaken een permanente fout en leiden tot mislukte authenticatie.
Wat is de limiet voor DNS-lookups?
SPF-records zijn beperkt tot 10 recursieve DNS-lookups. Wie deze limiet overschrijdt, krijgt een PermError en het record wordt ongeldig.
Voorkomt SPF alle vormen van spoofing?
SPF valideert alleen het Return-Path-adres, niet de From-header die de gebruiker ziet. Voor volledige validatie van de header zijn DKIM en DMARC nodig.