SPF, DKIM en DMARC instellen

Drie DNS-records bepalen samen of ontvangers uw e-mail vertrouwen. Hier leest u wat elk record doet, hoe zo'n record eruitziet, in welke volgorde u ze aanzet en welke fouten het vaakst voorkomen. De uitleg geldt bij elke provider, niet alleen bij ons.

Hostage beeldmerk

Wat elk record doet

E-mail is ooit ontworpen zonder afzendercontrole: elke server op internet kan een bericht versturen met uw domein in de afzender. SPF, DKIM en DMARC zijn de drie lagen die daar achteraf overheen zijn gelegd. Ze staan alle drie in de DNS van uw domein, niet in uw mailprogramma.

SPF: welke servers mogen namens u mailen

SPF is een lijst van servers die post mogen versturen met uw domein als afzender. Een ontvangende mailserver kijkt van welk IP-adres het bericht komt en vergelijkt dat met uw lijst. Staat de verzender er niet in, dan weet de ontvanger dat er iets niet klopt.

DKIM: een ondertekening op het bericht zelf

Bij DKIM zet uw mailserver een cryptografische ondertekening in de kop van elk uitgaand bericht. De bijbehorende publieke sleutel publiceert u in DNS. De ontvanger kan daarmee controleren dat het bericht onderweg niet is aangepast en dat het echt door een server met uw sleutel is verstuurd. Anders dan SPF blijft DKIM geldig als een bericht wordt doorgestuurd.

DMARC: wat er moet gebeuren als het niet klopt

DMARC koppelt de twee vorige aan elkaar en vertelt de ontvanger wat hij moet doen met post die de controle niet haalt: niets, in de spambox, of weigeren. Daarnaast vraagt u met DMARC om rapporten, zodat u ziet wie er namens uw domein mailt. Zonder SPF en DKIM heeft DMARC geen betekenis.

Hoe zo'n record eruitziet

Alle drie zijn TXT-records. De waarden hieronder zijn voorbeelden: de precieze inhoud krijgt u van de partij die uw mail verstuurt.

SPF

Op de naam van uw domein zelf, dus zonder subdomein:
v=spf1 include:_spf.voorbeeld.nl -all

Elke include: voegt de servers van één partij toe. Mailt u ook via een nieuwsbriefdienst of een boekhoudpakket, dan komt die erbij in hetzelfde record. -all betekent: al het overige is niet van mij. Begint u voorzichtig, gebruik dan ~all en scherp later aan.

DKIM

Op een selector die uw mailprovider bepaalt, bijvoorbeeld standaard._domainkey.uwdomein.nl:
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQ…

DMARC

Altijd op _dmarc.uwdomein.nl:
v=DMARC1; p=none; rua=mailto:dmarc@uwdomein.nl

De volgorde

De volgorde is niet vrijblijvend. DMARC streng zetten voordat SPF en DKIM kloppen, is de snelste manier om uw eigen post te laten weigeren.

  1. Inventariseer eerst wat er allemaal namens uw domein mailt: uw mailserver, de website, de nieuwsbrief, het boekhoudpakket, het kassasysteem.
  2. Zet SPF neer met al die partijen erin, in één record.
  3. Publiceer DKIM en controleer in een verzonden bericht dat de ondertekening geldig is.
  4. Zet DMARC op p=none met een rapportadres.
  5. Lees enkele weken rapporten, vul aan wat u vergeten was, en zet daarna p=quarantine en eventueel p=reject.

Fouten die het vaakst voorkomen

Twee SPF-records

Dit gebeurt bijna altijd als er later een dienst is bijgekomen en er een tweede record naast het bestaande is gezet. Twee SPF-records zijn ongeldig: ontvangers zien dan geen enkel geldig beleid, ook niet het record dat wél klopte. Voeg ze samen tot één regel met meerdere include:-verwijzingen.

Te veel DNS-lookups in SPF

Een SPF-record mag bij het uitzoeken maximaal tien DNS-opvragingen kosten. Elke include:, a, mx en redirect telt mee, en een include: van een grote partij kan er zelf al vijf verbergen. Boven de tien stopt de ontvanger met een fout en is uw SPF in de praktijk waardeloos. Haal daarom diensten die u niet meer gebruikt uit het record; dat is vaker de oorzaak dan u denkt.

DMARC zonder rua

Een DMARC-record zonder rua= werkt technisch, maar u krijgt geen rapporten en dus geen zicht op wie er namens uw domein mailt. Zonder die rapporten kunt u nooit met enige zekerheid naar een strenger beleid: u weet immers niet wat u zou blokkeren.

Waar dit ophoudt

Deze drie records regelen wie namens uw domein mag mailen. Ze zeggen niets over de reputatie van het verzendende IP-adres en niets over de inhoud van uw bericht, en ze voorkomen dus niet in alle gevallen dat post in de spambox belandt. DMARC-rapporten komen bovendien als XML binnen; heeft u tientallen systemen die uit uw naam mailen, dan is een gespecialiseerde DMARC-dienst die dat voor u uitleest een betere keuze dan handwerk.