DMARC电子邮件SPF policy_evaluated和auth_result状态不一致


5

我们服务中的一些(但不是全部)电子邮件被gmail标记为网络钓鱼,而hotmail则标记为垃圾邮件。

被标记为网络钓鱼的电子邮件是从部署在EC2 VM上的应用程序发送的,该应用程序使用amazon SES进行实际发送。该应用程序发送其他未标记的电子邮件(我们目前有4种电子邮件发送给应用程序)。

我们还有一个用户使用OVH上托管的MS交换帐户发送来自该域的电子邮件,这就是spf记录包含ovh条目的原因。

我们在域上配置了以下记录:

_amazonses.mydomain.com.    1799    IN  TXT "JiAZ9E5gIc7VbPfMI4rYSBGZJeTe3lTF+eigtVUF1fg="
_amazonses.mydomain.com.    1799    IN  TXT "vkSOtQqrtz2frIPg+6SeU7CmCenkTPjjvZdCQe/u0Qk="
_dmarc.mydomain.com.    299 IN  TXT "v=DMARC1\;p=none\;rua=mailto:postmaster@mydomain.com"
2anucjune6cx5dfjwtpg5w7xi5bivkdi._domainkey.mydomain.com. 1799 IN CNAME 2anucjune6cx5dfjwtpg5w7xi5bivkdi.dkim.amazonses.com.
5m7pppm63mxlxz3w3al3juxlgwb4j67m._domainkey.mydomain.com. 1799 IN CNAME 5m7pppm63mxlxz3w3al3juxlgwb4j67m.dkim.amazonses.com.
7tpgaubzvve5ekkq3pyu7rhmrxhgif5f._domainkey.mydomain.com. 1799 IN CNAME 7tpgaubzvve5ekkq3pyu7rhmrxhgif5f.dkim.amazonses.com.
mydomain.com.       299 IN  TXT "v=spf1 a mx include:amazonses.com include:mx.ovh.com ~all"
mydomain.com.       299 IN  SPF "v=spf1 a mx include:amazonses.com include:mx.ovh.com ~all"

以下是我们从谷歌获得的DMARC报告:

  <record>
    <row>
      <source_ip>54.240.6.219</source_ip>
      <count>1</count>
      <policy_evaluated>
        <disposition>none</disposition>
        <dkim>pass</dkim>
        <spf>fail</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>mydomain.com</header_from>
    </identifiers>
    <auth_results>
      <dkim>
        <domain>mydomain.com</domain>
        <result>pass</result>
      </dkim>
      <spf>
        <domain>eu-west-1.amazonses.com</domain>
        <result>pass</result>
      </spf>
    </auth_results>
  </record>

这是来自hotmail.com的一个

<record>
  <row>
    <source_ip>54.240.6.212</source_ip>
    <count>1</count>
    <policy_evaluated>
      <disposition>none</disposition>
      <dkim>pass</dkim>
      <spf>fail</spf>
    </policy_evaluated>
  </row>
  <identifiers>
    <header_from>mydomain.com</header_from>
  </identifiers>
  <auth_results>
    <spf>
      <domain>eu-west-1.amazonses.com</domain>
      <result>pass</result>
    </spf>
    <dkim>
      <domain>mydomain.com</domain>
      <result>pass</result>
    </dkim>
  </auth_results>

正如您所看到的,policy_evaluated的SPF条目有一个 fail 状态,但auth_results列表spf为 pass。 什么可以解释不连贯的状态? 这种不连贯性是否会被我们的邮件标记为网络钓鱼/垃圾邮件?

Answers:


4

这似乎是由于DMARC域对齐问题。如报告所示,SPF身份验证结果的域名是“eu-west-1.amazonses.com”,它与“mydomain.com”的header_from不对齐。为什么DMARC是使用amazonses.com域进行SPF评估的,我不知道。我有同样的问题,并没有弄清楚如何解决它。来自 DMARC草案

   Example 3.  This record indicates a single message matching this set
   of data points.  The DMARC disposition for this message was "reject"
   based on DMARC aligned results for SPF and DKIM of "fail" and the
   domain's reject policy.  There was no DKIM signature on this message,
   as in Example 1.  The SPF authentication result was "pass" with a
   MAILFROM domain of "classifiedads.com".  The SPF domain is not
   aligned with the header From domain, causing the DMARC aligned SPF
   result to be "fail".

   <record>
      <row>
         <source_ip>65.61.105.5</source_ip>
         <count>1</count>
         <policy_evaluated>
            <disposition>reject</disposition>
            <dkim>fail</dkim>
            <spf>fail</spf>
            </policy_evaluated>
         </row>
      <identifiers>
         <header_from>facebook.com</header_from>
         </identifiers>
      <auth_results>
         <dkim>
            <domain></domain>
            <result>none</result>
            </dkim>
         <spf>
            <domain>classifiedads.com</domain>
            <result>pass</result>
            </spf>
         </auth_results>
      </record>

如果我理解正确的话,在委派给第三方提供商时,不可能为SPF提供DMARC对齐的传递结果,除非提供商有办法对IP实际执行向您的域发送解析的反向查找...我不认为使用amazon ses时这是可能的,因为它使用IP地址池并在各个域之间快速旋转它们
Jean

这也是我推断的,但我原本预计这将是DMARC应该考虑的一个相当常见的用例。但是,我也希望auth_results的SPF域在你的情况下是openoox.com,因为SPF记录实际上来自openoox.com,而不是amazonses。
lid

为什么DMARC是使用amazonses.com域进行SPF评估的,我不知道。 ---这不是DMARC,而是使用SMTP MAIL FROM命令中的域的SPF。该电子邮件是从amazonses.com MTA发送的,该域名将其域名放入SMTP MAIL FROM命令。 SPF传递此域和发送MTA IP地址。在此测试之后,DMARC会检查域amazonses.com与邮件From:header(mydomain.com)中的域的对齐情况。域名不同,因此此测试失败。
pabouk

3

这可能不会导致您的邮件被标记为网上诱骗/垃圾邮件。您的&lt; policy_evaluated&gt;元素显示您正在传递DKIM,因此您将通过DMARC作为一个整体。

policy_evaluated的SPF条目具有失败状态,但auth_results列表spf为pass。什么可以解释不连贯的状态?

在整体DMARC评估时,auth_results不会考虑标识符对齐,这就是为什么SPF的auth_results可以通过并且整个SPF结果可能失败的原因。

为什么SPF会针对amazonses.com域而不是你的域进行评估?与DKIM不同,SPF不会在From标头(这将是您的域)中验证域名。它验证SMTP发件人的IP地址。在这种情况下,这是一个正确通过SPF的亚马逊IP地址。

参考文献:

https://tools.ietf.org/html/rfc7489

http://sesblog.amazon.com/post/Tx3IREZBQXXL8O8/SPF-and-Amazon-SES

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.