如何使用 Fail2Ban 正确解除 IP 禁令

如何使用 Fail2Ban 正确解除 IP 禁令

我在服务器上使用 Fail2Ban,我想知道如何正确解除对 IP 的禁令。

我知道我可以直接使用 IPTables:iptables -D fail2ban-ssh <number>

但是没有办法用吗fail2ban-client

手册中是这样描述的:fail2ban-client get ssh actionunban <IP>。但是这不管用。

此外,我不想/etc/init.d/fail2ban restart这样做,因为那样会丢失列表中的所有禁令。

答案1

使用 v0.8.8 之前的 Fail2Ban:

fail2ban-client get YOURJAILNAMEHERE actionunban IPADDRESSHERE

使用 Fail2Ban v0.8.8 及更高版本:

fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE

困难的是找到合适的监狱:

  1. 用于iptables -L -n查找规则名称...
  2. ...然后使用fail2ban-client status | grep "Jail list" | sed -E 's/^[^:]+:[ \t]+//' | sed 's/,//g'获取实际的监狱名称。规则名称和监狱名称可能不相同,但应该清楚哪个与哪个相关。

答案2

从 v0.8.8 开始,有一个unbanip选项(actionunban不是为此目的)它可以通过命令触发set,如果你查看选项列表,你会看到语法是。所以它将是(记住,请检查):

fail2ban-client set ssh-iptables unbanip IPADDRESSHERE 

更通用:

fail2ban-client set JAILNAMEHERE unbanip IPADDRESSHERE

对我有用

答案3

交互模式下 SSH 的示例。

在 bash 中输入:

fail2ban-client -i

然后在交互模式下输入读取监狱的状态:

status sshd

你会得到:

Status for the jail: ssh
|- Filter
|  |- Currently failed: 0
|  |- Total failed: 6
|  `- File list:    /var/log/auth.log
`- Actions
   |- Currently banned: 1
   |- Total banned: 2
   `- Banned IP list:   203.113.167.162

然后在 fail2ban 交互模式下输入:

set sshd unbanip 203.113.167.162

你会得到:

203.113.167.162

这意味着不再203.113.167.162在禁令名单中。

答案4

如果您正在运行版本v0.10.2

sudo fail2ban-client 取消禁止 YOUR_IP_ADDRESS

这是来自帮助:

unban <IP> ... <IP> unbans <IP> (in all jails and database)

当我因为 ssh 客户端反复输入错误密码登录而很可能被禁止时,确认它可以在我的情况下起作用。

相关内容