fail2ban 不能正确有效地修改 iptables?

fail2ban 不能正确有效地修改 iptables?

我刚刚在 NetinVM(虚拟机内的一组虚拟机)中安装了 fail2ban

到目前为止一切顺利,我安装在一台特定的机器上(10.5.1.13),其中 ssh 位于 2222(全部在 root 上)

我从另一台机器(10.5.1.11)反复使用错误的密码 ssh 连接到第一台机器。

fail2ban 识别出“攻击”,并表示要禁止该 IP

fail2ban> status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 1
|  |- Total failed: 20
|  `- File list:    /var/log/auth.log
`- Actions
   |- Currently banned: 2
   |- Total banned: 2
   `- Banned IP list:   10.5.1.11

当我查看 iptables 时:

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
f2b-sshd   tcp  --  anywhere             anywhere             multiport dports ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain f2b-sshd (1 references)
target     prot opt source               destination         
REJECT     all  --  dmzb.example.net     anywhere             reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere        

添加了此 REJECT 规则后,dmzb.emaple.net 的解析似乎正确:

$ ping dmzb.example.net
PING dmzb.example.net (10.5.1.11) 56(84) bytes of data.
64 bytes from dmzb.example.net (10.5.1.11): icmp_seq=1 ttl=64 time=0.940 ms

并将添加到 iptables 中的域名正确解析为“攻击者”的 IP

尽管如此,我仍然可以从“攻击者”的机器上进行 ssh 试验,获取密码请求,如果输入正确的密码,甚至可以进入。

更新: 按照建议,尝试过

$ iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
f2b-sshd   tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 22

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain f2b-sshd (1 references)
target     prot opt source               destination         
REJECT     all  --  10.5.1.11            0.0.0.0/0            reject-with icmp-port-unreachable
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           

ip 似乎是正确的,但仍然没有应用禁止。

答案1

在您的规则集中,您将 fail2ban 检查与端口 22 绑定,但在您编写的描述中,您的 ssh 实际上监听端口 2222。要检查它,请从iptables-save -c或开始iptables -L -n -v。检查相应规则的计数器。此外,tcpdump 对您来说也是非常有用的工具。

相关内容