POSTFIX 中临时封禁每天发送超过 100 封邮件的 IP

POSTFIX 中临时封禁每天发送超过 100 封邮件的 IP

我一直使用 POSTFIX 邮件服务器接收邮件。现在有些垃圾邮件发送者不断发送垃圾邮件。我有个主意可以阻止每天发送邮件超过 100 封的 IP 地址。在 POSTFIX 或 shell 脚本中可以实现吗?请告诉我?

答案1

根据 Postfix 文档,您正在寻找的是Postfix SMTP 中继和访问控制, 具体来说smtpd_客户端限制

Postfix 文档对于新手来说可能有点晦涩难懂。有一些指南可以帮助展示如何使用 Postfix 的黑名单和白名单(我在下面重现了该指南的部分内容)。

基本思路是,首先,设置一个 client_checks 文件。接下来,使用 postmap 对该文件进行哈希处理;这可以提高性能。
第三,在您的文件中/etc/postfix/main.cf添加对哈希的引用。

该文件/etc/postfix/client_checks将包含如下内容:

# Restricts which clients this system accepts SMTP connections from.

example.com               REJECT No spammers
.example.com              REJECT No spammers, from your subdomain
123.45.67.89              REJECT Your IP is spammer
123.45.6.0/24             REJECT Your IP range is spammer
32.1.98.76                OK
example1.com              OK

接下来,你将运行postmap /etc/postfix/client_checks

编辑main.cf文件以添加对客户端检查的引用:

smtpd_recipient_restrictions = check_client_access hash:/etc/postfix/client_checks

重新启动 postfix 并测试是否正常运行。理想情况下,您需要从白名单 IP 地址和黑名单 IP 地址进行测试。如果是我,我会暂时将一个已知 IP 地址添加到客户端检查中,并确认来自该主机的邮件被拒绝,然后在client_checks我确信检查正常后将其删除。


相关内容