B. L. O. G.
Belangrijke Literatuur, Onze Gezelligheid

 

Schipper mag ik overvaren, ja of nee?

In het vorige artikel hebben we de meest gangbare DNS records besproken. A-, MX- en CNAME-records verzorgen het grootste gedeelte van de werking van domeinnamen. Daarnaast zijn er TXT-records, waarin veel verschillende soorten informatie in kan worden opgeslagen, zoals SPF-records. SPF-records zijn een veel gebruikte tool waarmee voorkomen wordt dat door u verzonden e-mails bij de ontvanger in de spamfolder terecht komen.

Het opzetten van een SPF-records vereist geen kennis van de door u gebruikte mailservers. Wel moet u weten welke mailservers u gebruikt om een juist SPF-record op te stellen. Laten we eerst bekijken wat het SPF-record eigenlijk doet.

Belangrijk?

Voordat we dat doen, eerst nog even dit. Het DNS is al veel langer een bekende naam in internet-land als dat SPF-records dat zijn. Is deze extra toevoeging dan wel belangrijk genoeg om de tijd in te stoppen om het goed te regelen? Het antwoord is heel simpel: ja.

Grotere partijen, zoals Microsofts Hotmail, Googles Gmail en SpamExperts, maken tegenwoordig allemaal gebruik van een SPF-controle. Heeft u geen of een onjuist ingesteld SPF-record ingesteld? Dan is de kans groot dat uw e-mail nooit in de inbox van de ontvanger terecht komt, maar gedoemd is tot de spamfolder. Als de mail überhaupt al wordt afgeleverd, want de kans is groot dat er bij de voordeur al gezegd wordt: “Jij komt er niet in.”

Goed, dat gezegd hebbende, kunnen we nu door naar het idee achter SPF-records.

De gedachte

SPF staat voor Sender Policy Framework. Mits goed ingesteld, definieert het SPF record een set van (mail-)servers waarvan een domeinnaam gebruik mag maken om e-mail te verzenden.

SPF heeft voor u dan ook geen enkel effect op het ontvangen van e-mails, enkel voor het door anderen ontvangen van door u verzonden e-mails.

Wanneer u een e-mail naar iemand stuurt, maakt deze ontvanger in veel gevallen gebruik van een spamfilter. Dit filter controleert uw e-mail op verschillende punten, zoals bijvoorbeeld de inhoud, linkjes, IP-adressen en dergelijke. Eén van de checks controleert waar de e-mail van vandaan komt en of u in uw DNS heeft aangegeven of dit wel één van uw servers is.

Wanneer de binnenkomende e-mail door het spamfilter wordt geanalyseerd, wordt er gecontroleerd vanaf welke server of vanaf welk IP-adres deze e-mail werd verstuurd. Staat deze aangegeven in uw SPF-record, wordt deze check door het spamfilter afgevinkt. Klopt het niet? Dan wordt deze check niet afgevinkt, wat in het totaalplaatje van de controle meetelt voor de spam-score.

De techniek

Het SPF-record is, in de meest simpele vorm, erg klein. Maar, hoe complexer uw opstelling, des te langer het SPF-record wordt. Laten we beginnen met een simpel voorbeeld.

"v=spf1 mx a ~all"

Ieder SPF-record begint met v=spf1 om aan te geven dat het hier een Sender Policy Framework record betreft. Dit laten we daarom voor de rest van het document buiten beschouwing. Hierna worden de servers aangegeven die goedgekeurde servers zijn, hierover zometeen meer. Ten slotte wordt er afgesloten met een instructie wat er moet gebeuren als er niet aan de gestelde voorwaarde wordt voldaan. Laten we daar mee beginnen.

Ja of nee?

Er zijn vier mogelijkheden om het SPF-record mee af te sluiten. Dit zijn:

Notatie Naam Omschrijving Advies
? Neutral We weten het eigenlijk niet zeker. Accepteer maar gewoon.
+ Pass Deze zijn het, maar anderen kunnen het ook zijn. Niet moeilijk doen, gewoon accepteren.
- Fail Alleen van mijn servers! Tegenhouden!
~ Softfail Nou… Eigenlijk alleen van mijn servers, maar als de rest er goed uit ziet… Twijfelgevalletje. Accepteren, maar ben voorzichtig.

Het gebruik van de Pass waarde wordt altijd afgeraden, want dan kunt u nog beter geen SPF-record instellen. Dan wordt er in ieder geval ook nog serieus gekeken naar andere kenmerken.

Vaak zult u kiezen voor de Fail of Softfail, omdat deze de meest geslaagde adviezen geven. Als u uw SPF-record correct instelt, geeft u namelijk precies op van welke servers u e-mail verzendt en kunt u dus ook precies aangeven wat er moet gebeuren als een e-mail wordt ontvangen die niet van één van die servers af komt.

De servers

Dan nu het belangrijkste gedeelte van het SPF-records: het opgeven van de servers die uit uw naam e-mail versturen.

Laten we dat eerder genoemde record er nog eens bij pakken.

"v=spf1 mx a ~all"

We weten al dat het advies is om te twijfelen, maar twijfelen waaraan? Dat wordt hier aangegeven door het gedeelte mx a. Dit betekent dat alle servers die een MX-record of een A-record in de zone van het domein zijn, vertrouwde servers zijn. Stel dat een domeinnaam de volgende records heeft:

domeinnaam.nl  			TXT		"v=spf1 mx a ~all"
domeinnaam.nl  			MX		mail.domeinnaam.nl
domeinnaam.nl  			A		192.168.0.1
www.domeinnaam.nl  		A		192.168.0.1
mail.domeinnaam.nl		A		192.168.0.5

Effectief betekent dit dat een e-mail die door info@domeinnaam.nl verstuurd wordt als vertrouwd aangemerkt wordt, als het verzendende IP-adres 192.168.0.1 of 192.168.0.5 is. Maar wat als het MX-record verwijst naar een andere zone, van een andere domeinnaam?

domeinnaam.nl  			TXT		"v=spf1 mx a ~all"
domeinnaam.nl  			MX		mail.anderenaam.com
domeinnaam.nl  			A		192.168.0.1
mail.domeinnaam.nl 	 	A		192.168.0.5
anderenaam.com    		TXT		"v=spf1 mx a -all"
anderenaam.com    		MX		mail.anderenaam.com
anderenaam.com    		A		192.168.2.1
mail.anderenaam.com		A		192.168.2.5

In dit geval wordt de e-mail geaccepteerd van 192.168.0.1, 192.168.0.5 en 192.168.2.5. De .0.1 omdat de A-records van domeinnaam.nl er naar verwijzen, de .0.5 ook (ook al wordt er geen e-mail op afgeleverd, en de .2.5 omdat het MX-record van domeinnaam.nl verwijst naar mail.anderenaam.com, en die verwijst dan weer naar 192.168.2.5.

192.168.2.1 is geen vertrouwde host. Dit is immers geen MX-record, noch A-record van domeinnaam.nl.

Mag ik overvaren?

In het laatste voorbeeld hebben we drie vertrouwde hosts. Het effect hiervan staat omschreven in de volgende tabel.

Afzender Server IP Advies
info@domeinnaam.nl 192.168.0.1 Prima!
info@domeinnaam.nl 192.168.0.5 Prima!
info@domeinnaam.nl 192.168.2.1 Zou het niet doen…
info@domeinnaam.nl< 192.168.2.5 Prima!
mail@anderdomein.com 192.168.0.1 Niet doen.
mail@anderdomein.com 192.168.0.5 Niet doen.
mail@anderdomein.com 192.168.2.1 Prima!
mail@anderdomein.com 192.168.2.5 Prima!

Geen verrassingen hier dus. Verstuurt u een e-mail vanuit een server die staat ingesteld in het SPF record, dan wordt deze gewoon geaccepteerd. Staat dat IP-adres er niet specifiek in, dan is het afhankelijk van het laatste gedeelte van het SPF-record wat er met de e-mail gebeurt. In het geval van domeinnaam.nl, met een Softfail, wordt er geadviseerd om er voorzichtig mee te zijn. Dat betekent dat, als de e-mail er verder goed uit ziet, deze alsnog doorgelaten zal worden. Zijn er meer dingen waaraan het spamfilter twijfelt, bijvoorbeeld veel linkjes of vreemde bijlages, dan zal het filter de mail alsnog tegenhouden.

Aan de anderdomein.com-kant, zal er een duidelijker antwoord komen. Komt het e-mailtje niet van de twee geaccepteerde IP-adressen, dan wordt het spamfilter vriendelijk doch zeer dringend geadviseerd om de e-mail niet door te laten.

Meer criteria

Natuurlijk zijn er nog meer mogelijkheden om mailservers toe te voegen aan het lijstje met vertrouwde servers. In de volgende voorbeelden worden niet alleen de A-records als vertrouwd aangemerkt, maar ook:

Record Ook vertrouwd
"v=spf1 a ip4:192.168.4.1 ?all" IP-adres 192.168.4.1
"v=spf1 a ip6: fdda:5cc1:23:4::1f ?all" IPv6-adres fdda:5cc1:23:4::1f
"v=spf1 a a:mail.veilig.nl ?all" De server mail.veilig.nl
"v=spf1 a include:veiligdomein.nl ?all" Alles wat er in het SPF-record van veiligdomein.nl staat

Valkuilen

Wat kan er nu mis gaan bij het instellen van een SPF-record voor uw domeinnaam? In principe is dat maar één ding, en dat is het vergeten van een mailserver.

Normaal gesproken, stelt u uw e-mail programma in om uw e-mail te versturen via uw eigen domeinnaam. Voor ons shared hosting platform is dat simpelweg mail.domeinnaam.nl, waarbij de domeinnaam natuurlijk voor iedereen anders is. In dat geval zal een standaard SPF-record waar de A- of MX-records in staan vermeld prima voldoen. “

Maar, wat nu als u thuis uw mailprogramma nét even wat anders ingesteld heeft staan? En u daar mailtjes via de uitgaande mailserver van uw internetprovider, bijvoorbeeld mail.kpnmail.nl of smtp.ziggo.nl, verstuurt? Dan wordt het een heel ander verhaal. Want laten we er van uitgaan dat uw SPF-record er gewoon lekker standaard uit ziet:

"v=spf1 mx a -all"

Een adviestabel zoals we eerder al lieten zien, komt er dan zo uit te zien:

Afzender ServerIP Advies
info@domeinnaam.nl mail.domeinnaam.nl Prima!
info@domeinnaam.nl mail.kpnmail.nl Niet doen!

Dat gaat dus niet werken, want zo kunt u van thuis uit geen e-mails versturen. Of ja, versturen kan wel, maar de kans dat uw ontvangers in het ongewisse blijven van uw proza, is toch wel groot.

NB. Denk hierbij ook aan nieuwsbrief-providers zoals MailChimp! Deze bieden u vaak een aanvulling op uw eigen SPF-record, wat u er gewoon in toe kunt voegen.

Een ander aandachtspuntje is wellicht nog de gebruikte aanhalingstekens. Zoals gezegd, wordt een SPF-record altijd omringd door dubbele aanhalingstekens. Dat alle SPF-records in dit artikel in een ander lettertype zijn geprint, is echter geen toeval. Het betreft hier namelijk ASCII karakters, oftewel, de simpelste tekens die je maar kunt vinden op een toetsenbord.

Wanneer een Office programma gebruikt wordt om tekst op te stellen, moet dit er vaak aantrekkelijk uit zien. Een simpele quote wordt dan ook omringd door “ gekrulde aanhalingstekens ”. Heel mooi natuurlijk, maar voor het DNS is dit niet behapbaar. De DNS-software die op nameservers is geïnstalleerd, wil dingen zo simpel mogelijk zien. Daarom geen gekrulde aanhalingstekens, maar simpele, recht toe recht aan "ASCII aanhalingstekens". Twijfelt u aan welk type u gebruikt? Plak dan uw SPF-record eerst in kladblok, voordat u het record in uw DNS-instellingen inbrengt. Dan weet u zeker dat u goed zit.

Ten slotte is het de bedoeling dat er maar 1 SPF-record per domeinnaam staat ingesteld. Als er meerdere SPF-records staan ingesteld met conflicterende informatie, wordt het door vaak compleet genegeerd. En dat is nou juist niet wat we willen bereiken.

Conclusie

Het gebruik van een SPF-record wordt steeds meer aangeraden en, vooral als u vaak naar @hotmail- of @gmail-adressen mailt, zelfs verplicht. Zonder SPF-record komt u er gewoon niet meer in.

Het genereren van een correct SPF-record is niet moeilijk, maar vereist wel enige vorm van logisch nadenken en een overzicht van waar, en vooral hoe u uw e-mails verstuurd. Vervolgens is het een kwestie van alles netjes op een rijtje zetten. Hier zijn gelukkig ook online generators voor te vinden. Zo vindt u op http://www.spfwizard.net bijvoorbeeld een erg simpele maar goede tool om uw SPF-record voor u aan te maken.

Doe er uw voordeel mee!

Tip: nog meer DNS-informatie vergaren en uw mail beveiligen? Neem ook de volgende stap naar DKIM!