E-mailbeveiliging
Zakelijke e-mail beveiligen: SPF, DKIM en DMARC instellen
Kort antwoord
Om DMARC in te stellen heb je drie DNS-records nodig: een SPF-record dat vastlegt welke servers namens jouw domein mogen mailen, een DKIM-sleutel waarmee je mail digitaal wordt ondertekend, en een DMARC-record dat ontvangers vertelt wat ze moeten doen met mail die die controles niet doorstaat. Begin met p=none, lees de rapporten en schakel daarna stap voor stap door naar quarantine en reject.
Iedereen kan een e-mail versturen met jouw domeinnaam als afzender. Zonder de juiste DNS-records kan een ontvangende mailserver niet controleren of een bericht echt van jou komt. Dat maakt je domein aantrekkelijk voor phishing en factuurfraude, en het zorgt ervoor dat je eigen mail vaker in de spam belandt.
Grote mailproviders nemen dit serieus: Gmail en Yahoo eisen sinds februari 2024 dat bulkverzenders SPF, DKIM en DMARC hebben ingericht. In dit artikel lees je hoe je dat stap voor stap doet, met voorbeelden voor Google Workspace en Cloudflare DNS.
Wat doen SPF, DKIM en DMARC?
| Record | Wat het doet | Waar het staat |
|---|---|---|
| SPF | Lijst van servers die namens je domein mogen mailen | TXT-record op het domein zelf |
| DKIM | Digitale handtekening op elk bericht, gecontroleerd met een publieke sleutel | TXT-record op selector._domainkey |
| DMARC | Beleid: wat te doen als SPF of DKIM faalt, plus rapportage | TXT-record op _dmarc |
DMARC werkt alleen als SPF of DKIM slaagt én overeenkomt met het domein in het Van-adres (alignment). Daarom heb je alle drie nodig.
Stap 1: SPF-record instellen
Maak één TXT-record aan op je hoofddomein. Voor Google Workspace ziet dat er zo uit:
Type: TXT Naam: @
v=spf1 include:_spf.google.com ~all
- Eén SPF-record per domein. Twee losse records maken SPF ongeldig. Voeg extra verzenders toe aan hetzelfde record.
- Maximaal 10 DNS-lookups. Elke
include:telt mee. Gebruik je veel tools, controleer dan of je onder die grens blijft. - Denk aan alle verzenders: nieuwsbriefsoftware, je boekhoudpakket, je webshop of CRM.
Stap 2: DKIM activeren
DKIM zet je aan bij je mailprovider. In Google Workspace gaat dat zo:
- Open de Admin-console en ga naar Apps → Google Workspace → Gmail → E-mail verifiëren.
- Kies je domein en genereer een nieuwe sleutel (2048 bits, selector
google). - Zet de getoonde waarde als TXT-record op
google._domainkeyin je DNS. - Wacht tot het record zichtbaar is en klik op Verificatie starten.
Gebruik je Cloudflare als DNS? Zet TXT-records altijd op DNS only; proxying is voor TXT niet van toepassing.
Stap 3: DMARC-record toevoegen
Type: TXT Naam: _dmarc
v=DMARC1; p=none; rua=mailto:dmarc@jouwdomein.nl; adkim=r; aspf=r
| Tag | Betekenis |
|---|---|
p | Beleid: none (alleen rapporteren), quarantine (spam) of reject (weigeren) |
rua | Adres waar je dagelijkse samenvattende rapporten ontvangt |
sp | Beleid voor subdomeinen (standaard gelijk aan p) |
adkim / aspf | Alignment: r (relaxed) of s (strict) |
pct | Percentage van de mail waarop het beleid wordt toegepast |
Stap 4: van p=none naar p=reject
Met p=none verandert er nog niets aan de bezorging; je krijgt alleen inzicht. Een veilige route:
- Eerste weken –
p=none: lees de rapporten en voeg ontbrekende verzenders toe aan SPF of DKIM. - Daarna –
p=quarantine: mail die faalt gaat naar spam. Houd de rapporten in de gaten. - Doel –
p=reject: vervalste mail wordt geweigerd. Dit is het eindpunt.
Hoe snel je dat doet, hangt af van het aantal systemen dat namens je mailt. Een eenmanszaak met alleen Google Workspace kan dit in enkele weken doen.
Vergeet je ongebruikte domeinen niet
Heb je extra domeinen geregistreerd, zoals de .com- of .eu-variant van je naam? Juist die worden misbruikt, omdat niemand ze in de gaten houdt. Zet op elk domein dat nooit mailt:
TXT @ v=spf1 -all
TXT _dmarc v=DMARC1; p=reject
MX @ 0 . (null MX, RFC 7505)
Zo weet elke ontvanger dat mail van dat domein altijd vals is. Wij deden dit zelf voor onze .com- en .eu-domeinen.
Controleren of het werkt
- Internet.nl: de e-mailtest op internet.nl controleert SPF, DKIM, DMARC en meer.
- Gmail: open een bericht dat je zelf hebt verstuurd, kies Origineel weergeven en controleer of SPF, DKIM en DMARC op PASS staan.
- Commandoregel:
dig TXT _dmarc.jouwdomein.nl +short
Veelgestelde vragen
Is DMARC verplicht voor mijn bedrijf?
Voor de meeste MKB-bedrijven is DMARC niet wettelijk verplicht. Gmail en Yahoo eisen sinds februari 2024 wel SPF, DKIM en DMARC van verzenders die meer dan 5.000 berichten per dag naar hun gebruikers sturen, en voor Nederlandse overheidsorganisaties staat DMARC op de 'pas toe of leg uit'-lijst van het Forum Standaardisatie. Ook zonder verplichting is DMARC de belangrijkste maatregel tegen phishing uit naam van jouw domein.
Wat is het verschil tussen ~all en -all in een SPF-record?
Met ~all (softfail) markeren ontvangers mail van niet-genoemde servers als verdacht; met -all (hardfail) mogen ze die mail weigeren. Zodra DMARC actief is, bepaalt vooral je DMARC-beleid wat er gebeurt. Voor domeinen die nooit mailen gebruik je altijd -all.
Hoe lang duurt het voordat een DNS-wijziging werkt?
Meestal binnen enkele minuten tot een paar uur, afhankelijk van de TTL van het record. In uitzonderlijke gevallen kan het tot 48 uur duren voordat alle resolvers de nieuwe waarde zien.
Kan DMARC mijn eigen e-mail blokkeren?
Ja, als je direct p=reject instelt terwijl niet al je verzenders (bijvoorbeeld een nieuwsbrieftool of je boekhoudpakket) in SPF of DKIM zijn opgenomen. Daarom begin je met p=none en lees je eerst de rapporten.
Heb ik DMARC nodig als ik geen nieuwsbrieven verstuur?
Ja. DMARC beschermt niet alleen je eigen verzending, maar voorkomt vooral dat criminelen mail versturen die van jouw domein lijkt te komen.