Een beveiligingstechnologie als Sender Policy Framework (SPF) kan van onschatbare waarde zijn in een online wereld die tegenwoordig steeds vaker geteisterd wordt door aanvallen en spamberichten.

Cyberveiligheid gaat dan ook iedereen aan, van particulieren en bedrijven tot overheidsinstanties. Beveiligingsrisico’s zoals e-mailspoofing, phishingaanvallen, spam en andere kwaadaardige plannen nemen de overhand, waarbij ze zich richten op gegevens, applicaties, netwerken en mensen.

Als gevolg daarvan zijn site-eigenaren vaak de dupe en verliezen ze data, geld, reputatie en klantenvertrouwen. E-mails zijn daarbij een van de gemakkelijkste aanvalsroutes.

SPF is een populaire e-mailvalidatietechniek die kan helpen deze aanvallen af te weren door e-mailspoofing op te sporen en spam te voorkomen. Het gebruik van een SPF record kan ook helpen voorkomen dat je e-mails door andere servers als spam worden aangemerkt voordat ze je publiek bereiken.

In dit artikel bespreken we SPF records en waarom het essentieel is om deze techniek voor e-mailbeveiliging toe te passen.

Bekijk onze videogids over SPF record

Wat betekent SPF?

Voordat we ingaan op wat een SPF record precies is en waarvoor je hem gebruikt, is het slim om deze afkorting te definiëren.

Het Sender Policy Framework (SPF) verwijst naar een methode om e-mails te verifiëren die ontworpen is om vervalste afzenderadressen op te sporen tijdens de aflevering van e-mail.

Rechte pijlen tonen van afzender naar inbox van ontvanger om de werkwijze van SPF te zaaien
SPF werkprocedure. (Bron afbeelding: DMRC)

Aanvallers spoofen vaak afzenderadressen, waardoor ze er echt uitzien, als het adres van een gewone gebruiker. SPF kan helpen deze berichten te herkennen en in quarantaine te plaatsen, waardoor deze aanvallen worden afgeketst.

Met SPF kan de server aan de ontvangende kant controleren of een e-mail die van een bepaald domein lijkt te komen, werkelijk afkomstig is van een geautoriseerd IP-adres van dat domein. De lijst met alle geautoriseerde IP adressen en hosts voor een bepaald domein is te vinden in de DNS records van dat domein.

Wat is een SPF record?

Een SPF record is een soort TXT record in een DNS zonebestand, dat een lijst bevat van alle geautoriseerde mailservers die namens jouw domein e-mails kunnen versturen. Het is een implementatie van SPF die aan je DNS moet worden toegevoegd om spammers te helpen identificeren. Hierdoor beperk je het verzenden van kwaadaardige e-mails met valse adressen namens je domein.

Elke betekenis van het SPF record weergeven met vierkante vakken
SPF record. (Bron afbeelding: Pair)

Spammers voeren e-mailspoofing uit door een e-mail te maken met neppe afzenderadressen, omdat de meeste e-mailservers geen verificatie uitvoeren. Vervolgens bewerken ze het afzenderadres van een e-mail door e-mailheaders te vervalsen, zodat het lijkt alsof de e-mails van jouw domein afkomstig zijn.

Dit proces heet spoofing, en het stelt spammers in staat gebruikers op te lichten en hun privégegevens te bemachtigen en reputatieschade te veroorzaken.

Tegenwoordig hebben bijna al deze “kwaadaardige” e-mails neppe adressen. Als gevolg daarvan lijden de mensen van wie de aanvallers de e-mailadressen hebben gestolen reputatieschade, verspillen ze tijd aan het oplossen van berichten die “bouncen”, komen hun IP adressen op de banlijst te staan, enz.

Daarom is het instellen van SPF records noodzakelijk om je e-mailbezorgbaarheid en beveiliging te verbeteren.

Syntaxis SFP record

In het algemeen wordt een SPF record gedefinieerd met behulp van het TXT record (niet te verwarren met het oude bestandstype van het SFP record).

Een SPF record begint met een “v”, die de gebruikte SPF versie aangeeft. Momenteel moet deze versie “spf1” zijn, omdat die door de meeste mailexchangeservers wordt herkend.

Hierna volgen andere termen die de regels bepalen voor hosts die e-mails versturen vanaf het gegeven domein. Deze termen kunnen ook meer informatie geven voor de verwerking van SPF records.

Voorbeeld van een SPF record

Hier zie je hoe een SPF record eruit ziet en wat elk deel ervan betekent:

v=spf1 a include:_spf.google.com -all
  • v=spf1 is de SPF versie 1, een onderdeel dat een TXT record identificeert als een SPF record.
  • a machtigt de host die in het A record van het domein wordt gedetecteerd om de e-mails te versturen.
  • include: wordt gebruikt om e-mails te autoriseren die de afzender namens een domein (hier, google.com) kan versturen.
  • -all vertelt de server van de ontvanger dat de adressen die niet in dit SPF record staan niet geautoriseerd zijn om e-mail te versturen. Het vertelt de servers ook om zulke adressen te weigeren.

Hoe werkt een SPF record?

Elke computer kan e-mails versturen die beweren afkomstig te zijn van elk adres dat door de SMTP is toegestaan. Aanvallers en oplichters maken hier misbruik van door vervalste adressen te gebruiken, die moeilijk te traceren zijn.

Een soortgelijke techniek wordt gebruikt bij phishingaanvallen, waarbij de aanvallers gebruikers ertoe brengen hun persoonlijke of zakelijke gegevens prijs te geven door een echte site of dienst na te bootsen die de gebruikers vaak bezoeken.

Om dit tegen te gaan stelt SPF de eigenaar van een domein in staat om met behulp van DNS records te bepalen welke computers toestemming hebben om e-mails van dat domein te versturen. Bovendien kunnen de ontvangers een e-mail van een onbevoegde bron weigeren na verificatie van het adres uit de SPF records, voordat ze de body van de e-mail ontvangen.

Zoals we in het bovenstaande voorbeeld zagen, is een SPF record in de vorm van een TXT entry waarin alle IP adressen van geautoriseerde e-mailservers staan. Je kunt in een SPF record één of meerdere geautoriseerde IP adressen instellen om e-mails te versturen.

Verschillende pijlen van de ene afbeelding naar de andere sturen om het werkmodel van SPF te rechtvaardigen
SPF werkmodel. (Bron afbeelding: CyberPunk)

Wanneer een geautoriseerde gebruiker een e-mail stuurt waarbij een SPF record is ingeschakeld, voert de mailserver van de ontvanger een DNS lookup uit om de TXT entry te spotten en te bepalen of het IP adres van de afzender geautoriseerd is.

Als hij geen SPF record vindt, stuurt hij een “hard fail” of “soft fail” bericht naar de afzender.

Als de server van de ontvanger dat domein afwijst, moet de ongeautoriseerde gebruiker of client een afwijzingsbericht krijgen (“hard fail”). Maar als de client toevallig een message transfer agent (MTA) is, wordt in dit geval een bounce-mail naar het eigenlijke envelop-from adres gegenereerd (“soft fail”).

Onderdelen van een SPF record

SPF records bestaan uit verschillende onderdelen, te beginnen met het versienummer.

Versienummer

Alle SPF records beginnen met een versienummer, dat geautoriseerd moet zijn door mechanismen die geldige afzenders definiëren. Het SPF versienummer, zoals spf1, wordt gevolgd door een string bestaande uit mechanismen, quantifiers en modifiers.

Mechanismen

Mechanismen beschrijven de hosts die zijn aangewezen als geautoriseerde uitgaande mailers voor een bepaald domein. Een SPF record kan nul of meerdere mechanismen hebben. Enkele veel voorkomende mechanismen in SPF records zijn:

  • a: Specificeert alle IP adressen in een DNS A record (voorbeeld: v=spf1 a:google.com -all). Het wordt als laatste gebruikt en definieert de regel om een IP van een afzender af te handelen dat niet overeenkomt met een voorafgaand mechanisme.
  • mx: Definieert alle A records naar het MX record dat bij elke host hoort. Voorbeeld v=spf1 mx mx:google.com -all
  • include:: Definieert andere toegestane domeinen (voorbeeld: v=spf1 include:outlook.microsoft.com -all). Als de policy van dat specifieke domein slaagt, dan zal dit mechanisme ook slagen. Je hebt de redirectextensie nodig als je volledige delegation wilt bereiken met de policy van een ander domein.
  • ptr: Het definieert alle A records naar het PTR record van elke host (voorbeeld: v=spf1 ptr:domain.com -all). Je wil dit mechanisme echter vermijden, indien mogelijk.
  • all: Matcht alle remote en lokale IP adressen en wordt gebruikt aan het einde van het SPF record (voorbeeld: v=spf1 +all).
  • exists: Dit specificeert domeinen die volgens de definitie SPF zijn afgemeld als uitzondering. Wanneer een query wordt uitgevoerd op een bepaald domein, zal het een match zijn bij het verkrijgen van een resultaat. Het wordt zelden gebruikt en maakt meer ingewikkelde matches zoals DNSBL query’s mogelijk.
  • ip4: Wordt gebruikt om een IPv4 adres te definiëren, bijvoorbeeld v=spf1 ip4:192.0.0.1 -all.
  • ip6: Wordt gebruikt om een IPv6 adres te definiëren, bijvoorbeeld v=spf1 ip6:2001:db8::8a2e:370:7334 -all

Deze definiëren alle IP adressen die geautoriseerd zijn om e-mails van het domein te versturen.

Quantifiers

Mechanismen hebben een quantifier nodig om te definiëren hoe ze een match kunnen afhandelen.

Een e-mailserver vergelijkt het IP adres van de afzender met de lijst van geautoriseerde IP adressen in de mechanismen. Als deze een match vindt voor het IP adres in één van de SPF mechanismen, zal hij de regel voor resultaatafhandeling uitvoeren. En de standaardregel hiervoor is pass of +.

De vier quantifiers zijn als volgt:

  • + geeft het PASS resultaat weer. Als het adres de test doorstaat, moet het bericht worden geaccepteerd (voorbeeld: v=spf1 +all). Je kunt het weglaten omdat bijvoorbeeld +mx en mx hetzelfde zijn.
  • - staat voor HARDFAIL, en geeft aan dat het adres de test niet heeft doorstaan en de e-mail moet worden geweigerd (voorbeeld: v=spf1 -all).
  • ~ staat voor SOFTFAIL en wordt uitgesproken als een tilde. Het betekent dat het adres de test niet heeft doorstaan; het resultaat is echter niet definitief. Je kunt een niet-conforme e-mail accepteren en labelen (voorbeeld: v=spf1 ~all).
  • ? staat voor NEUTRAL, waarbij het adres de test niet heeft doorstaan en je vrij bent om het te accepteren of af te wijzen (voorbeeld: v=spf1 ?all).

Als je in een SPF record geen quantifier ziet, betekent dit dat de +all quantifier wordt toegepast.

Modifiers

Met modifiers kun je het framework uitbreiden. Het zijn waarde- of naamparen gescheiden door het = teken en geven meer informatie. SPF records kunnen nul, één of twee modifiers hebben, maar ze kunnen maar één keer voorkomen, aan het eind van het record.

De twee meest gebruikte modifiers zijn:

  • redirect: Gebruikt om een query naar andere domeinen te sturen. Deze modifier is eenvoudig te begrijpen in vergelijking met andere mechanismen en modifiers en wordt gebruikt als je meerdere domeinen hebt en overal hetzelfde SPF record moet gebruiken.
  • exp: Wordt gebruikt om uitleg te geven wanneer een FAIL quantifier is opgenomen op een gematcht mechanisme. Deze uitleg wordt geplaatst in het SPF logboek.

Waarom heb je SPF records nodig?

Als je domein een SPF record heeft, vermindert dat de kans op het ontvangen van kwaadaardige, vervalste e-mails, waardoor je e-mail beter beveiligd is tegen cyberaanvallers en spammers.

Een SPF record verhoogt ook de geloofwaardigheid van je domein en vermindert de kans dat het door de spamfilters wordt verwijderd. Hierdoor vinden legitieme e-mails sneller hun weg naar jouw inbox of die van je klanten.

Verder is het toevoegen van SPF records aan je domein steeds crucialer geworden om te verifiëren welke afzenders namens jouw domein e-mails mogen versturen. Het biedt veel voordelen, die we hierna zullen verkennen.

Verhoogde e-mailbeveiliging

Twee laptops met één cloud laten zien hoe je e-mailbeveiliging kunt verbeteren
E-mailbeveiliging. (Bron afbeelding: Zero 1 Zero Innovations)

SPF records helpen de e-mailbeveiliging voor zowel particulieren als bedrijven te vergroten. In het tijdperk van cyberveiligheid, waarin gebruikers uit de hele wereld getroffen worden door cybercriminaliteit, moet je stappen ondernemen om je inbox te beschermen.

Het toevoegen van SPF records is een manier om precies dat te doen. Door het moeilijker te maken voor e-mailaanvallers om door te dringen in de beveiliging, is het minder waarschijnlijk dat spamberichten in je inbox terechtkomen; je e-mailbeveiliging neemt daarmee dus toe.

Verbeterde bezorgbaarheid van e-mail

Als een domein geen SPF record heeft, kunnen zijn e-mails bouncen of door servers als spam worden aangemerkt. En als dit herhaaldelijk gebeurt, vermindert zijn vermogen om met succes e-mails te versturen naar zijn publiek (ook bekend als deliverability).

Dit wordt een obstakel voor individuen en bedrijven die zulke domeinen gebruiken om hun beoogde klanten, werknemers, verkopers en andere betrokkenen te bereiken.

Verbeterde domeinreputatie

Een e-mailbox, pijlen, een prullenbak en e-mails tonen om te rechtvaardigen hoe je de domeinreputatie kunt verbeteren
Domeinreputatie. (Beeldbron: Rejoiner)

Als je gebruikers voortdurend e-mails ontvangen van aanvallers die zich voordoen als jouw bedrijf, loopt de geloofwaardigheid van je domein gevaar. Criminelen kunnen ook schade aanrichten bij je klanten en werknemers door hun persoonlijke gegevens te verkrijgen, wat je reputatie nog verder zal schaden.

Daarom is het essentieel om je domein tegen dergelijke incidenten te beschermen met behulp van SPF records. Door het verzenden van e-mails te beperken tot alleen geautoriseerde IP adressen die in de records staan, voorkom je spamberichten en verminder je de kans op dergelijke aanvallen.

Naleving van DMARC

Het e-mailverificatiesysteem DMARC zorgt ervoor dat alleen bevoegde gebruikers namens je domein e-mails versturen.

Het beleid ervan instrueert servers ook hoe om te gaan met e-mails met mislukte DKIM en SPF controles. DMARC schrijft voor dat zulke e-mails moeten worden gemarkeerd als afgewezen, spam of afgeleverd.

Ook kunnen domeinbeheerders rapporten ontvangen over e-mailactiviteiten en hun beleid dienovereenkomstig aanpassen.

Wie heeft een SPF record nodig?

Je moet een SPF record instellen voor je domein als je commerciële en transactionele e-mails verstuurt naar je klanten, werknemers of leveranciers. Het gebruik van verschillende e-mailbeveiligingsoplossingen maakt je e-maildeliverability en beveiliging sterk(er).

  • Bedrijven en individuen: Met een e-mailauthenticatietechniek zoals SPF records kunnen bedrijven en particulieren nagaan of een e-mail namens hun domein wordt verstuurd of dat iemand het voor persoonlijk gewin doet en je relaties misschien wel oplicht. En je kunt dat nog sterker maken door SPF records met DMARC of DKIM te gebruiken om een volledig authenticatiebeleid voor al je e-mails te specificeren.
  • ISP’s: SPF records zijn gunstig voor ISP’s. Als ze een SPF record niet goed hebben ingesteld, moeten ze misschien opnieuw e-mail filteren. Ook vertelt een mislukte authenticatie dat er een mogelijkheid is dat hun e-mails door veel servers worden geblokkeerd of herkend als spam.

Als je dus wilt dat je e-mails met succes de beoogde bestemming bereiken, zal het gebruik van SPF records je hiervan verzekeren en je domeinen en e-mails beter beveiligen. Het filtert vervalste e-mails van phishers en spammers en beschermt je reputatie.

Zo maak je SPF records aan, voeg je ze toe en bewerk je ze

Hier lees je hoe je SPF records kunt toevoegen, aanmaken en bewerken.

Zo maak je een SPF record aan

Een dashboard waar je een SPF record kunt maken
Maak een SPF record aan. (Bron afbeelding: SendPulse)

Voordat je begint met het aanmaken van een SPF record, is het noodzakelijk om te begrijpen of jouw opzet voor het verzenden van e-mail vereist dat je dit überhaupt moet doen.

Begrijp dus eerst het Return-Path. SPF draait om het domein dat gebruikt wordt in het Return-Path, in plaats van het FROM domein. Zoek daarom in het begin uit welk Return-Path je gebruikt voor je e-mailverzending.

Ook kunnen bepaalde e-mailverzenddiensten (ESP’s) zoals Google jouw domeinnaam gebruiken in hun Return-Path. Hiervoor moet je zelf een SPF record aanmaken voor je domein.

Andere ESP’s, zoals Postmark, kunnen echter hun domein gebruiken in het Return-Path waarbij je zelf geen SPF hoeft in te stellen; je ESP moet dat in plaats daarvan doen.

Dus nu je weet waarom je een SPF record moet instellen, laten we stap voor stap begrijpen hoe je dat doet.

Stap 1: Identificeer de IP adressen die e-mails versturen

Organisaties kunnen meerdere plekken hebben van waaruit ze e-mail versturen. In de eerste stap naar het aanmaken van een SPF record moet je dus vaststellen welke IP adressen je vanaf je domein gebruikt om de e-mails te versturen. Maak een lijst van al je IP adressen en bijbehorende mailservers in een tekstdocument of spreadsheet.

Zoek daarnaast uit welke wegen worden gebruikt voor het verzenden van e-mails namens je merk. Dat kan een webserver zijn, een in-office mailserver zoals Microsoft Exchange, de mailserver van je ESP, een mailserver van de mailboxprovider van je klant, of een externe mailserver.

Als je niet zeker bent van je IP adressen, kun je contact opnemen met je ESP en de volledige lijst met alle IP adressen rond je account opvragen. Een andere optie is dit te bespreken met je systeembeheerder. Zij kunnen een lijst maken van alle IP adressen die door jouw bedrijf worden gebruikt.

Stap 2: Maak een lijst van de versturende domeinen

Een organisatie kan veel domeinen bezitten. Daarvan kunnen ze sommige domeinen aanwijzen voor het versturen van e-mails en andere voor andere doeleinden.

In stap nummer 2 moet je een SPF record aanmaken voor elk domein dat je bezit, of de domeinen nu gebruikt worden voor e-mails of voor andere doeleinden.

Dit is omdat cybercriminelen kunnen proberen de andere domeinen te spoofen die je misschien niet gebruikt om je e-mails te versturen, omdat ze niet beschermd zijn met SPF terwijl andere die gebruikt worden voor het versturen van e-mails dat wel zijn.

Stap 3: Het SPF record instellen

SPF vergelijkt het IP adres van de mailserver van de afzender met een lijst van toegestane IP die de afzender in zijn DNS record heeft gepubliceerd om de identiteit van een afzender te valideren en je e-mails veilig te houden.

Om een SPF record aan te maken, moet je een v=spf1 tag schrijven, gevolgd door de IP adressen die geautoriseerd zijn voor het verzenden van e-mails. Voorbeeld v=spf1 ip4:192.0.0.1 -all

Daarnaast, in het geval dat je een externe oplossing gebruikt om namens je domein e-mails te versturen:

  • Voeg include toe in het SPF record om aan te geven dat de externe partij een legitieme afzender is. Je kunt bijvoorbeeld schrijven include:google.com
  • Na het toevoegen van alle geautoriseerde IP adressen die aan je domein verbonden zijn, eindig je het SPF record met een tag — of -all of ~all.Hier betekent de tag -all een HARD SPF FAIL terwijl de tag ~all een SOFT SPF FAIL betekent. Bij populaire mailboxproviders leiden zowel -all als ~all echter tot een SPF failure. Maar in het algemeen wordt -all vaak gebruikt omdat het veiliger is.
  • Maak je SPF records zo dat ze niet langer zijn dan 255 tekens en vermijd het toevoegen van meer dan 10 include statements, ook bekend als “lookups”.

Nu kan je SPF er ongeveer zo uitzien:

v=spf1 ip4:192.0.0.1 include:google.com -all

Dit is voor je domeinen die toestemming hebben om namens jou e-mails te versturen. Maar voor je andere domeinen moet je modifiers (behalve -all) uitsluiten in het SPF record.

Hier zie je hoe je SPF record eruit zou kunnen zien voor domeinen die je niet gebruikt voor het versturen van e-mails v=spf1 –all

Zo kun je je SPF record aanmaken. Hierna is het tijd voor publicatie.

Stap 4: Publiceer het SPF record

Als je eenmaal het SPF record hebt gedefinieerd, is de volgende stap om het te publiceren in je DNS. Er zijn twee methoden om dit te doen:

  1. Werk samen met je interne DNS beheerder en geef hem de opdracht het SPF record te publiceren in je DNS. Je DNS provider zal je voorzien van een dashboard waar je toegang toe hebt en de publicatietaak gemakkelijk kunt uitvoeren.
  2. Je kunt de DNS dienstverlener rechtstreeks vragen om je SPF record in de DNS te publiceren.

Hierdoor kunnen de mailboxontvangers zoals Gmail, Hotmail, Mailbird, enz. het SPF record opvragen.

Als je de DNS records wilt bijwerken:

  1. Log in op het domeinaccount dat je gekocht hebt bij je domeinhostingprovider
  2. Kies het domein waarvan je de records wilt bijwerken
  3. Ga naar de pagina waar je DNS records zijn opgeslagen, dat kan een DNS manager zijn
  4. Maak een nieuw TXT record aan en definieer de naam van je domein als het Host veld
  5. Vul het veld “TXT Value” met het SPF record en geef een Time To Live (TTL) op
  6. Klik op “Add Record” of “Save” om het nieuwe SPF record op je DNS te publiceren.

Stap 5: Test het SPF record

Nadat je je SPF record hebt aangemaakt en gepubliceerd, kun je een SPF recordchecker gebruiken om het SPF record te testen. Er zijn veel opties voor SPF recordcheckers, zoals Dmarcian, Agari, Mimecast, enz.

Door een test uit te voeren kun je de geldigheid van je SPF record controleren en de lijst zien met alle geautoriseerde servers die namens je domein e-mails kunnen versturen. Als je geen legitiem IP adres in de lijst ziet, kun je het verzendende IP adres links opnemen en je record bijwerken.

Zo voeg je een SPF record toe aan je domein

Een dashboard waar je een SPF record kunt toevoegen
Een SPF record toevoegen. (Bron afbeelding: One)

Je moet toegang krijgen tot het DNS controlepaneel van je domein om een SPF record toe te voegen. Als je een webhostingserviceprovider gebruikt, zoals Kinsta, zal het proces van het toevoegen van een SPF record aan je DNS eenvoudiger zijn. Je kunt de documentatie raadplegen en de stappen volgen om het te doen.

In het algemeen publiceren e-mailserviceproviders SPF records om het versturen van e-mails vanaf je domeinen mogelijk te maken. Maar als je er geen idee van hebt of je ISP beheert je DNS records, dan kun je dit doorsturen naar je IT afdeling.

Beperkingen van SPF records

Hoewel het toevoegen van SPF records je voordelen biedt op het gebied van e-mailbeveiliging, deliverability en meer, zijn er bepaalde beperkingen aan verbonden. Laten we het over die beperkingen hebben.

DNS SPF records

Eerdere SPF versies werden gebruikt om te controleren op de instellingen in de DNS TXT records van het afzenderdomein om sneller te kunnen implementeren en testen. DNS TXT records waren ontworpen als vrije tekst zonder enige semantiek.

De IANA kende echter in 2005 een type-99 Resource Record toe aan SPF. Dit leidde tot een verminderd gebruik van SPF, omdat gebruikers overweldigd werden door de twee mechanismen, die voor hen verwarrend waren. In 2014 werd het stopgezet.

Headerproblemen

SPF was oorspronkelijk bedoeld om te voorkomen dat aanvallers het envelop-from adres van een e-mail spoofen. Maar velen doen dat nu alleen in het “From” veld van de e-mailheader, dat zichtbaar is voor de ontvangers en niet wordt verwerkt door hun MTA. Dit verhoogt de risico’s van spoofing.

Hoewel je SPF met DMARC kunt gebruiken om het From veld van de mailheader te controleren, heb je misschien een geavanceerde, sterkere oplossing nodig om beschermd te blijven tegen display name spoofing in plaats van SPF.

Bovendien is het een uitdaging om SPF records bij te werken als je e-mailstromen toevoegt of van ISP verandert. SPF records kunnen ook het doorsturen van een gewoon bericht verbreken, en het garandeert geen e-mail authenticatie.

SPF records best practices

Voordat we de best practices voor het aanmaken en onderhouden van SPF records bespreken, laten we het eerst hebben over enkele algemene werkwijzen.

  • Je verzendende IP adres moet een PTR record bevatten. Het werkt een beetje als een omgekeerd telefoonboek waarmee je een IP adres samen met een hostnaam kunt opzoeken. Openbare internettoegangspunten en residentiële IP adressen voor internetverbindingen hebben echter vaak geen PTR records. Het wordt gebruikt als het nodig is om inkomende verbindingen te verifiëren.
  • Gebruik e-mailverificatiesystemen. Je kunt één of alle van de drie e-mailverificatiesystemen gebruiken: SPF, DMARC en DKIM. Legitieme afzenders die e-mailverificatie gebruiken kunnen gemakkelijk worden herkend, vergeleken met degenen die het niet gebruiken en een veiligheidsrisico blijven lopen door e-mailspamming. Hoewel het gebruik van deze systemen niet noodzakelijkerwijs garandeert dat je e-mails in de bestemde inboxen terechtkomen, biedt het een betere bescherming. Dit is beter dan het ontbreken van e-mailbeveiligingsmechanismen om de reputatie van de afzender te bewaken en te behouden.
  • Gebruik of neem nooit een record op met +all erin. De enige manier om all productief te gebruiken is in de mechanismen ~all of -all.

Na deze algemene werkwijzen bespreken we een paar best practices rond het SPF record.

Houd je SPF records eenvoudig

SPF bevat veel krachtige en complexe mechanismen, maar het is niet nodig ze allemaal te gebruiken in je SPF records. Houd je SPF records eenvoudig en definieer alleen het vereiste aantal SPF records, niet meer dan dat.

Dit geldt ook voor het include: mechanisme. Gebruik het in een beperkt aantal en vermijd opssomingen van includes als je kunt. Het zal voorkomen dat je over de limiet van 10 DNS lookups gaat. Je kunt ook een bereik aan IP adressen in één keer toevoegen, in plaats van het allemaal afzonderlijk te doen. Dit vereenvoudigt het proces en bespaart tijd.

Bereiken opgeven in CIDR notatie

Voeg de bereiken toe in CIDR notatie, omdat een enkele fout de waarde dramatisch kan veranderen. Als een aanvaller erin slaagt enkele van je systemen binnen te dringen en een van hen heeft het IP adres dat bij dit bereik hoort, kan dat al fataal zijn. Ze kunnen het als goed aangewezen IP adres misbruiken om spammails te versturen. Dat kan je reputatie schaden, leiden tot gegevensverlies en tot gevolg hebben dat je domein door mailproviders als spam wordt aangemerkt.

Omdat dit risico enorm groot is, zijn mailboxproviders waakzaam geworden en blokkeren ze domeinen die hen verdacht lijken om dergelijke voorvallen te voorkomen. Ze beperken de toegestane CIDR bereiken die ze als geldig beschouwen binnen SPF records.

Vermijd het gebruik van het +all statement

Vermijd het gebruik van het +all statement in je SPF records. Het kan er overdreven permissief uitzien, en het opsporen van dit soort beveiligingsproblemen is moeilijk omdat deze SPF records syntactisch geldig zijn. Zelfs tools en testoplossingen om de records te controleren zouden te permissieve records niet kunnen identificeren.

Het +all statement stelt het SPF record in staat om letterlijk het hele web toestemming te geven om namens jouw domein e-mails te versturen, inclusief de kwaadwillenden. In feite hebben domeinen die betrokken zijn bij het verspreiden van spam vaak SPF records die eindigen op +all. Daardoor kunnen ze vanaf elk IP adres spammails versturen met malwareinfecties.

Pas op voor dubbele records

Over het algemeen hebben domeinen slechts één SPF record, wat betekent dat het slechts één TXT record kan opslaan dat begint met de vermelding v=spf1. En als je probeert meerdere records aan een domein toe te voegen, kan dat tot permanente fouten leiden.

Deze SPF beperking wordt vaak overtreden. Velen proberen meerdere records toe te voegen omdat ze misschien verschillende diensten in hun domein hebben ingezet, waarbij elke dienstverlener kan eisen dat ze een SPF record aanmaken en toevoegen aan hun domein.

Toont dat twee desktops met dezelfde gegevens zijn verbonden met de cloud
Dubbele records. (Bron afbeelding: Data Axle)

Dubbele records beschadigen je e-mailbezorgbaarheid, nodigen beveiligingsrisico’s uit, en kunnen je reputatie aantasten. Grote mailboxserviceproviders zoals Google en Microsoft hebben technieken om zulke schade te beperken en automatisch dubbele records te repareren. Maar kleinere e-mailsystemen misschien niet.

Als je dubbele SPF records vaststelt, moet je het probleem onmiddellijk aanpakken, wat vrij eenvoudig te verhelpen is. Organisaties met meerdere SPF records kunnen ze samenvoegen tot één enkele declaration. Het samenvoegen van twee SPF records zorgt ervoor dat v=spf1 aan het begin van het SPF record blijft staan en maar één keer voorkomt, terwijl all aan het eind blijft staan.

Karakterlimiet

SPF records kunnen volgens de RFC maximaal 255 tekens hebben voor een enkele string. Dit is een beperking voor alle TXT records in een DNS.

Zoals eerder uitgelegd kunnen SPF records die niet aan deze richtlijn voldoen permanente of tijdelijke fouten veroorzaken in ontvangende mailsystemen. Hoewel je DNS manager misschien voorkomt dat je deze limiet overschrijdt, kan het problemen opleveren bij het opslaan van langere records.

Hoewel je de records slechts 255 tekens lang kunt houden in een enkele string, is er een optie om meerdere strings in een DNS record te maken. Dus wanneer een ontvangende mailserver het SPF record gaat analyseren en meerdere strings in een record vindt, combineert hij ze in een specifieke volgorde zonder spaties.

Zodra dit is gebeurd, verifieert de mailserver de content. Nogmaals, houd in gedachten dat er nog steeds een beperking is op het totaal aantal tekens in je record, zelfs als je meerdere strings kunt toevoegen. Het begrijpen van deze limiet kan een uitdaging zijn, maar het zorgt ervoor dat DNS pakketten niet langer zijn dan 512 bytes, wat een aanbevolen UDP pakketlengte is.

Echter, als je SPF record deze limiet overschrijdt, maak dan sub-records en splits een enkel record op in meerdere records om problemen met SPF verificatie te voorkomen. Neem bij het splitsen van je SPF records elk sub-record op in het hoofdgedeelte. Wees voorzichtig omdat dit een overweldigend aantal DNS verzoeken kan opleveren, wat een beveiligingsprobleem is dat verholpen moet worden.

Beperk DNS lookups

Behalve dat je 255 tekens in een string moet houden, moet je ook het aantal DNS lookups beperken. De RFC specificaties schrijven voor om niet meer dan 10 DNS lookups in het record uit te voeren. Dit helpt problemen als oneindige DNS loops en Distributed Denial of Service (DDoS) aanvallen te voorkomen.

Maar wat gebeurt er eigenlijk als je 10+ lookups in je record doet?

Het resulteert in een permanente fout tijdens de SPF authenticatie. SPF mechanismen — include:, a, PTR, mx, exists, en redirect — zullen leiden tot een DNS query.

De mechanismen — all, ip4, en ip6 — tellen echter niet mee voor een DNS query.

Wees verder bedacht op geneste include statements zoals sub-records die gebruikt worden om een groter record op te breken. Dit kan leiden tot meer DNS query’s die door je SPF record worden gegenereerd. Dus als je een externe dienst gebruikt, zorg er dan voor dat ze geen buitensporige DNS query’s gebruiken in SPF records.

Vermijd dubbele subnetten en IP adressen

Toont conflict van IP-adres tijdens het controleren van Ethernet details
Dubbele IP adressen. (Bron afbeelding: YouTube)

Alle SPF vermeldingen resolven naar een subnet of IP adres.

Dubbele subnetten en IP adressen kunnen gemakkelijk ontstaan bij het maken van een lijst van IP adressen en systemen die gemachtigd zijn om e-mails te versturen. Meestal kan dit gebeuren wanneer je het include: statement toevoegt in je SPF record en in de MX records van het domein voor de mailboxserviceprovider. Deze IP’s kunnen hetzelfde zijn, behorend tot de opgenomen subnetten.

Je kunt hier het beste de ip4 of ipv6 notatie gebruiken, als het IP adres van de server zelden verandert. Zo kunnen de ontvangers DNS lookups vermijden. Daarnaast kun je een IP adresbereik opgeven als je een lange lijst hebt met uitgaande e-mailservers, omdat DNS lookups voor elk SPF record beperkt zijn tot tien.

Los hiervan kun je nog een paar dingen overwegen:

  • Gebruik een beperkt aantal include: mechanismen, en vermijd geneste includes als dat mogelijk is.
  • Gebruik de ~all of -all mechanismen, in plaats van het +all mechanisme.
  • Vermijd het gebruik van het exists SPF mechanisme, want als je het niet goed gebruikt, kunnen beveiligingsrisico’s doorsijpelen door de fouten die tijdens het proces gemaakt worden.
  • Probeer het “ptr” mechanisme niet te gebruiken, omdat het in de laatste SPF RFC draft is afgeschreven.
  • Vermijd het toewijzen van het type DNS record. Dit wordt niet langer geaccepteerd in TXT records.
  • Wanneer je adresblokken specificeert via CIDR notatie in de SPF records, gebruik dan blokken tussen /30 en /16. De hogere getallen na een schuine streep betekenen kleinere adresblokken, wat beter is. Gebruik ook geen blokken tussen /1 en /15, want sommige ontvangers kunnen die negeren of buiten beschouwing laten.
  • Zorg ervoor dat je alle mechanismen die een domein gebruiken in het SPF record omzet. Vaak verwijderen systeembeheerders geen verouderde systemen, zoals een exchangeserver die on-premise staat, waarvoor Office365 clouddiensten in de plaats zijn gekomen. Ook al is het toevoegen van Office365 aan de bijgewerkte SPF records vereist, het kan zijn dat hij in het verouderde systeem nog niet is bijgewerkt. In dat geval is het domein in het SPF record nog wel aanwezig, maar bestaat het in werkelijkheid niet meer, wat leidt tot een tijdelijke SPF fout.
  • Gebruik e-mailverificatiesystemen als DKIM en DMARC met SPF om je domein beter te beschermen. Dus, als je DKIM en DMARC gebruikt, is het noodzakelijk om ook de best practices daarvoor te kennen.

DKIM gebruiken met SPF

DomainKeys Identified Mail (DKIM) levert een coderingssleutel en digitale handtekening die verifieert dat een e-mailbericht niet vervalst of gewijzigd is. Omdat DKIM cryptografische digitale handtekeningen gebruikt, moet je enkele best practices volgen om je domein te beveiligen.

  • Je moet je cryptografische sleutels regelmatig veranderen om te voorkomen dat aanvallers er misbruik van maken. Veel mailverzenders gebruiken oude sleutels die jaren geleden zijn gemaakt, die aanvallers gemakkelijker kunnen misbruiken; voor deze moet je een nieuwe DKIM sleutel maken. Je kunt de sleutels ook jaarlijks meerdere keren roteren, vooral als je duizenden of miljoenen e-mails per maand verstuurt om gevoelige e-mails te beveiligen.
  • Zorg ervoor dat je de lengte van je sleutels minstens 1.024 bits houdt, want handtekeningen die met minder dan dat zijn aangemaakt worden vaak genegeerd. Daarom stappen steeds meer verzenders over op sleutels van 2.048 bits of zelfs langer.
  • Als je een ESP bent, gebruik dan niet slechts één DKIM sleutel voor al je klanten. Wijs hen een nieuwe unieke DKIM sleutel toe voor hun e-mails.
  • Als je bounced e-mails opmerkt, onderteken ze dan met DKIM.

DMARC gebruiken met SPF

Domain-based Message Authentication and Conformance (DMARC) verenigt de verificatiemechanismen SPF en DKIM in een gemeenschappelijk framework en stelt domeineigenaren in staat om aan te geven hoe ze willen dat een e-mail van dat domein wordt behandeld als het niet slaagt voor een autorisatietest.

Het gebruik van DMARC heeft veel voordelen. Het biedt je een rapportagefeature en laat je mailboxserviceproviders signaleren om berichten te blokkeren die de authenticatie niet hebben doorstaan en namens jouw domein zijn verzonden. Dit helpt bij het identificeren en blokkeren van frauduleuze berichten die vanaf jouw domein worden verzonden, wat je klanten helpt beschermen en je domeinreputatie verbetert.

Als je DMARC nog niet gebruikt, begin er dan onmiddellijk mee. En als je dat wel doet, zorg er dan voor dat je berichten een “identifier alignment” bevatten Deze uitlijning is essentieel voor een e-mail om door de DMARC verificatie te komen. Maar als je dat niet doet terwijl je DMARC gebruikt, stuurt het je e-mails direct naar de verdachte lijst.

Zo controleer je SPF records

Je kunt enkele tools gebruiken om SPF records te controleren. Deze tools staan bekend als SPF recordcheckingtools of SPF recordcheckers.

SPF recordchecker

Toont verschillende paden om het SPF record te controleren of het geldig is of niet
SPF record controleren. (Bron afbeelding: John Hanley)

Een SPF recordchecker helpt de geldigheid van een SPF record te garanderen door verschillende parameters te controleren:

  1. Bestaan van het record: Dit wordt gebruikt om te bevestigen of een bepaald SPF record daadwerkelijk bestaat in een DNS of niet.
  2. Meerdere records: Een enkel SPF record is toegestaan in een DNS. Een SPF recordchecker controleert dus of er slechts één record bestaat of meerdere.
  3. Maximale lookups: Het maximum aantal SPF lookups dat gedaan moet worden is beperkt tot 10. Daarom achterhaalt de SPF recordchecker het totale aantal lookups en of het er meer dan 10 zijn.
  4. PTR mechanisme: De tool controleert het gebruik van een PTR mechanisme, omdat het niet aanbevolen wordt dit mechanisme te gebruiken.

Voorbeelden van SPF recordcheckers zijn onder andere Dmarcian, Agari, en Mimecast.

Samenvatting

Omdat cyberbeveiligingsrisico’s zich razendsnel ontwikkelen en zowel particulieren als bedrijven treffen, moet je ervoor zorgen dat je zoveel mogelijk beveiligingslagen implementeert om beschermd te blijven. Je kunt veel beveiligingstechnieken, tools, oplossingen en diensten gebruiken om je gegevens, netwerk, applicaties en systemen te beschermen.

Het toevoegen van een SPF record aan je domein is een van die technieken die kunnen helpen je bedrijfsmiddelen en reputatie te beschermen door te voorkomen dat spammers e-mails versturen uit naam van je domein.

Alleen een SPF gebruiken biedt misschien geen volledige bescherming; gebruik daarom DKIM en DMARC samen met je SPF records. Deze strategie is efficiënter in het detecteren van beveiligingsrisico’s zoals e-mailspoofing, het op de banlijst komen van servers, en het gemarkeerd worden als spam.

Als je deze technieken gebruikt, zorg er dan voor dat je de bovenstaande best practices volgt voor SPF records, DKIM en DMARC, en maak gebruik van een SPF recordchecker om de geldigheid van je record te testen.