DMARC/SPF/DKIM 未使用 third-party 邮件进行身份验证

DMARC/SPF/DKIM not authenticating with third-party mail

我们最近为我们的域实施了 DMARC 记录:

"v=DMARC1; p=quarantine; pct=100; rua=mailto:me@mydomain.com"

(隔离 100% 的 non-authenticated 电子邮件并将汇总报告发送至 "me")

我们使用 third-party 供应商发出邀请。供应商从 invites@invites.vendordomain.com 发送电子邮件,然后通过邮件中继 "smtp3.mailrelaydomain.it" 发送。我也知道邮件中继使用单个IP地址。

该地址包含在我们的 SPF 记录中:

"v=spf1 ...[SNIP reference for other mail servers SNIP]... ip4:[ip address for the mail relay] ~all"

当我使用供应商的服务发送邀请时,邮件被隔离。

当我查看 DMARC 汇总报告时,我看到邀请:

这是来自邀请的示例headers。

开始示例电子邮件 HEADER

Delivered-To: someone@mydomain.com
Received: by 10.64.252.9 with SMTP id zo9csp100581iec;
        Wed, 21 Oct 2015 11:40:13 -0700 (PDT)
X-Received: by 10.55.195.147 with SMTP id r19mr12995508qkl.12.1445452813709;
        Wed, 21 Oct 2015 11:40:13 -0700 (PDT)
Return-Path: <invites@invites.vendordomain.com>
Received: from smtp3.mailrelaydomain.it (smtp3.mailrelaydomain.it. [ip for mail relay])
        by mx.google.com with ESMTP id w15si9297939qha.131.2015.10.21.11.40.13
        for <someone@mydomain.com>;
        Wed, 21 Oct 2015 11:40:13 -0700 (PDT)
Received-SPF: pass (google.com: domain of invites@invites.vendordomain.com designates [mail relay ip] as permitted sender) client-ip=[mail relay ip];
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of invites@invites.vendordomain.com designates [mail relay ip] as permitted sender) smtp.mailfrom=invites@invites.vendordomain.com;
       dkim=pass header.i=@mailrelaydomain.it;
       dmarc=fail (p=QUARANTINE dis=QUARANTINE) header.from=mydomain.com
Received: from FS-S05.vendorparentdomain.com (unknown [vendor parent ip])
    (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
    (No client certificate requested)
    by smtp3.mailrelaydomain.it (Postfix) with ESMTPSA id 23387A0CBC
    for <someone@mydomain.com>; Wed, 21 Oct 2015 15:07:35 -0400 (EDT)
DKIM-Signature: [DKIM Content]
Content-Type: multipart/alternative;
 boundary="===============2166944298367943586=="
MIME-Version: 1.0
Subject: Please take our survey
From: Me <me@mydomain.com>
To: Someone Else <someone@mydomain.com>
Cc: 
Date: Wed, 21 Oct 2015 18:39:48 -0000
Message-ID: <20151021183948.27448.90706@FS-S05.vendorparentdomain.com>
List-Unsubscribe: [unsubscribe link],
 <mailto:invites@invites.vendordomain.com>
Reply-To: Me <me@mydomain.com>
X-Sender: invites@invites.vendordomain.com

我认为问题与邮件中的发件人域与邮件信封的域不匹配有关;然而,供应商无法更改他们的设置(即,信封将始终来自供应商域)因此任何与 DMARC 一起工作的机会都必须来自我。

知道 SPF 记录可以(并且确实)将邀请识别为来自 SPF-Authorized 服务器,我是否可以添加任何其他设置或记录以确保对来自供应商的邀请进行 DMARC 身份验证?

阅读了几篇在线文章和 "DMARC -spf and DKIM record queries" 我怀疑我运气不好,但需要问 plainly/specific 我的情况才能确定。

谢谢

你是对的,除非供应商可以改变一些东西,否则你运气不好。失败的是标识符对齐 - https://www.rfc-editor.org/rfc/rfc7489#section-3.1 - 因为正在验证的内容(invites.vendordomain.com 通过 SPF)与用户看到的域(me@mydomain.com)不对齐,然后消息,正确,DMARC 失败。

共有三个选项:

  • 停止发送发件人:header 您在供应商处的域;您仍然可以使用 Reply-To: header 和您自己的地址。

  • 让供应商将来自您域的邮件对齐。如果他们不这样做,他们就无法通过 DMARC,并且在某些时候他们会想要通过 DMARC,或者人们会找到其他解决方案。您可以让他们使用 vendorname.mydomain.com 的信封发送,您可以为指向他们的子域设置 MX 以支持退回处理。这已经有一段时间了。

  • 让供应商使用 DKIM 签名,并让我们使用对齐的 DKIM 签名。这也是最常见的做法。您只需要通过 SPF 或 DKIM 即可通过,并且 DKIM 通行证比 SPF 更有价值(因为它们在许多情况下可以在转发中存活),所以如果我是您,这是我个人会优先考虑的选项。

早在 2012 年和 2013 年,许多供应商都反对这两种选择,但老实说,我已经很长时间没有看到供应商(我将 100% 的日常工作都花在 DMARC 上)赢得了' 至少支持对齐的 DKIM。