Difference between revisions of "SPF+DKIM+DMARC"

From The Hive
(conclusion: dnssec)
Line 1: Line 1:
 
Correct mail configuration is especially important if you own a "biz" domain, to avoid having your email misinterpreted or misclassified as spam.
 
Correct mail configuration is especially important if you own a "biz" domain, to avoid having your email misinterpreted or misclassified as spam.
  
== Sender Policy Framework ==
+
== The main technologies ==
  
SPF is described in [https://tools.ietf.org/html/rfc7208 RFC 7208] and implemented as a DNS TXT record.
+
=== Sender Policy Framework ===
 +
 
 +
'''SPF''' is described in [https://tools.ietf.org/html/rfc7208 RFC 7208] and implemented as a DNS TXT record.
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 13: Line 15:
 
The version was never updated from 1, but other tools were developed to be used in conjunction with SPF.
 
The version was never updated from 1, but other tools were developed to be used in conjunction with SPF.
  
== DomainKeys Identified Mail ==
+
=== DomainKeys Identified Mail ===
  
DKIM is described in  [https://tools.ietf.org/html/rfc6376 RFC 6376] and implemented by a public key in another DNS TXT record. Here is the general gist of very simple possible example.
+
'''DKIM''' is described in  [https://tools.ietf.org/html/rfc6376 RFC 6376] and implemented by a public key in another DNS TXT record. Here is the general gist of very simple possible example.
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 21: Line 23:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
See also [http://opendkim.org/ OpenDKIM].
+
If you are going to use DKIM, you also need a "milter" or similar software for your server to sign email headers with a private key corresponding to the public key in the DNS record. See [http://opendkim.org/ OpenDKIM].
  
 
== Domain-based Message Authentication, Reporting, and Conformance ==
 
== Domain-based Message Authentication, Reporting, and Conformance ==
  
DMARC is described in [https://tools.ietf.org/html/rfc7489 RFC 7489]. See also [https://sourceforge.net/projects/opendmarc/ OpenDMARC] at [http://www.trusteddomain.org/ The Trusted Domain Project].
+
'''DMARC''' is described in [https://tools.ietf.org/html/rfc7489 RFC 7489]. See also [https://sourceforge.net/projects/opendmarc/ OpenDMARC] at [http://www.trusteddomain.org/ The Trusted Domain Project].
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
_dmarc.example.biz.    86400  IN      TXT    "v=DMARC1; p=quarantine"
 
_dmarc.example.biz.    86400  IN      TXT    "v=DMARC1; p=quarantine"
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
== Conclusion ==
 +
 +
All of the foregoing technologies are implemented as DNS records. To further secure the authenticity of your email, you might consider using [[X.509+DNSSEC+CAA|DNSSEC]] on your domain.

Revision as of 04:33, 11 February 2020

Correct mail configuration is especially important if you own a "biz" domain, to avoid having your email misinterpreted or misclassified as spam.

The main technologies

Sender Policy Framework

SPF is described in RFC 7208 and implemented as a DNS TXT record.

example.biz.            86400   IN      TXT     "v=spf1 a mx ~all"

Too short a time-to-live (here 86400 seconds) is often taken as an indicator of spammishness. The "biz" tld itself uses 900 seconds, but that can be used to quickly revoke a spammer's domain.

The version was never updated from 1, but other tools were developed to be used in conjunction with SPF.

DomainKeys Identified Mail

DKIM is described in RFC 6376 and implemented by a public key in another DNS TXT record. Here is the general gist of very simple possible example.

default._domainkey.example.biz. 86400 IN TXT    "v=DKIM1; k=rsa; p=base64encodedpublickey"

If you are going to use DKIM, you also need a "milter" or similar software for your server to sign email headers with a private key corresponding to the public key in the DNS record. See OpenDKIM.

Domain-based Message Authentication, Reporting, and Conformance

DMARC is described in RFC 7489. See also OpenDMARC at The Trusted Domain Project.

_dmarc.example.biz.     86400   IN      TXT     "v=DMARC1; p=quarantine"

Conclusion

All of the foregoing technologies are implemented as DNS records. To further secure the authenticity of your email, you might consider using DNSSEC on your domain.