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 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.
Belangrijkste conclusies
- 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 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.
- alle accepteert het mechanisme alle e-mails van afzenders die uw SPF-controle hebben doorstaan;
- geen zal alles weigeren van afzenders die uw SPF controle hebben doorstaan;
- softfail zal e-mails accepteren van afzenders die een SPF controle hebben gefaald, maar ze als verdacht markeren;
- neutraal geeft aan dat u berichten die vanaf uw domein worden verzonden niet weigert of accepteert - het is in wezen een "geen mening"-standpunt over de vraag of het bericht moet worden geaccepteerd of geweigerd;
- weigeren zal e-mails weigeren die de SPF controle niet hebben doorstaan.
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. |
Vereenvoudig SPF met PowerDMARC!
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:
- kan de verzender een specifieke reeks mechanismen specificeren;
- Of het kan specificeren dat alle mechanismen zijn toegestaan.
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 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 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> |
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 '[email protected]'. 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.
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.
- Hoe geautomatiseerde pentest-tools een revolutie teweegbrengen in e-mail en cyberbeveiliging - 3 februari 2025
- MSP Praktijkstudie: Hubelia vereenvoudigt beveiligingsbeheer clientdomein met PowerDMARC - 31 januari 2025
- Top 6 DMARC-oplossingen voor MSP's in 2025 - 30 januari 2025