阻止邮件中继尝试的build议

我在CentOS上运行postfix,并且正确地拒绝中继邮件请求,但是我的服务器不断地… CONSTANTLY …接收中继邮件的请求。 所以,邮件日志填满了(不是一个巨大的问题,日志旋转等),服务器总是运行在比我想要的稍高的负载。 试图发送所有这些电子邮件的脚本是相当愚蠢的,因为它只是不断尝试数百或数千次。

有没有一种好的方法可以检测并自动阻止试图通过我的机器进行大规模中继的IP地址? 我假设我需要在iptables级别closures它们,所以它们根本无法连接。

有什么build议么?

你可以使用Fail2Ban 。 它监视日志文件,并使用iptables阻止主机,如果它在日志文件中find特定的行。

此外,您可以configurationpostscreen http://www.postfix.org/POSTSCREEN_README.html ,但您只需要使用邮政屏幕MX,而不是客户端。

假设您实际上期望处理入站SMTPstream量,您将需要设置一些限制,以了解postfix/smtpd对客户的行为。

http://www.postfix.org/TUNING_README.html#conn_limit是一个很好的简要概述。

这些是我倾向于使用的设置。

 #SMTPd limits smtpd_client_connection_rate_limit = 10 smtpd_client_new_tls_session_rate_limit = 5 smtpd_client_recipient_rate_limit = 60 smtpd_client_message_rate_limit = 10 

如果服务器根本不应该收到邮件,可以通过$(postconf -h config_directory)/master.cf注释来禁用smtpd

如果您的主机不是邮件中继,则可以完全阻止端口25:

 iptables -A INPUT -p tcp --dport 25 -j DROP iptables -A INPUT -p udp --dport 25 -j DROP service iptables save service iptables restart