如何在到达 Postfix 上的 SMTP 之前拒绝垃圾邮件

如何在到达 Postfix 上的 SMTP 之前拒绝垃圾邮件

我的服务器已开始收到数千次尝试使用我的邮件服务器从 dynamic.hinet.net 发送垃圾邮件的尝试。这些尝试总是被拒绝,但从未停止。我希望在这些尝试到达邮件服务器之前阻止它们。以下是几个示例。

NOQUEUE: reject: RCPT from 111-249-39-49.dynamic.hinet.net[111.249.39.49]: 554 5.7.1 <[email protected]>: Relay access denied; 

NOQUEUE: reject: RCPT from 118-160-213-218.dynamic.hinet.net[118.160.213.218]: 554 5.1.8 <[email protected]>: Sender address rejected: Domain not found; 

我已经安装了 fail2ban,但我不知道如何正确配置它。目前,它会在 IP 尝试多次并被拒绝后阻止该 IP,但问题是来自 hinet.net 的 IP 变化很大,所以它们永远不会结束。它们以 111、114、118、36 开头……可能更多,但这就是我观察到的。我曾考虑通过 postscreen 配置阻止以这些数字开头的 IP,但不确定我是否会通过全面阻止整个 IP 范围来阻止合法电子邮件。

那么,关于如何配置 fail2ban、postscreen 或其他方式来彻底阻止这些 hinet.net 用户,您有什么想法吗?我是否可以不在 IPTables 上设置一条规则来阻止名称中带有“hinet.net”或其他内容?

任何帮助都值得感激!

答案1

GeoIP 过滤xtables-插件通过限制来自这些国家/地区的 SMTP 访问,可以减少高达 95% 的垃圾邮件,使您的公司永远不会收到这些国家的邮件。

请遵循适用于您的操作系统的 xtables-addons 安装指南(这是一个适用于 CentOS 的),然后只需添加类似以下内容的内容:

iptables -A INPUT -m geoip -p tcp  --dport 25 --src-cc AR,BR,BY,CD,CL,CN,CO,DZ,EG,ES,HN,ID,IN,IR -j DROP
iptables -A INPUT -m geoip -p tcp  --dport 25 --src-cc IT,JP,KP,KR,KW,LY,MA,MU,MX,NP,PA,PE,PK,PL -j DROP
iptables -A INPUT -m geoip -p tcp  --dport 25 --src-cc PS,PT,SA,TH,TJ,TN,TR,TT,TW,TZ,UZ,VN,ZA -j DROP

它将大大减少垃圾邮件和黑客攻击,只要确保您不包括贵公司实际收到邮件的任何国家/地区即可……

答案2

如果您想在数据包到达 smtp 之前拒绝它,则需要根据 IP 地址执行此操作。这意味着始终存在阻止合法电子邮件的风险。如果您接受风险,您可以使用 whois 服务并阻止分配给 HINET-NET 的所有子网(顺便说一下有很多)
链接到 whois

相关内容