technisch · antwoord met bronnen
DMARC-record: definitie en implementatie
Een DMARC-record is een DNS TXT-record dat ontvangende mailservers vertelt wat ze moeten doen met e-mails die niet door SPF- of DKIM-authenticatie komen. Domeineigenaren kunnen er een beleid mee instellen van none, quarantine of reject voor niet-geauthenticeerde mail, zodat alleen geautoriseerde afzenders het domein kunnen gebruiken.
Hoe het technisch werkt
DMARC controleert de alignment tussen het domein in de From-header en de domeinen die door SPF en DKIM zijn gevalideerd. Als de SPF-controle slaagt en het domein overeenkomt, of als de DKIM-handtekening geldig is en het domein overeenkomt, voldoet de e-mail aan DMARC. Als beide falen of niet aligned zijn, past de ontvanger het beleid uit het DMARC-record toe om te bepalen of het bericht wordt afgeleverd, gemarkeerd of geblokkeerd.
Waarom het belangrijk is voor afzenders
DMARC voorkomt domeinspoofing en phishing doordat de afzender bepaalt hoe ontvangers met ongeautoriseerde mail omgaan. Zonder DMARC-record hebben ontvangers geen expliciete instructie voor mislukte authenticatie, wat tot inconsistente bezorging kan leiden. Een strikt beleid verkleint het risico dat aanvallers frauduleuze e-mails versturen die van je officiële bedrijfsdomein lijken te komen.
Praktische aandachtspunten en fouten
Een veelgemaakte fout is overstappen op een reject-beleid voordat je de rapportagegegevens hebt geanalyseerd. Begin met p=none om het verkeer te monitoren zonder de bezorging te beïnvloeden. Een andere veelvoorkomende fout is een onjuiste syntaxis in het TXT-record, zoals ontbrekende puntkomma's of ongeldige tags. Met SendHQ of de gratis tools (https://sendhq.cc/tools) kun je controleren of het record correct is opgemaakt voordat je het publiceert.
Concreet voorbeeld
Een typisch DMARC-record ziet eruit als v=DMARC1; p=quarantine; rua=mailto:reports@example.com. In dit voorbeeld geeft v=DMARC1 de versie van het record aan, instrueert p=quarantine de ontvanger om mislukte e-mails naar de spammap te sturen, en geeft rua het e-mailadres op waar geaggregeerde XML-rapporten voor analyse naartoe moeten.
Beleidsniveaus
Er zijn drie hoofdniveaus voor het beleid. p=none is de monitoringmodus: er wordt geen actie ondernomen tegen mislukte mail. p=quarantine stuurt mislukte mail naar de map met ongewenste e-mail van de ontvanger. p=reject is het strengste niveau en instrueert de ontvangende server om de e-mail volledig te weigeren (bounce), zodat die nooit in de mailbox van de ontvanger terechtkomt.
Vragen die teams stellen
Vervangt DMARC SPF of DKIM?
Nee, DMARC bouwt voort op SPF en DKIM. Minstens één van beide moet aanwezig en geldig zijn om de identiteit van de afzender te verifiëren, en DMARC levert het beleid voor wanneer ze falen.
Wat is het verschil tussen rua en ruf?
rua wordt gebruikt voor geaggregeerde rapporten met statistieken op hoofdlijnen over mailvolume en authenticatie. ruf wordt gebruikt voor forensische rapporten met gedetailleerde informatie over afzonderlijke mislukte berichten.
Kan ik meerdere DMARC-records hebben?
Nee, een domein mag maar één DMARC-record hebben. Als er meerdere records in DNS staan, negeren ontvangende servers ze doorgaans allemaal, waardoor het domein onbeschermd blijft.
Primaire bronnen
- RFC 7489: Domain-based Message Authentication, Reporting and Conformance — RFC Editor
- RFC 7208: Sender Policy Framework — RFC Editor
- RFC 6376: DomainKeys Identified Mail — RFC Editor