我有自己的电子邮件服务器。目前没有被列入黑名单的问题,但我想主动解决这个问题,我想从日志文件开始。
我的日志文件中有一些条目表明我的 IP 被列入黑名单/灰名单或存在某种速率限制:
示例 1 - 灰名单
Sep 28 10:12:49 server postfix/smtp[7872]: 33AE9C2239: host mxcluster2.one.com[91.198.169.9] said: 450 4.7.1 <redacted@redacted>: Recipient address rejected: redactedServerIP temporary greylisted by CYREN IP reputation (in reply to RCPT TO command)
示例 2 - Google 速率限制
Oct 22 09:22:30 server postfix/smtp[2048]: C28CAC0855: host gmail-smtp-in.l.google.com[74.125.136.27] said: 421-4.7.0 [redactedServerIP 10] Our system has detected an unusual rate of 421-4.7.0 unsolicited mail originI ating from your IP address. To protect our 421-4.7.0 users from spam, mail sent from your IP address has been temporarily 421-4.7.0 rate limited. Please visit 421-4.7.0 https://support.google.com/mail/answer/81126 to review our Bulk Email 421 4.7.0 Senders Guidelines. hw7si16653285wjb.208 - gsmtp (in reply to end of DATA command)
我想要一种自动化的方式来通知我此类事件。我最初的想法是使用 fail2ban,用一些正则表达式进行过滤(我只有 2 个示例可以作为模式),然后发送电子邮件作为操作。正则表达式匹配的其他起点/示例可能是常见 SMTP 错误代码或来自各种提供商。
同时,我正在监控黑名单以查看我的 IP 地址是否出现,但我也想从日志中看到它。
我的问题:
- 除了使用 fail2ban 之外,有没有更好的方法(例如专门的软件)来做到这一点?
- 对于当前案例,我还应该了解有关黑名单响应代码/警告的更多资源吗?
答案1
我不熟悉 Fail2ban,但您的方法似乎是正确的。您可能不会在日志中收到表明您被列入黑名单的消息 - 这取决于拒绝您的消息的服务(如果它向您提供了拒绝原因)。话虽如此,我们已经看到他们明确指出 IP 已被列入黑名单或包含在 RBL 中 - 因此您可能需要检查所有这些关键字。我也看到了 550 条与此相关的消息。
我还会确保您的 SPF 记录已配置。更多系统不会检查 DNS 中的有效 SPF 记录,如果它们不存在或不匹配,则可能会被标记。如果报告的此类记录过多,您可能会被列入黑名单。
如果您通过 Google 或其他智能主机进行外部中继发送,请务必遵循其使用指南。如果您需要发送批量消息,则可能需要使用其他提供商。如果 Microsoft、Google 和其他公司认为您已受到攻击,他们会关闭消息中继。