如何防止远程主机使用伪造的 From 标头将邮件发送到 Postfix?

Hon*_*Lai 3 smtp postfix

我有一个主机,我们称之为 foo.com,我在 Debian 上运行 Postfix。Postfix 当前配置为执行以下操作:

  1. 所有以@foo.com 作为收件人的邮件都由这个 Postfix 服务器处理。它将所有此类邮件转发到我的 Gmail 帐户。因此防火墙允许端口 25。
  2. 以另一个域作为收件人的所有邮件都将被拒绝。
  3. 已为 foo.com 域设置了 SPF 记录,表示 foo.com 是来自@foo.com 的所有邮件的唯一来源。
  4. 在 foo.com 上运行的应用程序可以连接到 localhost:25 以发送邮件,以 something@foo.com 作为发件人。

但是我最近注意到一些垃圾邮件发送者能够在通过 SPF 检查的同时向我发送垃圾邮件。经过进一步检查,看起来他们连接到我的 Postfix 服务器然后说

HELO bar.com
MAIL FROM:<info@foo.com>     <---- this!
RCPT TO:<info@foo.com>
DATA
From: "Buy Viagra" <info@foo.com>   <--- and this!
...
Run Code Online (Sandbox Code Playgroud)

我如何防止这种情况?我只希望在本地主机上运行的应用程序能够说MAIL FROM:<something@foo.com>. 这是我当前的配置(main.cf):https : //gist.github.com/1283647

mai*_*ilq 5

您需要 smtpd_sender_restrictions 为:

smtpd_sender_restrictions = permit_mynetworks, check_sender_access hash:/etc/postfix/notfromme
Run Code Online (Sandbox Code Playgroud)

/etc/postfix/notfromme你把

foo.com REJECT
Run Code Online (Sandbox Code Playgroud)

然后postmap /etc/postfix/notfromme重新加载后缀。

完毕。