HetSPF-record (Sender Policy Framework) is een belangrijk onderdeel van het DMARC protocol dat een methode specificeert om vervalsing van afzenderadressen te voorkomen.
SPF-records zijn complex om in te stellen 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.
Belangrijkste opmerkingen
- SPF voorkomt e-mail spoofing door specifieke mailservers te autoriseren om namens u e-mails te versturen.
- SPF records gebruiken directives, qualifiers en mechanismen om geautoriseerde afzenders en acties op mislukte controles te definiëren.
- De server van de ontvanger controleert het SPF-record via DNS lookup om de autorisatie van de afzender te verifiëren.
- SPF resulteert in Pass, Neutral of Fail om te bepalen of de e-mail legitiem is.
- SPF modifiers zoals "exp" en "redirect" bieden extra aanpassingen voor e-mailvalidatie en -afhandeling.
SPF Record Syntax
De syntaxis van het SPF-record 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 directieven kunnen voorkomen in een SPF record: v=spf1, a, en mx. De v richtlijn geeft aan dat dit record een SPFv1 record is; de a richtlijn geeft aan dat dit record een SPFv2-stijl authenticatie fout rapport is; de mx richtlijn specificeert een lijst van mail uitwisselingsservers voor een domein.
Qualifiers geven aan waar in je DNS zone je SPF records moeten staan: exim4, enduser, of _spf. Deze qualifiers vertellen mailontvangers waar ze moeten zoeken naar je SPF records wanneer ze deze 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.
- alle accepteert het mechanisme alle e-mails van afzenders die door je SPF-controle zijn gekomen;
- geen weigert alles van afzenders die door je SPF-controle zijn gekomen;
- softfail accepteert e-mails van afzenders die niet geslaagd zijn voor een SPF-controle, maar markeert ze als verdacht;
- neutraal geeft aan dat u berichten die vanaf uw domein worden verzonden niet weigert of accepteert. Het is in wezen een "geen mening" over de vraag of het bericht moet worden geaccepteerd of geweigerd;
- afwijzen wijst e-mails af die de SPF-controle niet hebben doorstaan.
Vereenvoudig SPF Record Syntax met PowerDMARC!
<h2>SPF Record Syntax Qualifiers
De "qualifiers" in de syntax van een SPF-record helpen om het bereik van het SPF-record aan te geven. Deze worden voornamelijk gebruikt om aan te geven of een specifiek IP-adres wel of niet geautoriseerd is om e-mails te versturen namens jouw domein.
Kwalificatie | Resultaat Code | Uitleg |
+ | Pas | de enige kwalificatie zonder negatieve connotatie. Het geeft aan dat de beveiligingsrecord van de domeinnaam geen fouten of waarschuwingen bevat en als veilig wordt beschouwd. |
- | Storing | geeft aan dat de beveiligingsrecord van de domeinnaam fouten of waarschuwingen bevat waardoor deze niet als veilig kan worden beschouwd.
|
~ | Softfail | geeft aan dat de beveiligingsrecord van de domeinnaam fouten of waarschuwingen bevat die niet verhinderen dat de domeinnaam als veilig wordt beschouwd, maar die kunnen wijzen op problemen met DNS-resolutie of andere problemen met betrekking tot DNS-vertrouwensankers. |
? | Neutraal | Geeft aan dat het domein geen SPF-record heeft of dat het record syntactisch correct was, maar niet overeenkwam met verzendservers toen het werd gecontroleerd aan de hand van een (of meer) verzendservers in uw lijst met vertrouwde IP-adressen voor dat domein. |
Vereenvoudig SPF met PowerDMARC!
SPF Record Syntaxis Mechanismen
Mechanismen worden gebruikt in de SPF record syntax om de ontvangende server te vertellen welk soort authenticatiemechanisme gebruikt moet worden. Er zijn twee soorten mechanismen:
- kan de verzender een specifieke set mechanismen specificeren;
- Of het kan aangeven dat alle mechanismen zijn toegestaan.
Mechanisme | Doel | Richtlijn van toepassing wanneer | Implementatie |
a | definieert de DNS A-record van het domein als geautoriseerd. Als deze richtlijn niet gespecificeerd is, wordt het huidige domein gebruikt.
|
kan worden toegepast wanneer er wordt gevraagd 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 toegepast en definieert 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 geldig is voor een bepaald domein. Het werkt door alle A-records op dat domein te bekijken en te zien of er een overeenkomt met de criteria in je SPF-record. | Geldt als er een A-record is op het genoemde domein of als andere criteria volgens RFC7208 zijn toegestaan. | exists:<domain> |
opnemen | Het doel van dit mechanisme is om het domein te specificeren en te zoeken naar een overeenkomst, maar ook om een permanente fout te retourneren als het domein geen geldig SPF-record heeft. | Het "include" mechanisme in SPF records kan gebruikt worden om andere SPF records in een domeinrecord op te nemen. 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 zorgt het "include"-mechanisme ervoor dat het domein met het overeenkomende IP-adres wordt gebruikt voor autorisatiedoeleinden.
|
include:<domain> |
ip4 | Je kunt een IPv4 bereik opgeven met de "ip4" opdracht, samen met een prefix die de lengte van het bereik aangeeft. Als er geen prefix wordt opgegeven, wordt /32 aangenomen. | Het "ip4" mechanisme wordt toegepast als een van deze voorwaarden waar is:
- Het opgegeven IPv4-adres komt overeen met 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 | Je kunt een IPv6 bereik opgeven met de "ip4" opdracht, samen met een prefix die de lengte van het bereik aangeeft. Als er geen prefix wordt opgegeven, wordt /128 aangenomen. | Het "ip6" mechanisme wordt toegepast als een van deze voorwaarden waar is:
- Het opgegeven IPv6-adres komt overeen met 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 DNS-record (Domain Name System) Mail Exchanger (MX) 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 prioriteitswaarde 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 geautoriseerd is om e-mails 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 ten minste éé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 afzender. | ptr
ptr:<domain> |
SPF Record Syntax Wijzigingen
In de SPF record syntaxis 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.
Veranderaar | Doel | Implementatie |
exp | De "exp" modifier is een waarde die een uitleg geeft waarom een bericht werd geweigerd. Het is bedoeld om afzenders te helpen bepaalde problemen te vermijden en kan worden gebruikt om hen te informeren over de specifieke reden waarom hun bericht niet werd geaccepteerd door de ontvangende server. | exp=<domain> |
doorsturen | De redirect modifier is een string die de hele domeinnaam in het SPF record vervangt. Het doel van deze modifier is om alle mail die naar het domein wordt gestuurd om te leiden naar een andere server. Dit kan handig 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> |
Wat is een SPF Record?
Een SPF-record is een type DNS-record dat identificeert welke servers namens uw domein e-mails mogen versturen. Het doet dit door een lijst te maken van de servers die geautoriseerd zijn om e-mails voor uw domein te versturen; als een andere server probeert een e-mail namens uw domein te versturen, zal deze als onbevoegde afzender worden geweigerd.
Het doel van een SPF-record is om te voorkomen dat kwaadwillenden vervalste e-mailberichten versturen met jouw domein in het Van-veld. Dit kan gebeuren als een aanvaller grote hoeveelheden spam e-mails verstuurt vanaf je server door je domein te spoofen of vervalsen.
Hoe werkt SPF?
1. Een SPF-bestand maken Syntaxis
U maakt een SPF record syntax in uw DNS server dat specificeert welke IP adressen zijn toegestaan om e-mails te versturen vanaf uw domein. Dit betekent dat als iemand spoofed e-mails vanaf uw domein zou proberen te versturen, hun berichten zouden mislukken omdat het IP-adres van hun mailserver niet zou worden vermeld als een van de goedgekeurde servers.
Als je bijvoorbeeld wilt dat alleen Gmail accounts mail kunnen versturen vanaf je domeinnaam, maar Outlook accounts niet, dan voeg je de volgende regel toe 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 verwijderd (a).
Je kunt onze SPF record generator gebruiken om nu een gratis record te maken!
2. DNS opzoeken
Wanneer een e-mailverzender een bericht probeert te versturen, voert de ontvangende server een DNS-opzoeking uit op het verzendende domein om te zien of er een SPF-record is - dit wordt "verificatie" genoemd. Er is een limiet van 10 toegestane opzoekingen per query. SPF fout.
Als er geen SPF record is, dan mislukt 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 gespecificeerd zijn, zal de authenticatie mislukken. Anders wordt er een A query uitgevoerd voor elk IP adres dat is opgegeven in de volgorde waarin het voorkomt in het TXT record.
Het IP-adres dat een resultaatcode NXDOMAIN of NOERROR retourneert, wordt door de SPF-server als geautoriseerd beschouwd en de hostnaam wordt toegevoegd aan een lijst met geautoriseerde verzendhosts voor dat domein.
3. Resultaat authenticatie
De mailserver levert het bericht af bij de ontvanger of markeert het voor afwijzing op basis van de regels in het SPF-record.
Authenticatieresultaten kunnen drie vormen aannemen: Geslaagd, Neutraal of Gezakt.
Pass betekent dat de mailserver het bericht als legitiem accepteert en toestaat dat het wordt afgeleverd. Neutraal betekent dat er helemaal geen record is of een ongeldig record voor dat domein in DNS, dus er is geen manier om te weten of dit een legitiem bericht is van dat domein. Mislukt betekent dat iets aan dit bericht niet authentiek genoeg was om het af te leveren.
Een mailserver met IP-adres '234.2.1.2' verstuurt bijvoorbeeld een e-mail vanaf '[email protected]'. De inkomende server raadpleegt deDNS (Domain Name Service) om te bepalen of dit IP-adres geautoriseerd is om e-mails te versturen namens het domein 'apple.com'. Als dat zo is, wordt het bericht afgeleverd; anders wordt het verwijderd of gemarkeerd als spam, d.w.z. gesorteerd volgens het mechanisme dat is opgegeven in het SPF-record.
Inpakken
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 opzoeken kan je daarbij helpen. De opzoektool geeft je een snel overzicht van hoe je huidige SPF-record eruitziet, inclusief of er verplichte velden ontbreken of niet. De generator laat je een SPF-recordsyntax vanaf nul maken, compleet met alle verplichte velden zodat het meteen kan worden toegevoegd aan je DNS-records.
- Microsoft vereisten voor afzenders gehandhaafd - Hoe 550 5.7.15 afwijzingen vermijden - 30 april 2025
- Hoe Spyware voorkomen? - 25 april 2025
- SPF, DKIM en DMARC instellen voor Customer.io - 22 april 2025