如何更改禁止时间 Fail2ban,如果需要甚至可以永久禁止
“Fail2ban 是一款开源日志解析应用程序,可防止您的系统受到暴力攻击。它解析日志文件并阻止身份验证失败次数过多的 IP 地址。当用户尝试使用试错方法登录时,通常会发生这种情况。然后,Fail2ban 会采取一些操作,例如更新防火墙规则,以在特定时间段(默认为 10 分钟或 600 秒)内禁止该 IP 地址。被禁止的 IP 地址将在 10 分钟后自动解除禁止,以避免锁定任何可能多次错误输入密码的合法用户。 ”
在本文中,您将了解如何更改fail2ban中的禁止时间以及如何根据需要永久禁止IP地址。
注意1.在继续之前,请确保您具有 sudo 权限。
2. 此处说明的过程已在 Ubuntu 22.04 上进行了测试。但是,相同的过程也可以在其他 Linux 发行版上使用。
如何在 Linux 上安装 Fail2ban
几乎每个 Linux 发行版的软件包存储库中都提供 Fail2ban。您可以使用 Linux 发行版的包管理器来安装它。
在 Ubuntu 和 Debian 上
要在基于 Debian 的发行版(例如 Ubuntu 和 Debian)上安装fail2ban,请使用以下命令:
在 CentOS、Fedora 和 RHEL 上
要在基于 RHEL 的发行版(例如 CentOS、Fedora 和 RHEL)上安装fail2ban,请使用以下命令:
$ sudo dnf install fail2ban
关于 Manjaro 和 Arch
要在基于 Arch 的发行版(例如 Manjaro 和 Arch)上安装fail2ban,请使用以下命令:
安装后,您可以使用以下命令启动fail2ban:
要在启动时启用该服务,请使用以下命令:
如何更改 Fail2ban 中的禁止时间
正如我们之前所说,在特定次数的身份验证尝试失败后,IP 地址被禁止的默认时间是 10 分钟。建议将禁止时间设置得足够长,以阻止恶意尝试。然而,合法用户因验证尝试失败而被错误禁止的时间不应太长。您还可以手动取消对合法 IP 地址的封禁,而不必等待封禁时间到期。
Fail2ban 配置文件jail.conf位于/etc/fail2ban。但是,不要直接编辑该文件。相反,将 jail.conf 文件复制到 /etc/fail2ban 目录中的 jail.local 文件,并在这个新文件中进行所有配置更改文件。
要创建 jail.local 文件,请打开终端,然后运行以下命令:
它将在 /etc/fail2ban 目录下创建一个 jail.local 配置文件。
2. 您可以通过更改/etc/fail2ban/jail.local文件中的bantime参数来修改禁止时间。在任何文本编辑器(例如 Nano)中编辑 /etc/fail2ban/jail.local 文件:
3. 现在根据您的要求调整 bantime 参数值。假设要禁止 IP 地址 20 秒,请将 bantime 的值设置为 20。同样,要禁止 IP 地址 5 分钟,请将 bantime 的值设置为 300 秒。
班次=20
完成后,保存并关闭 /etc/fail2ban/jail.local 文件。
4. 对fail2ban 配置文件进行任何调整后,请确保重新启动服务以应用更改:
现在该 IP 地址将被禁止 20 秒。您还可以查看fail2ban日志来验证这一点:
上面屏幕截图中突出显示的fail2ban日志验证了IP地址192.168.72.186在01:14:14被禁止,然后在20秒后的01:14:34被取消禁止。
在 Fail2ban 中永久禁止 IP 地址
通过fail2ban,您还可以永久禁止违规IP 地址。让我们看看如何实现它:
1. 如果您已经创建了jail.local文件,那么您可以跳过此步骤。
在终端中使用以下命令创建 jail.local 文件:
现在jail.local配置文件已经创建。
2. 现在,要永久禁止 IP 地址,请使用以下命令编辑 /etc/fail2ban/jail.local 配置文件:
3. 要永久禁止某个 IP 地址,请将禁止时间值设置为 -1。
之后,保存并退出 /etc/fail2ban/jail.local 文件。
4. 重新启动fail2ban服务,如下:
此后,尝试连接失败达到特定次数的 IP 地址将被永久禁止。
现在保存并关闭文件。
但是,请记住,永久禁止的 IP 将不会在系统或服务重新启动后持续存在。为了使这些禁令持续存在,您将需要执行更多步骤:
1. 使用以下命令编辑 /etc/fail2ban/jail.local 文件:
在此文件中查找banaction条目。以下屏幕截图显示禁止是iptables-multiport。
2. 使用以下命令编辑 banaction 文件 iptables-multiport:
在 actionstart 默认条目下,添加以下行:
cat /etc/fail2ban/ip.banned | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j DROP; done
在 actionban 默认条目下,添加以下行:
echo '<ip>' >> /etc/fail2ban/ip.banned
为了清楚起见,您还可以参考以下屏幕截图。
然后保存并关闭文件并重新启动fail2ban服务:
Fail2ban 会将禁止的 IP 添加到 /etc/fail2ban/ip.banned 文件中。您还可以手动将 IP 添加到此文件。被禁止的 IP 现在将在系统或服务重新启动时持续存在。
这就是全部内容了!在这篇文章中,我们解释了如何使用fail2ban;您可以更改禁止时间或永久禁止多次验证失败的 IP。