DMARC
DMARC
- DMARC (Domain-based Message Authentication, Reporting, and Conformance) is a mechanism that aligns tells a receiving email server what to do based on the SPF and DKIM authentication checks
- DMARC checks whether the domain the email's "From" field matches (or is aligned with) the SPF or DKIM authenticated domains.
- If an email's "From" domain is aligned either the SPF or DKIM authenticated domains, then it can be delivered.
- DMARC Alignment can be "Relaxed" or "Strict"
- Relaxed means email from a matching root-level (or organization level) domain will align
- e.g.,
marketing.example.com
will align withexample.com
- e.g.,
- Strict means that the domain in the email must match exactly to the authenticated domain
- e.g.,
marketing.example.com
would fail to align withexample.com
- e.g.,
- Relaxed means email from a matching root-level (or organization level) domain will align
- There should only be one DMARC TXT record on your DNS host.
- DMARC can be configured in purely an audit mode without SPF and DKIM
- No authentication or authorization is performed, and no action is taken, but you get reports on who is sending emails on your domain's behalf.
DMARC Implementation
Configuring DMARC is easy, but can cause you the most headaches because it's what authorizes email to be delivered, and a misconfiguration can stop your email in its tracks. Therefore, it's highly recommended that you first configure your DMARC policy to take no action on emails for the first couple of weeks, using the reports generated to make sure everything is getting delivered as expected, and then to ramp up implementation through the pct
tag or take the gamble and go all in.
Below is an example of a DMARC TXT record:
- Name:
_dmarc.example.com
_dmarc
- Signifies this a DMARC TXT entry
- Value:
v=DMARC1; p=reject; sp=none; pct=100; aspf=r; adkim=r; rua=mailto:[email protected]; ruf=mailto:[email protected];
v=DMARC1
- DMARC version 1; at present, there is only one version.
;
- Separator between tags
p=reject
- The Policy applied to emails which fail their SPF and DKIM authentication checks
- There are three options:
none
: No action is taken, typically used while configuring email security and collecting reports.quarantine
: Emails which fail authentication should be treated with suspicion and sent to the spam/junk folder- This allows the recipient server to still receive and process unauthenticated mail, just treats them with suspicion
reject
: Instructs the receiving server to outright reject any mail that fails authentication.- This is the most secure, but can also be the most problematic if a configuration changes.
sp=quarantine
- The policy for subdomains.
- If it's not identified in the record, then the policy described by
p
applies to subdomains.
pct=100
- The percent of unauthenticated emails to apply the policy to
- e.g.,
pct=20
would only apply thep=reject
policy to 20% of emails which fail authentication
- e.g.,
- This is helpful during a slow rollout to make sure not all email flow stops
- The percent of unauthenticated emails to apply the policy to
aspf=r
- SPF alignment requirements
s
is strict, and domains must match exactlyr
is relaxed, and only the root/organizational domain must match
- SPF alignment requirements
adkim=r
- DKIM alignment requirements
rua=mailto:[email protected]
- Identifies the email address to which recipient servers should send delivery aggregate reports
- Aggregate reports contain basic information and include successful and failed delivery information
ruf=mailto:[email protected]
- Identifies the email address to which recipient servers should send individual delivery forensic failure reports
- Forensic failure reports contain detailed information about failed deliveries to assist with triage and troubleshooting.
Metadata
Sources
dmarc.org – Domain Message Authentication Reporting & Conformance
DMARC - Wikipedia
Learn and Test DMARC