Wat is een SPF-record?

Een SPF-record is eigenlijk als een soort identiteitscontrole. Er wordt gekeken of jij ook echt komt namens wie jij zegt dat je komt. Foto van iemand met een hand omhoog, om te zeggen dat je er niet door mag.

Wanneer je e-mails verstuurt, wil je zeker weten dat alleen jij of partijen met wie jij daarvoor samenwerkt e-mails namens jouw bedrijf kan versturen. Daar kan je een SPF-record voor gebruiken. SPF staat voor Sender Policy Framework. Een SPF-record is een regel tekst die je instelt op de server van jouw website (je DNS). Ik ga je in dit artikel uitleggen wat een SPF-record is en hoe het werkt.

Een SPF-record is zoals gezegd een tekstregel die je in jouw DNS instelt. Daarin geef je aan welke IP-adressen of domeinnamen van mailservers namens jouw domeinnaam e-mails mogen versturen.

Een SPF-record instellen is ook in je eigen belang

Wanneer men vanuit jouw domeinnaam een e-mail verstuurt, controleert de ontvangende e-mailserver altijd of er een SPF-record is ingesteld. En als dat zo is: of de server die de e-mail verstuurt ook namens jou e-mails mág versturen. Als dat niet is ingesteld of wanneer de controle van het SPF-record niet slaagt, wordt de e-mail misschien als spam gemarkeerd. Fijn als dat terecht is. Maar vooral ook zonde als jij wél echt zelf die e-mail had gestuurd. Dus los van dat het veilig is, is het ook in je eigen belang om dit goed in te stellen. Dit is een belangrijk element om goed in te stellen voor de deliverability van je e-mails.

Hoe ziet een SPF-record eruit?

Laten we het volgende SPF-record als voorbeeld nemen:

v=spf1 a mx ~all

Dit SPF-record zegt het volgende:

  • v=spf1: de te gebruiken versie is SPF1;
  • a: alleen de IP-adressen van de A-records van dit domein mogen e-mails versturen;
  • mx: de MX-records van de mailservers van dit domein mogen e-mails versturen;
  • ~all: De tilde gevolgd door all staat voor een “zachte fout” qualifier. Als de SPF-controle mislukt, wordt de e-mail nog steeds afgeleverd, maar de ontvangende server kan het als spam markeren.

Mechanismen en qualifiers

Er zijn verschillende mechanismen en qualifiers die je kunt gebruiken om in je SPF-record te zetten. Ik zet ze graag voor je op een rijtje.

Mechanismen van een SPF-record

  • a: Autoriseer het IP-adres van de A-record van jouw domein;
  • mx: Autoriseer de IP-adressen van de mail servers die zijn opgegeven in de MX-records van jouw domein;
  • ip4: Autoriseer een specifiek IPv4-adres om e-mails te verzenden;
  • ip6: Autoriseer een specifiek IPv6-adres om e-mails te verzenden;
  • include: Verwijs naar het SPF-record van een ander domein om e-mails te autoriseren.

Qualifiers van een SPF-record

  • +all: Dit is een “pass-all” qualifier en autoriseert alle bronnen. Dit is onverstandig omdat met deze instellen alles wat maar beweert namens jou te mailen ook doorgelaten wordt;
  • all: Dit is een “hard fail” qualifier. Als de SPF-check mislukt, wordt de e-mail geweigerd door de ontvangende mailserver. Dit is de meest strikte SPF-instelling. Ook de meest veilige;
  • ~all: Dit is een “zachte fout” qualifier. Als de SPF-controle mislukt, wordt de e-mail nog steeds afgeleverd, maar door de mailserver mogelijk als spam gemarkeerd;
  • ?all: Dit is een “neutraal” qualifier. SPF-controles hebben geen invloed op de aflevering van de e-mail, maar kun je wel gebruiken voor voor rapportagedoeleinden.

Nog een SPF-record uit de praktijk als voorbeeld

Stel dat je het volgende SPF-record tegenkomt:

v=spf1 include:spf.safemail.kpn.com ~all

Hier zie je dus dat de gebruikte versie SPF1 is. Het record maakt gebruik van het ‘include’-mechanisme. Dat wil zeggen dat voor de specifieke instellingen voor SPF wordt gekeken naar de instellingen in het SPF-record van het genoemde domein, in dit geval dus spf.safemail.kpn.com. En er is een ‘zachte-fout’-qualifier gekozen. Dat wil zeggen dat wanneer de SPF-controle mislukt, deze dus wel kan worden afgeleverd maar mogelijk als spam wordt gemarkeerd.

Stel altijd maar één SPF-record in

Het is van groot belang om altijd maar één SPF-record in te stellen. Dit is belangrijk omdat er anders geen garantie is voor welke de server gebruikt. En dan trekt de ontvangende e-mailserver mogelijk een verkeerde conclusie. Het is wel mogelijk om meerdere servers en IP-adressen in je SPF op te nemen. Dit is handig voor als je bijvoorbeeld met meerdere e-mailprogramma’s werkt. Je kan ze dan gewoon achter elkaar plaatsen als volgt:

v=spf1 include:spf.domein1.nl include:spf.domein2.nl ip4:00.111.222.333 ~all

SPF alleen is niet genoeg

Als je een SPF-record hebt ingesteld, ben je niet klaar. Althans, niet als je vanuit een volledige authenticatie en vanuit beveiligingsperspectief kijkt. Het is erg belangrijk om daar ook DKIM en DMARC bij in te stellen.

Twijfel je nog over hoe je SPF moet instellen?

Als je na het lezen van dit artikel nog steeds denkt: “ik snap er niks van”, vraag dan je collega’s bij ICT of de klantenservice van het bedrijf waar jij jouw domeinnaam host om hulp. Zij snappen ongetwijfeld wat je hiermee bedoelt. Uiteraard kan ik je daarbij ook ondersteunen.

Share This