Fail2Ban是一种用来防止暴力破解的工具,一般要和iptables配合使用。其原理是读取系统日志,并通过正则表达式匹配,监控IP在一段时间内的登录尝试、身份验证失败日志等并进行计数。超过阈值则进行IP封禁,过一段时间后再解封。
总的来说,Fail2Ban是一款不错的安全工具,下面让我们来安装它。
安装
首先是更新本地包信息。更新包信息将保证我们下载的是最新的安装包,获取新特性或bug修复。
sudo apt update
然后是安装
sudo apt install fail2ban
安装过程中可能会提示要升级内核版本,选择ok即可。
然后是一些安装服务的常规操作:
- 启动服务
sudo systemctl start fail2ban
- 设置开机启动
sudo systemctl enable fail2ban
- 查看状态
sudo systemctl status fail2ban
绿色的 avtive 看着真舒服。
配置
有时候默认的配置可能不足以满足我们的需求,这时我们可以修改配置和重新加载配置。配置文件是/etc/fail2ban/jail.conf
这个配置文件名字还是有点意思的。为了方便参考原配置,这里我们新建一个本地配置文件
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
fail2ban会先加载jail.conf,然后再加载jail.local,当两者存在相同的配置时,jail.local的优先级会更高。
配置文件里的配置项都有清楚的英文说明,这里我们说下几个常用的配置项:
- ignoreip:忽略的IP,不会被封禁
- bantime:封禁时长,单位为秒
- maxretry:允许的最大尝试失败次数;
- findtime:时间窗口,和maxretry配合
- logpath:监控的日志路径
当根据需求修改完配置后,直接重启服务,即会加载最新配置文件
sudo systemctl restart fail2ban
小结
一般来说,网络攻击最常见的就是字典破解密码。用fail2ban可以在一定程度上帮助我们解决单IP暴力破解的问题。