所以我在 Debian 7 服务器上设置了 fail2ban,但仍然受到很多攻击,我不知道为什么无法正确阻止。正则表达式可以工作,它可以识别这些尝试,但它插入的 iptables 规则似乎不起作用,这是 fail2ban 尝试阻止后 iptables 输出的样子。
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 fail2ban-courierauth tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
2 fail2ban-couriersmtp tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
3 sshguard all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain fail2ban-courierauth (1 references)
num target prot opt source destination
1 DROP all -- 216.x.y.z 0.0.0.0/0
2 RETURN all -- 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-courierimap (0 references)
num target prot opt source destination
1 RETURN all -- 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-courierpop3 (0 references)
num target prot opt source destination
1 RETURN all -- 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-couriersmtp (1 references)
num target prot opt source destination
1 RETURN all -- 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-postfix (0 references)
num target prot opt source destination
1 RETURN all -- 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-sasl (0 references)
num target prot opt source destination
1 RETURN all -- 0.0.0.0/0 0.0.0.0/0
在上面的 iptables 中,您可以看到“Chain fail2ban-courierauth”规则,该规则为该 ip 添加了丢弃规则,但我仍然可以连接!!
我仍然可以连接到服务器,为什么它没有阻塞?
答案1
(我本来想把这个主要是为了澄清而提出的请求作为评论发布,但我的 Karma 还不够多,无法发表评论 :|)
冒着陈述显而易见的事实的风险 - 当您说“仍然可以连接到服务器”时;您的意思是在端口 25 上吗?因为您配置的 iptables 规则将仅匹配(并阻止)您对端口 25 的访问,假设您与端口 25 上的服务器的连接来自您列为阻止的 216.xyz IP。
您的 iptables 链的配置方式与我的非常相似(也使用 Debian),并且我的链可以正常阻止对特定服务的访问 - 因此我认为这不一定是 iptables 配置的问题,只要您只期望它阻止端口 25 而不是整个服务器,并且 PREROUTING 中没有出现任何奇怪的东西,可能会将流量转移出 INPUT 进行处理。