如何使用 Postfix 跟踪/记录 IP 与之通信的 HELO 名称

Kee*_*son 7 email linux email-server postfix

我使用 Postfix 作为内部邮件中继服务器,我们有几台服务器在内部运行各种自定义代码,有些是包/服务,有些是使用这个/这些系统进行通信的本地 Linux 或 Windows 系统服务邮件中继。

我遇到的问题是我正在清理他们在发送邮件时与服务器通信的服务器 HELO 名称,例如,有些是 localhost.localdomain,这损害了我们的 IP 声誉(黑名单/等)

我安装了 pflogsumm,这很有帮助,但我真的希望有一种方法可以获得连接到该服务器的 IP 列表以及 IP 正在制作的相应 HELO(或他们报告的服务器名称,好像你知道我的意思)。

如果有人知道我如何从 Postfix 获得这些信息会很棒,那么奖金将能够将其公开给 pflogsumm,以便我可以在我的每日邮件报告中查看它。谢谢!

Jof*_*rey 5

Wietse VenemaPostfix 的作者)对2012 年在邮件列表中提出的一个问题给出了这个答案postfix-users

warn_if_reject check_helo_access static:reject
Run Code Online (Sandbox Code Playgroud)

它可能是最新的,试一试。

更新

我试了一下:

首先需要在smtpd_helo_restrictions配置指令中进行配置。

smtpd_helo_restrictions = warn_if_reject check_helo_access static:reject
Run Code Online (Sandbox Code Playgroud)

这将导致以下类型的日志条目:

Oct 16 00:12:45 vega postfix/smtpd[6676]: NOQUEUE: reject_warning: RCPT from unknown[xxxx:xxxx:xxxx::x]: 554 5.7.1 <test>: Helo command rejected: Access denied; from=<anybody@example.com> to=<somebody@example.com> proto=SMTP helo=<test>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我使用testHELO所述的命令SMTP连接。由于这是一个拒绝警告,pflogsumm总结这一点可能没有问题。