反暴力破解工具Fail2Ban简单使用

Fail2Ban通过监视SSH等服务的日志文件,对短时间内多次认证失败的IP进行封禁。

安装Fail2Ban

可以通过AptYumPacMan等包管理器安装软件包fail2ban

sudo apt-get install fail2ban

配置Fail2Ban自动启动:

sudo systemctl enable fail2ban.service

配置Fail2Ban

Fail2Ban的配置文件模板位于/etc/fail2ban/jail.conf,由于软件更新可能修改此文件,因此直接修改此文件是不推荐的。您可以在/etc/fail2ban/中创建jail.local文件,在/etc/fail2ban/jail.conf的基础上进行增量修改:

cd /etc/fail2ban/
sudo vi jail.local

通常来说,您可能希望修改的选项包括启用特定的“监狱”(即要求Fail2Ban侦听面对特定服务的暴力破解攻击)以及对试图暴力攻击您的计算机的IP的封禁时间等。

如果您需要修改封禁时间等参数,可以在jail.local中新建[DEFAULT]结点,并覆盖如bantime(封禁时间)、bantime.increment(该选项可以使攻击者IP的封禁时长随着失败次数的增加而递增)等选项。有关更多信息,请参考jail.conf中的注释,或使用man 5 jail.conf命令查看Fail2Ban手册。

如果您需要启用特定“监狱”,请在jail.local中新建与jail.conf中相应服务结点同名的结点,并在下一行写入:

enabled = true

一个jail.local文件可能具有下面的样式:

# Fail2Ban Local Config File
# Modified by Picsell Dois

[DEFAULT]
bantime.increment = true
bantime = 25h
bantime.factor = 5
bantime.formula = (ban.Time * (1<<(ban.Count if ban.Count<20 else 20)) * banFactor) if ban.Count<3 else -1

[sshd]
enabled = true

保存jail.local后,您需要重新启动Fail2Ban,来使配置更改生效:

sudo systemctl restart fail2ban.service

或:

sudo fail2ban-client reload

检查Fail2Ban状态

您可以使用下面的命令检查Fail2Ban的当前状态:

sudo fail2ban-client status

Fail2Ban的日志文件位于/var/log/fail2ban.log

参考资料

https://github.com/fail2ban/fail2ban

https://www.cnblogs.com/xiaobo0602/p/15256131.html

https://zhuanlan.zhihu.com/p/33546122

https://linux.cn/article-5067-1.html

it
除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License