(由于SO垃圾邮件过滤器的问题,一些名称被替换)
背景: 我们有一个小型服务器(大约50个用户,在下面的日志中引用为metalab.ifmoru),我们允许重定向到外部服务,例如gmailcom。尽管如此,我们还是使用了两台服务器的设置:Edge(直接连接到Internet)和邮箱(防火墙后面)使用Microsoft Exchange 2013.我们有正确的SPF和DKIM记录,邮件测试员得分为10分10。对于现实生活中的情况,外向交货很好,没有报告,除了......
问题: 一些外部发件人(下面的日志中的mailru,此列表中的Yahoo也使用严格的DMARC策略)通过我们的服务器重定向被拒绝,并出现如下典型错误消息:
mx.google.com会返回错误消息:
由于域名的DMARC政策,不接受来自mailru的未经身份验证的电子邮件。如果这是合法邮件,请联系mailru域管理员。请拜访 切断谷歌的一些链接 了解DMARC倡议。 62si7948506lfu.198 - gsmtp
调查: 根据dmarc.org的定义
DMARC策略允许发送方指示其消息受SPF和/或DKIM保护,并告知接收方如果这些认证方法都没有通过该做什么 - 例如垃圾或拒绝该消息。
要再次检查SPF和DKIM,我会向我的Google收件箱发送邮件。看起来很好,他们都有:
Authentication-Results: mx.google.com;
dkim=pass header.i=@metalab.ifmoru;
spf=pass (google.com: domain of XXXXXXX@metalab.ifmoru designates 77.234.203.179 as permitted sender) smtp.mailfrom=XXXXXXXX@metalab.ifmoru;
dmarc=pass (p=NONE dis=NONE) header.from=metalab.ifmoru
好的,我们检查一下 重定向消息的标题 来自其他服务器,没有严格的DMARC政策。有时如果看起来也很好:
Received-SPF: pass (google.com: domain of noreply@github.com designates 192.30.252.199 as permitted sender) client-ip=192.30.252.199;
Authentication-Results: mx.google.com;
dkim=pass (test mode) header.i=@github.com;
spf=pass (google.com: domain of noreply@github.com designates 192.30.252.199 as permitted sender) smtp.mailfrom=noreply@github.com;
dmarc=pass (p=NONE dis=NONE) header.from=github.com
但是,有时它 失败 由于DKIM部分:
Authentication-Results: mx.google.com;
dkim=pass header.i=@metalab.ifmoru;
dkim=neutral (body hash did not verify) header.i=@gmailcom;
spf=pass (google.com: domain of XXXXXXXXXX@metalab.ifmoru designates 77.234.203.179 as permitted sender) smtp.mailfrom=XXXXXXXXXXXX@metalab.ifmoru;
dmarc=fail (p=NONE dis=NONE) header.from=gmailcom
实验:
1)安装程序从您的服务器(metalab.ifmo ru)重定向到谷歌到gmailcom
2)设置重定向到谷歌从Zimbra服务器(一些其他地址)到gmailcom
3)从mailru发送一封带有上述地址的单一信件 From
领域。
结果: 通过我们的服务器重定向被拒绝,重定向传递Zimbra很好。在检查SMTP标头时,我在Zimbra服务器的收件箱中找到了相同的标题块2)Zimbra服务器上的邮件3)来自Zimbra的重定向邮件。这里是:
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mailru; s=mail2;
h=References:In-Reply-To:Content-Type:Message-ID:Reply-To:Date:MIME-Version:Subject:Cc:To:From; bh=rZNB __cut__ znAs=;
b=pIZR __cut__ A8aE=;
Received: from [84.204.20.115] (ident=mail)
by f96.i.mailru with local (envelope-from <XXXXXXXXX@mailru>)
id 1byY2P-0005Ep-6D; Mon, 24 Oct 2016 08:43:09 +0300
Received: from [84.204.20.115] by e.mailru with HTTP;
Mon, 24 Oct 2016 08:43:09 +0300
From: =?UTF-8? __cut__ 0=?= <XXXXXXXXXXXXX@mailru>
To: =?UTF-8? __cut__ =?= <XXXXXXXXXXXXX@metalab.ifmoru>
Cc: =?UTF-8? __cut__ =?= <XXXXXXXXXXXXX@corp.ifmoru>
Subject: =?UTF-8 __cut__ =?=
MIME-Version: 1.0
X-Mailer: mailru Mailer 1.0
X-Originating-IP: [84.204.20.115]
Date: Mon, 24 Oct 2016 08:43:09 +0300
Reply-To: =?UTF-8?B?0JDQudGA0Y0=?= <XXXXXXXXXXXXX@mailru>
X-Priority: 3 (Normal)
Message-ID: <147 __cut__ 947@f96.i.mailru>
Content-Type: multipart/alternative;
boundary="--ALT--biYZ __cut__ 7789"
X-95568C8E: 26815A __cut__ 65AEC6
X-E1FCDC63: 1787D815 __cut__ 84B93
X-E1FCDC64: FAAF71 __cut__ 93F4C0D9
X-Mailru-Sender: D211C __cut__ DD1EA8939684724DAF05A372A3159
X-Mras: OK
X-Spam: undefined
In-Reply-To: <CADQB __cut__ u2f3A@mail.gmailcom>
References: <CADQ __cut__ 3A@mail.gmailcom>
至于被拒绝的消息,相同的部分看起来非常不同 - 顺序被改变,一些标题条纹UTF-8,一些转向koi-8编码,x标签拼写从Camel-Case更改为更低等:
From: =?koi8-r? __cut__ =?= <XXXXXXXXXXXXX@mailru>
To: Kon __cut__ nko <XXXXXXXXXXXXX@metalab.ifmoru>
CC: Kon __cut__ nko <XXXXXXXXXXXXX@corp.ifmoru>
Subject: =?koi8-r? __cut__ ?=
Thread-Topic: =?koi8-r?B __cut__ ?=
Thread-Index: AQHSLb __cut__ 65w==
Date: Mon, 24 Oct 2016 05:43:09 +0000
Message-ID: <0c14 __cut__ c21@post.metalab.ifmoru>
References: <CADQB __cut__ 2f3A@mail.gmailcom>
In-Reply-To: <CADQB __cut__ 2f3A@mail.gmailcom>
Reply-To: =?koi8-r? __cut__ ==?= <XXXXXXXXXXXXX@mailru>
X-MS-Has-Attach:
X-MS-Exchange-Inbox-Rules-Loop: XXXXXXXXXXXXX@metalab.ifmoru
X-MS-TNEF-Correlator:
dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mailru;
s=mail2;
h=References:In-Reply-To:Content-Type:Message-ID:Reply-To:Date:MIME-Version:Subject:Cc:To:From;
bh=rZNBy4 __cut__ nAs=;
b=pIZRm8 __cut__ IA8aE=;
x-mailer: mailru Mailer 1.0
x-originating-ip: [84.204.20.115]
authentication-results: f96.i.mailru; auth=pass smtp.auth=XXXXXXXXXXXXX@mailru
smtp.mailfrom=XXXXXXXXXXXXX@mailru
x-95568c8e: 26815 __cut__ 5AEC6
x-e1fcdc63: 1787 __cut__ 4B93
x-e1fcdc64: FAA __cut__ C0D9
x-mailru-sender: D2 __cut__ 3159
x-mras: OK
x-spam: undefined
看起来MS Exchange通过重写标头来破坏DKIM。所以 该 题 是:如何保持标头在通过MS Exchange重定向期间被重写?
初步尝试:
1)发件人的DKIM签名在Exchange Server 2013环境中被破坏,CU6应该解决问题。没有帮助。目前使用CU9。
2)添加 ms-Exch-Send-Headers-Routing
发送连接器。它控制消息中RECEIVED标头的保留。没有帮助。
检查:
PS C:\Windows\system32> Get-SendConnector | Get-ADPermission | where {$_.ExtendedRights -like "*routing*"} | fl user, extendedrights
添加链接 没有足够的声誉发布。搜索关键字
- 头防火墙Exchange 2013
- 如何从Exchange中的标头中删除内部路由信息
- Exchange 2013:应用标头防火墙
- 使用Exchange Server重写头
- 边缘传输服务器上的地址重写