DMARC / SPF / DKIM未通过第三方邮件进行身份验证

时间:2015-10-22 18:48:44

标签: email authentication spf dkim dmarc

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

" V = DMARC1; P =检疫; PCT = 100;鲁阿=的mailto:me@mydomain.com"

(隔离100%未经过身份验证的电子邮件并将汇总报告发送给"我和#34;)

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

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

" v = spf1 ... [其他邮件服务器的SNIP参考SNIP] ... ip4:[邮件中继的IP地址]〜所有"

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

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

  • 被识别为来自SPF授权服务器
  • 为发件人的域传递原始SPF身份验证(invites@invites.vendordomain.com")
  • 为邮件中继域传递原始DKIM身份验证(smtp3.mailrelaydomain.it)
  • 对mydomain的DKIM和SPF进行DMARC身份验证

以下是来自邀请的示例标题。

BEGIN SAMPLE EMAIL 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授权服务器,我是否可以添加任何其他设置或记录以确保来自供应商的邀请的DMARC身份验证?

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

由于

1 个答案:

答案 0 :(得分:8)

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

有三种选择:

  • 停止在供应商处使用您的域的From:标头发送;您仍然可以使用自己的地址使用回复:标题。

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

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

回到2012年和2013年,许多供应商都反对这两种选择,但老实说,我很久没有见过供应商了(我将100%的日常工作花在DMARC上)至少支持对齐的DKIM。