我创建了一个包含一堆 IP 的 ipset,我想阻止对 dovecot 和 exim 的访问。
该 ipset 称为“bannedIPs”并已使用此添加到 iptables
iptables -A INPUT -p tcp --dport 25 -m set --set bannedIPs src -j DROP
iptables -A INPUT -p tcp --dport 587 -m set --set bannedIPs src -j DROP
iptables -A INPUT -p tcp --dport 465 -m set --set bannedIPs src -j DROP
iptables -A INPUT -p tcp --dport 110 -m set --set bannedIPs src -j DROP
iptables -A INPUT -p tcp --dport 143 -m set --set bannedIPs src -j DROP
iptables -A INPUT -p tcp --dport 993 -m set --set bannedIPs src -j DROP
iptables -A INPUT -p tcp --dport 995 -m set --set bannedIPs src -j DROP
我的问题是:
- 这些规则正确吗?他们是否会阻止bannedIPs ipset上的IP访问这些服务所有端口上的exim和dovecots?
答案1
是的,也不是。
您没有告诉我们您正在运行什么服务,imap 或 pop、smtp 等,以及是否全部使用默认端口。
但是,要验证您是否已收集所有必需的端口,请运行 ienetstat -luantp
以获取侦听端口列表。然后将端口列表与其进行比较。
另外,考虑将这些规则合并为一个规则,
iptables -A INPUT -p tcp -m multiport --dports 25,587,465,110,143,993,995 -m set --match-set bannedIPs src -j DROP
要保存/恢复 ipset 列表,请ipset save > ipset.rules
尝试ipset restore < ipset.rules