无法判断我的 Postfix Mail Daemon 电子邮件报告是否被欺骗

Unable to tell if my Postfix Mail Daemon email report is spoofed

我 运行 在 DigitalOcean 上的 Ubuntu 16.04 Droplet 上关闭了 Postfix 的邮件服务器。邮件服务器是一个(封闭的)SMTP 中继,它使用 Gmail 和 Hotmail 等邮件客户端接口从我的域(我们称之为 example.com)发送电子邮件。它设置了 SPF、DKIM 和 DMARC,因此来自我域的电子邮件不会被 Hotmail 和 Gmail 标记为垃圾邮件。

我最近收到来自我的 Postfix 邮件守护程序的邮件,其中有 smtp.mailfrom=double-bounce@mail.example.com header 个。这些电子邮件未通过 SPF 和 DMARC 测试。

这些电子邮件未通过测试的一个可能原因可能是因为我的 SPF 记录只列出了 example.com 的 SPF 记录。但为什么 Postfix Mailer Daemon 以 @mail.example.com 而不是 @example.com 发送电子邮件?在 Postfix 中,我的 myorigin 属性设置为 example.com,文档说 double-bounce 地址设置为 double-bounce@$myorigin.

我收到的这些来自 Mailer Daemon 的电子邮件是否可能是假冒的?我想了解为什么我的 SPF 和 DMARC headers 失败了。以下是我邮件 header 的重要部分。

P.S。 1.2.3.4 是我的邮件服务器 IP 和已在我的域 SPF 记录中列入白名单的 IP。

Received: from mail.example.com ([1.2.3.4])
    by mx.google.com with ESMTPS id r25-v6si17553370pfk.83.2018.10.27.22.06.59
    for <example@gmail.com>
    (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
    Sat, 27 Oct 2018 22:06:59 -0700 (PDT)
Received-SPF: neutral (google.com: 1.2.3.4 is neither permitted nor denied by best guess record for domain of double-bounce@mail.example.com) client-ip=1.2.3.4;
Authentication-Results: mx.google.com;
   spf=neutral (google.com: 1.2.3.4 is neither permitted nor denied by best guess record for domain of double-bounce@mail.example.com) smtp.mailfrom=double-bounce@mail.example.com;
   dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=example.com
Received: by mail.example.com (Postfix) id 7CDB5120787; Sun, 28 Oct 2018 13:06:58 +0800 (+08)
Date: Sun, 28 Oct 2018 13:06:58 +0800 (+08)
From: Mail Delivery System <MAILER-DAEMON@example.com>

它不是作为 mail.example.com 发送的,它只是发送邮件的主机的名称。正如 header 所说,它将其用作 "best guess"。主机名看起来像是从您的 IP 上的反向查找中获取的,它应该与您的 SMTP EHLO 主机名匹配 - 所以请确保它匹配。还要检查 return 路径 header 在接收器上的最终结果 - 如果您在那里看到 <>,您就知道这些是真正的反弹。我建议检查邮件服务器的出站流量,这样您就可以确定 SMTP 中发生了什么。

反弹通常有一个空的 return-路径 (<>),因此 SPF 结果回退到检查 HELO 名称,如 sections 2.3 and 2.4 of RFC 7208 中所述。为您的主机添加 SPF 记录,用于 HELO 身份应该将结果从“最佳猜测”(通常在没有记录的情况下)更改为实际结果。

第 2.3 节:

It is RECOMMENDED that SPF verifiers not only check the "MAIL FROM"
identity but also separately check the "HELO" identity[...]

和第 2.4 节:

SPF verifiers MUST check the "MAIL FROM" identity if a "HELO" check
either has not been performed or has not reached a definitive policy
result by applying the check_host() function to the "MAIL FROM"
identity as the .

[RFC5321] allows the reverse-path to be null (see Section 4.5.5 in [RFC5321]). In this case, there is no explicit sender mailbox, and
such a message can be assumed to be a notification message from the
mail system itself. When the reverse-path is null, this document
defines the "MAIL FROM" identity to be the mailbox composed of the
local-part "postmaster" and the "HELO" identity (which might or might not have been checked separately before).