SPF
SPF (Sender Policy Framework) is een e-mailprotocol waarmee een ontvangende mailserver kan vaststellen of een e-mailbericht daadwerkelijk is verstuurd door een erkende mailserver van de vermelde afzender. SPF maakt spoofing en spamming lastiger. Het wordt verbeterd met DKIM en DMARC.
SPF wordt ingesteld voor je uitgaande mail. Daarvoor voegen we een SPF-record toe aan het DNS van je e-maildomein waarin de SPF-policy is beschreven. Die policy bestaat uit twee componenten:
- een lijst van IP-adressen van mailservers die namens jouw domein e-mail mogen versturen
- een instructie aan ontvangende mailservers wat ze moeten doen met ontvangen e-mails die niet van een van de IP-adressen uit de lijst (1) afkomstig zijn:
- (hard) fail: het bericht weigeren
- soft fail: het bericht markeren als ‘verdacht’
- pass: het bericht zonder verdere bijzonderheden afleveren
- none: het bericht behandelen alsof er geen SPF-record bestaat
Als de vermelde afzender SPF goed heeft ingesteld, kan een ontvangende mailserver de SPF-check uitvoeren. Daarvoor kijkt de mailserver naar:
- het IP-adres van de mailserver die de e-mail heeft verstuurd
- het domein-DNS van de afzender, zoals vermeld in de ‘MAIL FROM’-header in de envelop van het e-mailbericht
De ontvangende mailserver kijkt in het SPF-record van de vermelde afzender of het gebruikte IP-adres (1) namens het e-maildomein (2) berichten mag versturen. Als het IP-adres niet in het SPF-record staat, kijkt de ontvangende server in de SPF-policy wat er met het bericht moet gebeuren.
Goed om te weten
- Een ontvangende mailserver is niet verplicht om zich aan de instructies in een SPF-policy te houden. Als bijvoorbeeld in de SPF-policy staat dat een bericht met een hard fail moet worden geweigerd, kan de mailserver ervoor kiezen om het bericht met een soft fail af te handelen. Microsoft 365 is hier een goed voorbeeld van.
- Wat er met e-mails gebeurt die als verdacht zijn gemarkeerd, hangt af van de instellingen van de ontvangende mailserver. Het bericht kan bijvoorbeeld in de spamfolder van de ontvanger worden afgeleverd in plaats van in de inbox.
- Het domein waarop SPF berichten checkt, staat in de ‘MAIL FROM’-header. Die header staat in de envelop en is niet direct zichtbaar voor de gebruiker.
- SPF is lastig om goed te configureren: een fout in de syntax is snel gemaakt. Die kan ertoe leiden dat berichten onterecht worden geweigerd of afgeleverd.
- Een SPF-record in DNS heeft een maximum aantal tekens. Als je veel IP-adressen in het record wilt vermelden, kun je tegen die beperking aanlopen. Dat is in veel gevallen op te lossen door lookups (includes) te gebruiken. Je verdeelt dan de lijst van IP-adressen over meerdere records, waarnaar je met een include-statement in het SPF-record verwijst. Maar let op: DNS staat ook weer een maximum aantal includes toe in een record.
- Als je het IP-adres van een van je verzendende mailsystemen vergeet te vermelden in je SPF-record, krijg je op alle berichten die met dat systeem zijn verzonden – afhankelijk van de policy – mogelijk een hard fail, waardoor ze niet bij de verzender terechtkomen (false positive). Het is dus belangrijk om volledig te zijn.
- SPF is niet ‘forward- en mailinglistproof’: als je een e-mailbericht doorstuurt, wordt de ‘MAIL FROM’-header van de oorspronkelijke afzender niet meegestuurd in de envelop, maar vervangen door het IP-adres van de verzendende mailserver. Dat kan onterecht leiden tot een hard fail, waardoor het bericht niet bij de verzender terechtkomt (false positive). Om dit te voorkomen dienen ook DKIM en DMARC correct geconfigureerd te worden.
Controleer de instellingen van je SPF
Met de gratis checktool van DMARCSaaS controleer je makkelijk en eenvoudig de SPF instellingen van jouw e-maildomeinen. Je hoeft enkel je domeinnaam in te geven en je ziet direct of je SPF instellingen goed zijn ingeregeld.