SPF 失败,但我自己的域名的 DKIM 通过

SPF 失败,但我自己的域名的 DKIM 通过

我不明白以下 Google DMARC 报告向我们的域名发送的失败结果。

我知道 SPF 失败是因为 IP 地址不是我们的,但是如果是这样,DKIM 怎么会通过呢?

    <org_name>google.com</org_name>
        <email>[email protected]</email>
        <extra_contact_info>https://support.google.com/a/answer/2466580</extra_contact_info>
        <report_id>8147166519871402641</report_id>
        <date_range>
            <begin>1661040000</begin>
            <end>1661126399</end>
        </date_range>
    </report_metadata>
    <policy_published>
        <domain>mydomain.com</domain>
        <adkim>r</adkim>
        <aspf>r</aspf>
        <p>reject</p>
        <sp>reject</sp>
        <pct>100</pct>
    </policy_published>
    <record>
        <row>
            <source_ip>ip.address.that.is.not.ours</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>
                <selector>default</selector>
            </dkim>
            <spf>
                <domain>mydomain.com</domain>
                <result>fail</result>
            </spf>
        </auth_results>
    </record>

答案1

一种可能性是,您最初发送的有效邮件被重新发送。垃圾邮件发送者这样做的可能性确实不大,而且毫无意义,但如果没有更多信息,这是值得考虑的可能性之一。

这被称为重放攻击。你可以在网上找到更多关于这个术语的信息。

RFC 6376 有一节专门讨论这个问题(https://www.rfc-editor.org/rfc/rfc6376#section-8.6) 以及可能相关的进一步安全考虑。

答案2

如果有人设置了您发送邮件的邮箱,以便将其转发给 Google,Google 会将您仍然有效的签名报告给您,报告中的 IP 会指定转发链上的最后一个非 Google 跳转。

如果您想将其限制在合理的使用情况下,请确保您已对Date标头进行签名。如果您这样做,Google 可以对稍后重新发送的邮件应用其通常的垃圾邮件缓解措施。

答案3

谷歌告诉你,他们使用 DKIM 选择器default来验证电子邮件上的数字签名,确实如此它确实验证了。这只有在服务器不是我们的 IP 地址具有与您在 DNS 上发布的 DKIM 记录上的公钥相对应的私钥。

请注意,该记录表明 DMARC经过也(即邮件已送达)。这是因为 DKIM 已通过,并且域已对齐。换句话说,电子邮件已送达。在这方面没有任何失败。

现在如果担心为什么DKIM 通过,那么您可能需要开始调查服务器不是我们的 IP 地址。正如我所说,理论上服务器只有能够访问 DKIM 选择器私钥才能生成有效签名。

相关内容