Hinder spamboeren met jouw naam te spammen

Het SPF-record in het DNS instellen

Mail werd ontworpen in een tijd dat er nog geen spam was. De protocollen houden er geen rekening mee. Het gevolg is: iedereen kan doen of hij whitehouse.gov is. Tenminste, als hun beheerder inmiddels het SPF-record niet heeft ingesteld.

Als je nu niet whitehouse.gov bent, waarom zou ik dan de moeite nemen ? Omdat spamkoningen ook jouw domeinnaam gebruiken om mail te verzenden. Hun spam komt van jouw domein En jij laat het toe ? Professioneel. Zet het nu maar dicht.

Het DNS, TXT en SPF Record

Om de SPF records in te stellen moet je werken in het DNS: de domeinregistratie. Hiervoor log je in bij de service waar je je domeinnaam abonnement hebt afgesloten. Bij de meeste mensen is dit de webhoster die ook de website zelf host. Omdat ik mijn eigen domeinen host via een eigen server heb ik een externe DNS-service namelijk transip.nl

Eenmaal ingelogd ga je op zoek naar de DNS-instellingen. Je hebt een TXT-record nodig die wijst naar @, zoals ook de voornaamste andere records in het DNS.

De bovenste DNS-records. De onderste, die begint met v=spf1, is het SPF-record.

Verzamel je mail servers

Maak nu eens een overzicht van alle plaatsen waar jij en je systemen mailen op dit domein ? Het zijn er vaak meer dan je denkt. We gaan nu even uit van mijn eigen situatie, omdat je zo genoeg voorbeelden ziet om zelf complexere gevallen te ontwerpen.

De volgende informatie is natuurlijk privacy-gevoelig maar omdat je met 1 of 2 queries en een enkel mailtje alles al weet, zit ik er niet zo mee 😉

  • Thuis. Dat is, op een ADSL-verbinding van xs4all. Ik heb een vast ip nummer dat valt in de netblocks van xs4all.nl. Hoewel de informatie niet online staat, heeft de servicedesk wel een spf-record aan mij aangegeven: include:spf-considered-harmful.xs4all.nl
  • Webmail. Ik gebruik de webmailer van xs4all, maar xs4all.nl had ik al.
  • De webserver. Mijn websites versturen mail via contact formulieren. Ook WordPress heeft mail nodig, bijv. in geval van verloren wachtwoorden. De server heeft een vast ip nummer, 213.187.243.146.
  • De MX-fallback servers. Mijn DNS wordt gehost via transip.nl. Als mijn mailserver eruit ligt, wordt mijn mail opgevangen door transip. Dat is een redelijk standaard service die je krijgt als je DNS afneemt. Zij geven netjes aan hoe je hun SPF gebruikt in dit artikel. Samengevat: include:_spf.transip.email

Het SPF Record Opbouwen

Instellingen voor de linkerhelft van het SPF record

Een SPF-record is een TXT-record met als naam @. De TTL wordt vrij kort gehouden, zeker nu je nog aan het experimenteren bent. Het gaat natuurlijk allemaal om de rechterkant, de waarde.

Het sappige gedeelte van het SPF-record: de value

We zullen nu het hele SPF-record uit het voorbeeld even uitpakken en stuk voor stuk bekijken.

v=spf1 ip4:213.187.243.146/32 include:spf-considered-harmful.xs4all.nl include:_spf.transip.email ~all
v=spf1

Met deze inleidende code geef je aan dat dit TXT-record een SPF-record is.

ip4:213.187.243.146/32

Het vaste IP nummer van de webserver wordt hier ingesteld. De code /32 betekent: alleen dit IP-nummer.

include:spf-considered-harmful.xs4all.nl

Xs4all heeft een beetje vreemde naam opgegeven – je zou zeggen dat dit de schadelijke nummers zijn en niet de onschadelijke. Anyhow… Met deze include laten we alle mail van het xs4all domein toe. Zowel de thuis-verbinding als de webmailer zijn zo toegelaten.

include:_spf.transip.email

Dit gedeelte hebben we gekregen van Transip zelf. Het betekent dat we alle IP-nummers die vallen binnen _spf.transip.email toelaten.

~all

Het laatste stuk is wellicht het belangrijkste. SPF zoekt de regel af op zoek naar een match. Aan het eind geef je aan volgens welk mechanisme de rest wordt afgehandeld. Wat doe je met de spam?

  • +all. Alles toelaten
  • -all. Alles weigeren
  • ~all softfail. Accepteer de mail maar markeer als ongeldig. Gebruik dit voor een soepeler overgang.
  • ?all. Neutraal. Er gebeurt niks.

Omdat we net beginnen met SPF laat ik deze even op ~all staan. Over een paar weken of maanden gaat deze naar -all. Daar is het allemaal om te doen!

En wie is het eerste merkbare slachtoffer van zijn eigen fanatisme ?

Het goede komt ook met een prijs. Zo heb je nogal eens van die webformulieren – typisch uit WordPress, je kent ze wel, die dan de mail verzenden keurig vanuit het email adres van de zender van het webform.

Soms werken ze niet. Zo kreeg ik onlangs in een webform deze melding:

Is dit geweigerde webform veroorzaakt door het SPF-record op -all ?

Voor de zekerheid heb ik het spf-record maar weer op ~all gezet. To Be Continued.

Bronnen en verdieping

Dit is echt een inleidende pagina. Lees verder over SPF op de volgende sites: