Belangrijke waarschuwing: Google en Yahoo stellen DMARC verplicht vanaf april 2024.
PowerDMARC

SPF Record Syntax

SPF Record Syntax

SPF Record Syntax

Leestijd: 8 min

Het Sender Policy Framework(SPF) record is een belangrijk onderdeel van de Domain-based Message Authentication, Reporting and Conformance (DMARC), dat een methode specificeert om vervalsing van afzenderadressen te voorkomen.

SPF records zijn complex om op te zetten en er kunnen implementatieproblemen optreden als ze niet goed geconfigureerd zijn. Bovendien gebruikt de SPF Record Syntax enkele specifieke termen die verwarrend kunnen zijn als je ze voor het eerst tegenkomt. Daarom bekijken we in deze blogpost de syntaxis van SPF-records en waar je rekening mee moet houden als je ze configureert.

Wat is een SPF Record?

Een SPF record is een type DNS record dat aangeeft welke servers een email mogen versturen uit naam van uw domein. Het doet dit door de servers op te sommen die gemachtigd zijn om emails te versturen voor uw domein; als een andere server probeert een email te versturen in naam van uw domein, zal het geweigerd worden als een ongeoorloofde verzender.

Het doel van een SPF record is om te voorkomen dat kwaadwillenden vervalste e-mailberichten versturen met uw domein in het From veld. Dit kan gebeuren als een aanvaller grote hoeveelheden spamberichten vanaf uw server verstuurt door uw domein te spoofen of te vervalsen

Hoe werkt SPF?

1. Creëren van een SPF Record Syntax

U maakt een SPF record syntax in uw DNS server die specificeert welke IP adressen emails van uw domein mogen versturen. Dit betekent dat als iemand probeert gespoofde emails te versturen vanaf uw domein, hun berichten zouden mislukken omdat het IP adres van hun mail server niet vermeld staat als één van de goedgekeurde servers.

Bijvoorbeeld, als je wil dat enkel Gmail accounts mail kunnen versturen vanaf je domeinnaam, maar geen Outlook accounts, dan zou je de volgende lijn toevoegen aan je SPF record:

 v=spf1 a mx include:_spf.google.com ~all

 Dit vertelt servers dat alle berichten die worden verzonden vanaf een host waarvan het IP-adres eindigt op _spf.google.com als geldig moeten worden beschouwd (m), terwijl alle andere berichten moeten worden genegeerd (a). 

U kunt onze SPF record generator tool gebruiken om nu een gratis record aan te maken!

2. DNS Opzoeken

Wanneer een e-mail afzender een bericht probeert te verzenden, voert de ontvangende server een DNS lookup uit op het verzendende domein om te zien of er een SPF record is- dit wordt "authenticatie" genoemd. Er is een limiet van 10 lookups toegestaan per query, overschrijding daarvan leidt tot SPF-fout.

Als er geen SPF record is, dan faalt de authenticatie en wordt het bericht niet afgeleverd. Als er wel een SPF record is, dan controleert de SPF server op IP adressen in het TXT record bij de hostnaam die in het SPF record staat.

 Als er geen IP-adressen zijn gespecificeerd, dan zal de authenticatie mislukken. Anders zal het een A query uitvoeren voor elk gespecificeerd IP adres in de volgorde van voorkomen in het TXT record.

Het IP-adres dat een resultaatcode NXDOMAIN of NOERROR terugstuurt, wordt door de SPF-server als geautoriseerd beschouwd en zijn hostnaam wordt toegevoegd aan een lijst van geautoriseerde verzendende hosts voor dat domein.

3. Authenticatie Resultaat

De mailserver levert het bericht af bij de geadresseerde of markeert het als geweigerd op basis van de in het SPF-record gespecificeerde regels.

De resultaten van de authenticatie kunnen drie vormen aannemen: Pass, Neutral, of Fail.

Pass betekent dat de mailserver het bericht als legitiem aanvaardt en toestaat het af te leveren. Neutraal betekent dat er ofwel helemaal geen record is of een ongeldig record voor dat domein in DNS, zodat er geen manier is om te weten of dit al dan niet een legitiem bericht is van dat domein. Fail betekent dat iets aan dit bericht niet authentiek genoeg was om het te kunnen afleveren.

Bijvoorbeeld, een mailserver met IP-adres '234.2.1.2' verstuurt een e-mail van 'join@apple.com'. De inkomende server zal de domeinnaamservice(DNS) raadplegen om te bepalen of dit IP-adres gemachtigd is om namens het domein 'apple.com' e-mails te verzenden. Zo ja, dan wordt het bericht afgeleverd; zo niet, dan wordt het verworpen of als spam aangemerkt, d.w.z. gesorteerd volgens het in het SPF-record gespecificeerde mechanisme.

SPF Record Syntax

De SPF-record syntaxis bestaat uit verschillende elementen-Directives, Qualifiers, en Mechanisms.

Directives zijn het eerste deel van de syntax van een SPF record. Ze geven aan hoe de rest van het record geïnterpreteerd moet worden. Drie directives kunnen in een SPF record voorkomen: v=spf1, a, en mx. De v directive geeft aan dat dit record een SPFv1 record is; de a directive geeft aan dat dit record een SPFv2-stijl authenticatie mislukkingsrapport is; de mx directive specificeert een lijst van mail exchange servers voor een domein.

Qualifiers specificeren waar in je DNS zone je je SPF records wilt plaatsen: exim4, enduser, of _spf. Deze kwalificeerders vertellen mail ontvangers waar ze moeten zoeken naar je SPF records wanneer ze die controleren met hun DNS records.

Mechanismen worden gebruikt om aan te geven hoe je wilt omgaan met e-mailadressen die niet voldoen aan je SPF-controle. Je kunt kiezen uit verschillende mechanismen: all, none, softfail, neutralize of reject.

SPF Record Syntaxis Kwalificeerders

De "qualifiers" in een SPF record syntax helpen om de reikwijdte van het SPF record aan te geven. Deze worden hoofdzakelijk gebruikt om aan te geven of een specifiek IP adres al dan niet gemachtigd is om emails te versturen in naam van uw domein.

Kwalificatie Resultaat Code Uitleg
+ Pass de enige qualifier zonder negatieve connotatie. Het geeft aan dat het beveiligingsrecord van de domeinnaam geen fouten of waarschuwingen bevat en als veilig wordt beschouwd.
- Fail geeft aan dat het beveiligingsrecord van de domeinnaam fouten of waarschuwingen bevat waardoor hij niet als veilig kan worden beschouwd.

 

~ Softfail geeft aan dat het beveiligingsrecord van de domeinnaam fouten of waarschuwingen bevat die niet verhinderen dat de domeinnaam als veilig wordt beschouwd, maar kunnen wijzen op problemen met DNS-resolutie of andere problemen in verband met DNS-trustankers.
? Neutraal Geeft aan dat het domein geen SPF record heeft of dat het record syntactisch correct was maar niet overeenkwam met een verzendende server wanneer het gecontroleerd werd met een (of meer) verzendende servers in uw lijst van vertrouwde IP adressen voor dat domein.

SPF Record Syntaxis Mechanismen 

Mechanismen worden in de SPF-record syntaxis gebruikt om de ontvangende server te vertellen welk soort authenticatiemechanisme moet worden gebruikt. Er zijn twee soorten mechanismen: 

Mechanisme Doel Richtlijn is van toepassing wanneer Uitvoering
a definieert het DNS A record van het domein als geautoriseerd. Als deze directive niet gespecificeerd is, dan wordt het huidige domein gebruikt.

 

 

kan worden toegepast wanneer wordt gezocht naar een A of AAAA record in een domein dat het IP-adres van de afzender bevat. a

a/<prefix-length>

a:<domain>

a:<domain>/<prefix-length>

alle De all richtlijn wordt altijd gematched, en het bepaalt het beleid voor alle andere bronnen. Dit mechanisme moet altijd worden toegepast, en dit mechanisme komt altijd overeen. alle
bestaat Controleert of een A record al dan niet geldig is voor een bepaald domein. Het kijkt naar alle A-records op dat domein en kijkt of er een overeenkomt met de criteria in uw SPF-record. Van toepassing indien er een A record is op dit domein of indien andere criteria, volgens RFC7208, werden toegestaan. exists:<domain>
omvatten Het doel van dit mechanisme is het domein te specificeren en te zoeken naar een overeenkomst, alsook een permanente fout terug te geven indien het domein geen geldig SPF-record heeft. Het "include" mechanisme in SPF records kan gebruikt worden om andere SPF records op te nemen in het record van een domein. Als een domein geen SPF record heeft, maar een ander domein wel en dat andere domein heeft een IP adres dat overeenkomt met het IP adres van de afzender, dan zal het "include" mechanisme ervoor zorgen dat het domein met het overeenkomende IP adres gebruikt zal worden voor authorisatie doeleinden.

 

include:<domain>
ip4 U kunt een IPv4-bereik opgeven met de richtlijn "ip4", samen met een voorvoegsel dat de lengte van het bereik aangeeft. Als er geen prefix wordt opgegeven, wordt /32 aangenomen. Het "ip4"-mechanisme zal worden toegepast als een van deze voorwaarden waar is:

 

- Het opgegeven IPv4-adres komt overeen met dat van een IP-adres in uw SPF-record.

 

- Het opgegeven IPv4-subnet bevat het IP-adres van de afzender.

ip4:<ip4-address>

ip4:<ip4-network>/<prefix-length>

ip6 U kunt een IPv6-bereik opgeven met de richtlijn "ip4", samen met een voorvoegsel dat de lengte van het bereik aangeeft. Als er geen prefix wordt opgegeven, wordt /128 aangenomen. Het "ip6" mechanisme zal van toepassing zijn als een van deze voorwaarden waar is:

 

- Het opgegeven IPv6-adres komt overeen met dat van een IP-adres in uw SPF-record.

 

- Het opgegeven IPv6-subnet bevat het IP-adres van de afzender.

ip6:<ip6-address>

ip6:<ip6-network>/<prefix-length>

mx Het "mx"-mechanisme, zoals gedefinieerd in het SPF-record, definieert het Domain Name System (DNS) Mail Exchanger (MX)-record van een domein als geautoriseerd. Het DNS MX record bepaalt welke server verantwoordelijk is voor het accepteren van e-mailberichten namens het domein. Het DNS MX record bevat een IP adres en een prioriteit waarde voor elke server die gebruikt kan worden om berichten te accepteren.

 

Wanneer een MX record van een domein een IP adres bevat dat overeenkomt met het IP adres van de afzender, dan geeft dit aan dat deze afzender geauthoriseerd is om emails te versturen namens dit domein.

mx

mx/<prefix-length>

mx:<domain>

mx:<domain>/<prefix-length>

ptr Het ptr-mechanisme gebruikt de omgekeerde hostnaam of het subdomein van het verzendende IP-adres om de doeldomeinnaam te definiëren. Alleen van toepassing als er minstens één MX record is voor het opgevraagde of opgegeven domein en dat MX record een PTR record bevat met een FQDN voor het IP adres van de verzender. ptr

ptr:<domain>

SPF Record Syntax Modifiers

In de SPF record syntax kunnen modifiers gebruikt worden om het standaard gedrag van een SPF record te veranderen. Modifiers kunnen gebruikt worden om uitzonderingen op de regels te specificeren, of ze kunnen gebruikt worden om extra informatie aan de ontvanger te geven.

Modifier Doel Uitvoering
exp De "exp" modifier is een waarde die een verklaring geeft voor de reden waarom een bericht werd geweigerd. Hij is bedoeld om verzenders te helpen bepaalde problemen te vermijden, en kan worden gebruikt om hen te informeren over de specifieke reden waarom hun bericht door de ontvangende server niet werd aanvaard. exp=<domain>
doorverwijzen De redirect modifier is een string die de volledige domeinnaam in het SPF record vervangt. Het doel van deze modifier is om alle mail die naar het domein gestuurd wordt naar een andere server door te sturen. Dit kan nuttig zijn voor domeinen met meerdere MX records of voor domeinen die opnieuw zijn toegewezen aan een ander bedrijf, maar nog steeds dezelfde e-mailadressen gebruiken. redirect=<domain>

Afronding

Het SPF-record is een belangrijk onderdeel van de DNS-records van uw domein. Het vertelt andere mailservers hoe ze berichten moeten verifiëren die beweren van jou afkomstig te zijn, wat betekent dat het belangrijk is dat je een goed geconfigureerd SPF-record hebt. Zorg er echter wel voor dat je SPF koppelt aan DMARC voor een betere bescherming tegen e-mailcompromittering en spoofing. 

De SPF Record Lookup Tool kan u daarbij helpen. De lookup tool geeft u een snel overzicht van hoe uw huidige SPF record eruit ziet, inclusief of het al dan niet verplichte velden mist. De generator laat u een SPF record syntaxis creëren vanaf nul, compleet met alle verplichte velden zodat het onmiddellijk aan uw DNS records kan worden toegevoegd.

Mobiele versie afsluiten