有时候,一些网站不小心被黑,导致垃圾邮件泛滥而遭到投诉,这是我们不想遇到的。怎么样在Linux禁止smtp发送邮件,禁止25端口,防止垃圾邮件?我们可以用iptables来实现屏蔽25端口,如果服务器上有很多ip,还可以设置只允许特定ip连接25端口
先用iptables屏蔽全部IP连接25端口:
iptables -I FORWARD -p tcp --dport 25 -j DROP
iptables -I INPUT -p tcp --dport 25 -j DROP
iptables -I OUTPUT -p tcp --dport 25 -j DROP
只允许特定ip连接25端口:
iptables -I FORWARD -s 108.171.12.51 -p tcp --dport 25 -j ACCEPT
重新禁止此ip连接25端口,删除上述许可记录就可以了:
iptables -D FORWARD -s 108.171.218.51 -p tcp --dport 25 -j ACCEPT
如果默认已经允许了全部ip链接25端口(大部分机器默认就允许)
需要禁止特定ip连接25端口:
iptables -I FORWARD -s 108.171.12.51 -p tcp --dport 25 -j DROP
防止spam的iptables高级使用:
iptables -I FORWARD -p tcp --dport 25 -m state --state NEW -j LOG --log-prefix "cto_smtp_sent "
iptables -I FORWARD -p tcp --dport 25 -m state --state NEW -m limit --limit 12/minute --limit-burst 10 -j ACCEPT
iptables -I FORWARD -p tcp --dport 25 -m state --state NEW -j DROP
允许某vps(17.23.8.10)里面连接外部smtp服务器的25端口,并限速
iptables -I FORWARD -s 17.23.8.10 -p tcp --dport 25 -m state --state NEW -m limit --limit 12/minute --limit-burst 10 -j ACCEPT
允许外部机器连接 某vps(17.23.8.10) 的25端口,并限速
iptables -I FORWARD -d 17.23.8.10 -p tcp --dport 25 -m state --state NEW -m limit --limit 12/minute --limit-burst 10 -j ACCEPT