Uitleg over SPF, wat het doet en hoe je ze gebruikt in DNS.

 

 

SPF records zijn voor ervaren gebruikers. Aanpassingen/toevoegingen van SPF records zijn voor eigen risico.
Indien je zelf geen ervaring hebt met SPF kan onze support je hier verder mee helpen.

Wat is een SPF record

SPF records worden voornamelijk gebruikt om spam te voorkomen. We praten dan niet over inkomende spam maar spam die verzonden kan worden onder jouw naam en dus zo bij mensen wereldwijd kan aankomen. Met de juiste SPF instellingen kan dit voorkomen worden.

 

Hoe werkt een SPF record

Door middel van het SPF protocol stelt een mailserver vast of de verzender van een mailserver gemachtigd is om een bericht te verzenden namens het gebruikte domeinnaam.
Als een SPF record niet of niet goed is ingesteld kan het voorkomen dat er neppe e-mails verzonden kunnen worden vanuit de betreffende domeinnaam.

Om hier een voorbeeld van te geven:

  • Het domein Netzozeker.nl heeft geen SPF records ingesteld, een e-mail verzonden vanuit een onbekende mailserver kan dan in naam van Netzozeker.nl aankomen in het Postvak IN van de ontvanger.
  • Het domein Netzozeker.nl heeft correcte SPF records ingesteld, een e-mail verzonden vanuit een onbekende mailserver komt dan niet voorbij de SPF controle. Afhankelijk van de qualifiers kan de e-mail dan geblokkeerd worden of naar de Ongewenste mail (spam) map verplaatst worden.

De controle van het SPF record gebeurd in de DNS instellingen, de ontvangende mailserver doet een controle bij de DNS instellingen van het domein.

Bijvoorbeeld: de mailserver van domeinnaamA.nl ontvangt een e-mail van domeinnaamB.nl en controleert in de DNS instellingen van domeinnaamB.nl of er een SPF record bestaat, deze is in dit geval aanwezig. In het SPF record staat 1 mailserver ingesteld en deze komt niet overeen met de mailserver die de e-mail van domeinnaamB.nl verzonden heeft aan domeinnaamA.nl. Het email bericht is onrechtmatig verzonden en zal niet aankomen bij de ontvanger van het bedrijf domeinnaamA.nl

 

Configureren van een SPF record

Een SPF record maak je in de DNS niet aan als een apart record type, dit maak je aan als TXT record. De naam/alias van dit record blijft leeg, bij de content van het record vul je de versie, mechanismes, qualifiers en servers in.

Versie

De content van een SPF record begint alijd met “v=spf1” waarbij de “1” het versie nummer aangeeft. Zonder dit deel zal het SPF record nooit gebruikt kunnen worden door mailservers.
SPF versie 1 (spf1) is het gebruikelijke, weet je niet welke je moet gebruiken? Gebruik dan al tijd versie 1.

Mechanisme

Er bestaan verschillende mechanismes voor SPF records:

a:               Als het IP adres van de verzender gelijk is aan het IP adres (A record) van het domein zal de e-mail worden geaccepteerd.


ip4:           Als de zendende mailserver binnen de IPv4 reeks valt zal de e-mail worden geaccepteerd. Een enkel IP adres is hier ook toegestaan.


ip6:           Als de zendende mailserver binnen de IPv6 reeks valt zal de e-mail worden geaccepteerd. Een enkel IP adres is hier ook toegestaan.


include:   Als de zendende servernaam overeenkomt met het record zal de e-mail worden geaccepteerd.


mx:          Als de mail verstuurd is vanuit één van de MX records van het domein zal de e-mail worden geaccepteerd.


exists:     Als het domein gekoppeld is aan een IP adres zal de e-mail worden geaccepteerd.


all:           Hiermee zullen alle mailservers geaccepteerd worden.

 

Qualifiers

De qualifiers gebruik je aan het einde van het SPF record. Er zijn 4 qualifiers om te gebruiken:

–              Dit zorgt voor een FAIL resultaat. Wanneer de zendende mailserver niet voorkomt in het record zal de e-mail niet worden geaccepteerd.


~             Dit zorgt voor een SOFTFAIL resultaat. Indien de zendende mailserver niet voorkomt in het record zal de e-mail wel worden doorgelaten maar hoogstwaarschijnlijk als spam gemarkeerd worden.


?             Dit zorgt voor een NEUTRAL resultaat. Hiermee zal de e-mail doorgelaten worden aangezien er niks aangegeven is, het kan nog zijn dat de e-mail als spam gemarkeerd wordt.


+            Dit geeft een PASS resultaat. De e-mail zal altijd worden geaccepteerd door de mailserver.

 

Voorbeeld van een SPF record

Als je bovenstaande informatie hebt opgenomen beschik je over genoeg informatie om een SPF record te maken. Een SPF record kan er zo uit zien: v=spf1 include:mail.netzozeker.nl =all

Het SPF record van Office 365 ziet er zo uit:  v=spf1 include:spf.protection.outlook.com -all
Het SPF record van Google Apps ziet er zo uit: v=spf1 include:_spf.google.com ~all

Zoals je ziet gebruiken beide dezelfde SPF versie maar gebruiken ze andere qualifiers.

 

SPF record uitbreiden met meer servers

Je kan een SPF record ook uitbreiden zodat deze meerdere servers toestaat. Deze servers gebruiken dan wel dezelfde qualifier, als je andere qualifiers wil voor een SPF record dan dienen ze apart gemaakt te worden.

Je kan bij het samenvoegen ook mechanismes samen gebruiken, enkele voorbeelden:

  • Office 365 en Google Apps samengevoegd: v=spf1 include:spf.protection.outlook.com include:_spf.google.com -all
  • Office 365 en een ip4: v=spf1 include:spf.protection.outlook.com ip4:127.0.0.1 -all
  • Een KPN subnet en mx records: v=spf1 mx ip4:213.75.39.0/24 ~all

 

Een SPF bundel aanmaken

Als je een eigen SPF record gaat maken waar veel mechanisme in voorkomen kan het handiger zijn om een bundled record aan te maken. Dit maak je in je eigen DNS als een TXT record aan en voeg je in het SPF record bij als include. Een voorbeeld is: v=spf1 include:_spf.netzozeker.nl -all . Om dit te laten werken heb je dus een apart TXT record nodig waarin _spf.netzozeker.nl gevuld is met de waardes. Dit TXT record maak je op als SPF record met de naam _spf , een voorbeeld:
v=spf1 ip4:212.114.113.157 ip6:2002:55c:55:561:212:114:113:157 ~all .

Het grote voordeel hiervan is dat je maar 1 record hoeft bij te houden en niet steeds een wijziging bij je klanten of andere domeinen hoeft door te voeren.

 

SPF generator

Een SPF generator kan je helpen om een SPF record op te bouwen, deze kan je hier vinden.