Wat is een SPF record en waarom heb ik dit nodig?

SPF record

Op een brief die je met de post verstuurt kun je jouw adresgegevens invullen, zodat de ontvanger weet van welk adres deze brief komt. Je kunt hier ook een ander adres op zetten, zodat het lijkt alsof de brief van een ander adres komt. Het versturen van e-mail werkt soortgelijk. Je verstuurt een e-mail vanaf jouw e-mailadres. De ontvanger weet dan dat deze mail van jou komt. Maar net als bij de brief die met de post meegaat, kun je het laten lijken dat de e-mail verstuurd wordt vanaf een ander e-mailadres. Het vervalsen van het e-mailadres is mogelijk doordat het e-mailprotocol niet standaard controleert of degene die de e-mail verzendt, dit wel namens het opgegeven domein mag doen.

Een SPF record (Sender Policy Framework) kan dit tegen gaan en voorkomen dat spammers jouw adres invullen als zijnde verzender.

Hoe werkt een SPF record?

Door de DNS van jouw domeinnaam te voorzien van een SPF record, kun je voorkomen dat er e-mails verstuurd worden namens jouw e-mailadres, zonder dat jij hier toestemming voor hebt gegeven.

Dit werkt eigenlijk redelijk simpel. Je maakt in de DNS van jouw domeinnaam een speciaal SPF record aan, waarin je expliciet aangeeft welke servers en IP adressen mail mogen versturen namens jouw domein.

Er is ook een andere kant aan het hebben van een SPF record. Een ontvangende server kan namelijk op basis van het SPF-record besluiten om een e-mail door te laten, te markeren als onveilig of helemaal te weigeren. Nieuwere en veiligere mailservers controleren ook op de aanwezigheid van een SPF record en zullen bij het ontbreken hiervan de mail bij voorbaat niet accepteren.

Hoe is een SPF record opgebouwd?

Een SPF record bestaat uit verschillende onderdelen, die ieder een eigen functionaliteit hebben.

  • Ieder SPF record begint met v=spf1. Dit geeft aan dat het record een SPF is.
  • Met aan a definieer je dat de mail mag worden verzonden vanaf alle A-records in de DNS van het domein.
  • Het is ook handig om mx toe te voegen, welke definieert dat er mail mag worden verstuurd via de MX records van dat domein.
  • Met a:domein.ext geef je aan dat de e-mail door de server achter het A record van domein.ext mag verzenden.
  • Met mx:domein.ext geef je aan dat de e-mail door de server achter de MX records van domein.ext mag verzenden.
  • Dan kun je nog aangeven welke IP adressen mogen verzenden vanaf jouw domein. Dit geef je als volgt aan, ip4:200.100.123.10 (voorbeeld IP adres, welke uitsluitend uit cijfers en punten bestaat).
    Via What’s my IP kun je achterhalen wat jouw IP adres is.
  • Je kunt ook nog aangeven dat het SPF-record van SQR.NL moet worden gebruikt bij de eigen domeinnaam, include:spf.hosting.nl. In dit record staan alle servers en IP adressen welke SQR.NL gebruikt voor zijn klanten.
  • Tot slot geef je aan of de ontvangende mailserver een softfail of een deny moet teruggeven als reactie. Bij een softfail wordt de mail vooralsnog doorgelaten, maar kan de mail wel gemarkeerd worden. Bij een deny weigert de ontvangende mailserver het bericht en geeft een foutbericht terug aan de verzender. Een softfail wordt aangegeven met ~all en een deny wordt aangegeven met -all.

Nu de praktijk

Mijn domein is ‘janjansen.nl’ en ik verstuur mijn e-mail via de mailserver ‘mail.hosting.nl’. Als ik dus wil voorkomen dat iemand mijn domein gebruikt, dan maak ik onderstaand record aan in de DNS van mijn domein:

"v=spf1 mx a include:spf.hosting.nl -all"

Het SPF record controleert dus de MX records, het A record én via de include alle IP adressen waar SQR.NL gebruik van maakt.

Nu gebruik ik ook nog een apart e-mailprogramma om nieuwsbrieven te versturen. Om er voor te zorgen dat dit mailprogramma geautoriseerd is om mail te versturen namens ‘janjansen.nl’ moet ik deze mailserver nog toevoegen aan mijn SPF record. Het programma gebruikt hiervoor de mailserver ‘include:spf.mailvoorbeeld.com’. Mijn SPF record komt er dan als volgt uit te zien:

"v=spf1 mx a include:spf.hosting.nl include:spf.mailvoorbeeld.com -all"

Staat jouw domein bij SQR.NL geregistreerd? Dan kun je de DNS van jouw domeinnaam via Mijn SQR beheren.

Problemen met versturen

Soms kun je wel eens een mailserver vergeten toe te voegen aan je SPF record. Op het moment dat je dan vanaf die server mail verstuurt, zul je een bounce melding terug krijgen dat deze server niet geautoriseerd is om mail namens jouw domeinnaam te mogen versturen. In deze bounce melding staat exact vermeld welke server niet is opgenomen in het SPF record en welke stappen je moet doorlopen om te zorgen dat je in de toekomst wel met deze server kunt mailen.

Sinds 2019 ontvang je foutmeldingen bij het verzenden aan Gmail adressen als er geen SPF record aan de DNS van je domeinnaam is toegevoegd. Hierover hebben we een aanvullend blog artikel geschreven.

Vragen?

Heb je nog vragen naar aanleiding van dit artikel? Neem contact op via mail, chat of telefonisch: 072 751 34 06

Hungry for news?

Schrijf je in voor de Hosting.NL nieuwsbrief en blijf op de hoogte. Je gegevens worden gebruikt voor het verzenden van nieuws, technische updates en support artikelen.

Nieusbrief