Het Sender Policy Framework (SPF) is een manier om te controleren of een e-mail daadwerkelijk afkomstig is van de afzender die wordt vermeld in het mailadres. Dit werkt door een domeineigenaar een lijst te laten publiceren met IP-adressen of hostnamen die gemachtigd zijn om e-mails namens het domein te verzenden. Als een e-mail wordt ontvangen, kan de ontvangende server het SPF-record voor het domein van de afzender controleren en verifiëren of het IP-adres van de server die de e-mail heeft verzonden opgenomen is in de lijst met gemachtigde IP’s. Als het IP niet is gemachtigd, kan de e-mail als spam gemarkeerd of helemaal geweigerd worden.
Om SPF te laten werken, moet het domein van de afzender een geldig SPF-record hebben dat gepubliceerd is in de DNS-records. Dit record is een eenvoudig tekstbestand met daarin een lijst met IP-adressen of hostnamen die gemachtigd zijn om e-mails namens het domein te verzenden, evenals een set regels die specificeren hoe de lijst moet worden geïnterpreteerd. Bijvoorbeeld, het SPF-record kan een regel bevatten die specificeert dat elke server met een IP-adres in het bereik van het domein gemachtigd is om e-mails te verzenden, of dat alleen specifieke servers of IP-adressen toegestaan zijn.
Het SPF-record kan ook regels bevatten die aangeven dat e-mails van bepaalde andere domeinen of mailproviders gemachtigd zijn om namens het domein te verzenden. Dit wordt gedaan door het opnemen van het domein of de hostnaam in het record met behulp van de “include” regel. Dit is handig voor domeineigenaren die gebruikmaken van externe diensten voor het verzenden van e-mails, zoals marketingplatforms of CRM-systemen.
Aan het einde van het SPF-record staat een regel die aangeeft hoe de ontvangende mailserver met het record moet omgaan. Deze regel kan een van de volgende waardes hebben: “~all” (softfail), “-all” (hardfail), “+all” (accepteer alle e-mails) of “?all” (geen extra validatie uitvoeren). De softfail-methode vertelt de ontvangende server dat de SPF-check is mislukt, maar dat de e-mail toch bezorgd moet worden. Dit is handig in gevallen waarbij de domeineigenaar geleidelijk over wil stappen op een nieuwe set gemachtigde IP’s of hostnamen, of waarbij de domeineigenaar niet zeker is van de juistheid van het SPF-record. De hardfail-methode vertelt de ontvangende server dat de SPF-check is mislukt en dat de e-mail geweigerd moet worden. Dit is handig in gevallen waarbij de domeineigenaar het SPF-record strikt wil handhaven en ervoor wil zorgen dat alleen gemachtigde IP’s of hostnamen e-mails namens het domein kunnen verzenden.
Het SPF-record kan ook andere regels bevatten, zoals “ptr” (Pointer record) en “exists”. De “ptr” regel controleert of het IP-adres van de verzender een geldige reverse DNS-entry heeft en de “exists” regel controleert of het domein of hostnaam in de regel bestaat.
Als een ontvangende mailserver een SPF-check uitvoert, zal het alle regels in het SPF-record afgaan totdat er een match is gevonden. Als er geen match is gevonden, zal de ontvangende server de actie uitvoeren die is opgegeven in de eindregel van het SPF-record. Als er wel een match is gevonden, zal de ontvangende server de e-mail accepteren.
Het is belangrijk om te onthouden dat SPF alleen werkt als de ontvanger het SPF-protocol ondersteunt en het SPF-record van het domein correct is geconfigureerd. Sommige oudere mailservers en e-mailclients ondersteunen het SPF-protocol niet, waardoor SPF in deze gevallen geen effect zal hebben.
Hoe test ik mijn SPF record?
Er zijn verschillende manieren om je SPF-record te testen. Een eenvoudige manier is om gebruik te maken van een online tool, zoals de SPF Record Tester van Mx Toolbox. Je kunt de domeinnaam invoeren en de tool zal het SPF-record ophalen en weergeven, evenals de resultaten van de SPF-check.
Je kunt ook een opdracht uitvoeren vanuit een terminal of commandoregel om het SPF-record op te halen en te testen. Hiervoor kun je dig of nslookup gebruiken. Voer de volgende opdracht uit om het SPF-record op te halen:
dig TXT <domeinnaam>
Vervang <domeinnaam> door de naam van het domein waarvoor je het SPF-record wilt opvragen. Dit zal het SPF-record weergeven als een lange tekstregel.
Om het SPF-record te testen, kun je het SPF-record opnieuw opvragen met dig of nslookup en de resultaten vergelijken met de verwachte resultaten. Als het SPF-record correct is geconfigureerd, zou het resultaat moeten zijn dat de e-mail wordt geaccepteerd vanaf het IP-adres of de hostnaam die in het SPF-record is opgenomen.
Als je wilt testen of je SPF-record correct is geconfigureerd, kun je ook een e-mail sturen naar een e-mailadres dat SPF-checks uitvoert. Dit kunnen bijvoorbeeld e-mailadressen van grote e-maildiensten zoals Gmail of Outlook zijn. Als de e-mail succesvol wordt afgeleverd, betekent dit dat het SPF-record correct is geconfigureerd. Als de e-mail wordt geweigerd of als spam wordt gemarkeerd, kan dit betekenen dat het SPF-record niet correct is geconfigureerd of dat er andere problemen zijn met de beveiliging van de e-mail.
Controle via mail-tester.com
Mail-Tester is een website die kan helpen om de aflevering van e-mails te controleren. Om het te gebruiken, stuur je een bericht vanaf je favoriete e-mailsoftware naar een willekeurig e-mailadres dat je elke keer krijgt wanneer je toegang hebt tot de site. Als je op de knop “Check your score” klikt, zal Mail-Tester het bericht analyseren, evenals je mail server, je verzendende IP en andere zaken. Hierna zal de site een gedetailleerd rapport geven van wat er goed is geconfigureerd en wat niet. Het resultaat van de test zal beschikbaar zijn voor 7 dagen met de gratis versie van de site, of 30 dagen als je een account hebt aangemaakt en je eigen voorvoegsel hebt gebruikt. Als je een nieuw bericht stuurt naar hetzelfde testadres, zal je vorige test verwijderd worden en vervangen door de nieuwe. Mail-Tester kan gebruikt worden om problemen op te sporen die ervoor kunnen zorgen dat berichten niet correct afgeleverd worden of als spam gemarkeerd worden, zodat je ervoor kunt zorgen dat je berichten effectief afgeleverd worden bij de ontvangers.
Regelmatige controle bij wijzigingen
Het is ook aan te raden om je SPF-record regelmatig te controleren en te updaten als er wijzigingen zijn in de manier waarop je e-mails verzendt. Dit kan bijvoorbeeld nodig zijn als je nieuwe e-maildiensten of software gaat gebruiken of als er wijzigingen zijn in de IP-adressen of hostnamen van je e-mailservers.
In samenwerking met andere beveiligingstechnieken, zoals DKIM en DMARC, kan SPF helpen om phishing en andere vormen van e-mailmisbruik te voorkomen en de beveiliging van je e-mail te verbeteren.
Lees onze blog over DKIM, SPF en DMARC en hoe deze de kans op phishing verkleinen.