0

How To Use Nslookup To Check DMARC External Domain Validation (EDV) Record

Previously we looked at how to use nslookup to retrieve the main Domain Based Message Reporting And Conformance (DMARC) DNS record. One of the often overlooked and behind the scenes aspect of DMARC is that a 3rd party DMARC provider has to actually grant permission for DMARC reports to be sent to them for a given domain.  Without that permission, email service providers will not be able to send DMARC RUA and RUF reports to the reporting service.

This is a separate DNS record from the main DMARC DNS record that most posts discuss.  An example of that “regular” DMARC record would be something like the below in an organisation’s public DNS zone file:

v=DMARC1; p=reject; pct=100; rua=mailto:oyylfe6e@ag.us.dmarcian.com,mailto:rua@wingtiptoys.ca; ruf=mailto:ruf@wingtiptoys.ca; aspf=s; adkim=s; fo=1

 

Using MXToolbox To View DMARC Record

Basic DMARC Record Check

If you’d like to review the full article, please navigate here. The below is the query used to retrieve a domain's DMARC TXT record using nslookup:

nslookup.exe -q=txt  _DMARC.Wingtiptoys.ca

Using Nslookup To Check DMARC DNS Record

In this example, Dmarcian is where the RUF and RUA reports are being sent.  There are many other services such as Valimail, MXToolbox etc.  You can also send reports to one of your mailboxes and use a reporting solution to parse the contents.  But then you are on the hook for having to manage that.  For extreme volume that may be viable, but for most organisations a regular commercial solution is preferred.

Now that we have looked at the regular DMARC record, what about the EDV?

External Domain Validation DMARC Authorisation Record

The targeted domain is wingtiptoys.ca  and the example scenario would be that a spammer tries to send an email to a valid recipient billg@Yahooo using the spoofed address  user-1@wingtiptoys.ca

Yahoo’s mail servers will peform sender authentication checks on SPF, DKIM and DMARC.  DMARC alignment will fail as neither the SPF or DKIM headers match the sending domain's RFC 5322 header.  Yahoo will want to send the RUA report to the mailbox that is specified in the wingiptoys.ca DMARC record.

Dmarcian needs to publish a DNS record stating that email providers are allowed to send DMARC reports to the specified address of

mailto:oyylfe6e@ag.us.dmarcian.com

We can query the ag.us.dmarcian domain for the presence of the EDV record.

nslookup.exe -q=txt wingtiptoys.ca._report._dmarc.ag.us.dmarcian.com

Using NSLookup to View DMARC EDV Record

 

In this example the reporting entity (Dmarcian) states it is willing to accept the DMARC reports for the given domain - wingtiptoys.ca

As noted above, before email providers send DMARC reports they will verify the presence of this EDV record.  If the record exists and its value is set to "v=DMARC1" the report will be sent.  Otherwise the DMARC report will not be sent.

The EDV must be configured per domain.  It is possible to configure a wildcard, but this is not something you would expect to see from a commercial service as they will want to restrict delivery only for their customers.  An example of this for a hypothetical domain of reportingservice.com where it accepts any domain would be:

<Subscriber-Domain>._report._dmarc.<ReportingServiceName>.com

 

Replace <Subscriber-Domain>  with the customer’s domain.

Replace <ReportingServiceName.com> with the DMARC provider’s domain.

 

Addendum

If you are reading this as there was an issue receiving DMARC reports for one of your domains one common question is that since the issue was identified and resolved, how quickly will I see data?  That's consultant's answer #1 - it depends...

Email service providers typically send reports once a day. Yes, you can define the Reporting Interval  (RI=) in your DMARC record, but that is often ignored to help conserve resources.  While you may expect to obtain RUA reports for all email service providers, not all of them will send RUF.  As an added factor many commercial DMARC services want extra monies to parse and display the RUF responses.  Double check the details if you are using a commercial service.

If you are having problems *, ensure that the actual DMARC record is correct as that is the most common issue.  Also DMARC records for a given domain follow the Highlander principle - There can be only one!

 

Cheers,
Rhoderick

 

* - I feel bad for you son

Rhoderick Milne [MSFT]

Leave a Reply

Your email address will not be published. Required fields are marked *