SPF en DKIM controleren of een verzendende server of digitale handtekening geldig is, terwijl DMARC controleert of die authenticatie ook bij het domein in het zichtbare afzenderadres hoort.
Dat laatste heet alignment (overeenstemming).
1. Wat controleren SPF en DKIM afzonderlijk?
Stel dat je een e-mail ontvangt met:
From: administratie@eigenbank.nl
Dit is het adres dat de ontvanger in zijn mailprogramma ziet.
SPF
SPF controleert of het IP-adres van de verzendende mailserver bevoegd is om e-mail te versturen namens het domein in de SMTP-envelope-afzender (MAIL FROM).
Bijvoorbeeld:
MAIL FROM: bounce@mailbedrijf.nl
IP: 192.0.2.10
SPF: PASS
Dat betekent dat 192.0.2.10 volgens het SPF-record van mailbedrijf.nl mag mailen.
Maar let op: het zichtbare From-adres is eigenbank.nl, terwijl SPF alleen mailbedrijf.nl heeft gecontroleerd.
SPF zegt dus niets over de vraag of de afzender werkelijk bij eigenbank.nl hoort.
DKIM
DKIM controleert de digitale handtekening van het bericht. De handtekening bevat onder andere een domein:
DKIM-Signature: ... d=mailbedrijf.nl; ...
DKIM: PASS
Dat betekent dat de handtekening geldig is en dat de inhoud sinds het ondertekenen niet op een relevante manier is gewijzigd.
Maar ook hier geldt: het ondertekenende domein is mailbedrijf.nl, terwijl het zichtbare From-adres eigenbank.nl is.
Een geldig DKIM-bericht hoeft dus niet afkomstig te zijn van het domein dat de ontvanger ziet.
2. Wat voegt DMARC toe?
DMARC kijkt naar het zichtbare From:-adres en vergelijkt het domein daarvan met de domeinen die SPF en DKIM hebben geauthenticeerd.
In dit voorbeeld:
| Controle | Domein | Resultaat |
|---|---|---|
| Zichtbaar From-adres | eigenbank.nl | — |
| SPF | mailbedrijf.nl | PASS |
| DKIM | mailbedrijf.nl | PASS |
| DMARC | eigenbank.nl versus mailbedrijf.nl | FAIL |
Waarom FAIL?
Omdat geen van beide geauthenticeerde domeinen overeenkomt met eigenbank.nl.
De verzender kan dus niet aantonen dat hij bevoegd is om namens eigenbank.nl te mailen.
Dat is de toegevoegde waarde van DMARC: het voorkomt dat een aanvaller een geldig SPF- of DKIM-resultaat van een eigen domein gebruikt om zich voor te doen als een ander domein.
3. Wanneer slaagt DMARC wel?
Stel dat een bank haar mail via een externe maildienst verstuurt:
From: administratie@eigenbank.nl
MAIL FROM: bounce@eigenbank.nl
DKIM: d=eigenbank.nl
Dan kan de uitkomst zijn:
| Controle | Domein | Resultaat |
|---|---|---|
| SPF | eigenbank.nl | PASS |
| DKIM | eigenbank.nl | PASS |
| DMARC | eigenbank.nl | PASS |
DMARC slaagt overigens al als óf SPF met alignment slaagt, óf DKIM met alignment slaagt. Beide hoeven dus niet tegelijkertijd te slagen.
Een belangrijk verschil: DMARC kijkt niet alleen naar de uitslag van SPF en DKIM, maar ook naar de domeinen waarop die uitslagen betrekking hebben. Daardoor is het een aanvullende controle, geen vervanging van SPF of DKIM.