我需要设置 DKIM 来验证我们正在使用的电子邮件提供商。在提供者的文档中,他们要求我们添加两条记录,一条选择器记录和一条策略记录,如下所示:
selector._domainkey.mydomain.com TXT "k=rsa; p=mykeyhere"
_domainkey.mydomain.com TXT "t=y; o=~"
我担心添加这个新策略,因为我们已经在我们的 DNS 区域中设置了很多 DKIM 选择器,没有现有的策略记录(我们使用多个需要代表我们发送电子邮件的第三方提供商)。我想确保我不会通过创建此记录来破坏现有功能。根据我的阅读,每个区域只能有一个策略,因此可以说它是“共享的”。
我对此进行了一些研究,供应商要求的政策t=y; o=~
应该是无害的。似乎说某些电子邮件可能已签名,并以相同的方式处理已验证/未验证的电子邮件(参考)。
尽管如此,这仍会影响我们的生产应用程序,我希望能够确信添加它是安全的。我的假设是否正确,即我可以添加此记录而不会导致我们的大量出站电子邮件被标记为垃圾邮件?还是我错过了什么?
DKIM 是一个签名工具。它是一种后验证工具,因为您在收到消息之前无法猜测选择器键。有一个约定将您的选择器命名为“selector1”,但这只是一个简单的名称,因为名称没有强制性形式你的选择器。因此,您可以在您的 DNS 记录中发布尽可能多的 DKIM 选择器,一旦收到这些消息,将(最终)检查已发送消息中使用的那些选择器。如果您的 DNS 发布与这些密钥相关联,希望它们能够成功验证。但是发布 DKIM 选择器键并不强制您使用它们本身。
DKIM 会导致传递失败的唯一情况是与 DMARC 结合使用,前提是 DMARC 要求存在与您的域对齐的 DKIM 签名并且您未能在发送的消息中插入一个。或者您在您的消息中插入了一个,但您忘记在您的 DNS 中发布它。
由于您的 DMARC 不需要对齐 (policy=none),DKIM 根本不会影响您的业务交付。
顺便说一句,许多消息中有多个 DKIM 签名,没有传递问题。
BTW(2) 考虑将 DKIM 签名添加到您的旧电子邮件服务器是一个好主意,这样您就可以使用 DMARC 更好地保护您的企业免受网络钓鱼或虚假指控点击可疑链接,但这是另一个话题。
该策略记录是使用在 DNS (DomainKeys) 中公布的公钥的基于域的电子邮件身份验证的一部分,该策略已被提议,但在RFC 4871发布RFC 4870时立即过时,DomainKeys Identified Mail (DKIM) Signatures,两者均已发布2007 年 5 月。
较新的 DKIM 标准不使用作为过时 DomainKeys 标准一部分的策略记录。
创建 DomainKeys 策略记录不会导致发送或接收服务器的任何 DKIM 记录出现任何问题。