fail2ban部署需完成安装、配置与启用三步:先用apt/yum/dnf安装并验证版本;再复制jail.conf为jail.local,配置sshd段并适配日志路径;最后启动服务、设为开机自启,并通过status和日志验证效果。

如果您希望在Linux系统中部署Fail2ban以抵御SSH等服务的暴力破解攻击,则需完成安装、基础配置与服务启用三个关键环节。以下是具体操作步骤:
一、安装Fail2ban
Fail2ban未预装于多数Linux发行版,必须通过对应包管理器手动安装。不同系统使用不同命令,且需确保软件源已更新。
1、对于Debian或Ubuntu系统,执行以下两条命令:
sudo apt update
sudo apt install fail2ban
2、对于CentOS 7或RHEL 7系统,先启用EPEL仓库,再安装:
sudo yum install epel-release
sudo yum install fail2ban
3、对于CentOS 8/RHEL 8或AlmaLinux/Rocky Linux等使用dnf的系统:
sudo dnf install epel-release
sudo dnf install fail2ban
4、安装完成后,务必验证是否成功安装:运行 fail2ban-client --version,若返回版本号(如“1.0.2”)则表示安装成功。
二、配置Fail2ban防护规则
直接修改主配置文件jail.conf存在被升级覆盖风险,应优先创建并编辑覆盖用的jail.local文件,仅在此文件中定义启用的服务及参数。
1、复制默认配置生成本地配置:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
2、使用文本编辑器打开该文件:
sudo nano /etc/fail2ban/jail.local
3、在文件末尾添加SSH防护段落:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 600
bantime = 3600
4、注意日志路径适配:Debian/Ubuntu系统使用 /var/log/auth.log;CentOS/RHEL系统应改为 /var/log/secure。
三、启动并启用Fail2ban服务
配置保存后,需启动服务并设置开机自启,使防护机制持续生效。
1、启动Fail2ban服务:
sudo systemctl start fail2ban
2、设置开机自动运行:
sudo systemctl enable fail2ban
3、检查服务当前状态:
sudo systemctl status fail2ban
4、确认状态为“active (running)”且无红色报错信息,表示服务已正常加载配置并开始监控日志。
四、验证Fail2ban运行效果
仅启动服务不代表规则已生效,需主动检查其是否识别失败登录并施加封禁动作。
1、查看SSH监禁状态:
sudo fail2ban-client status sshd
2、若输出中显示 “Number of jail: 1” 及 “Jail list: sshd”,且下方有“Currently banned: 0”,说明监控已就绪但暂无触发封禁。
3、手动触发测试(仅限测试环境):
从另一台机器连续三次输入错误密码尝试SSH登录,等待约10分钟后再次执行上述status命令,应显示“Currently banned: 1”及对应IP地址。
4、查看实时日志确认动作:
sudo journalctl -u fail2ban -n 20 -f
五、手动管理被封IP地址
当合法用户因误操作被封禁时,需快速解除限制,避免影响运维访问。
1、列出当前被封禁的IP:
sudo fail2ban-client status sshd
2、解封指定IP(将X.X.X.X替换为实际地址):
sudo fail2ban-client set sshd unbanip X.X.X.X
3、临时封禁某IP(应急处置):
sudo fail2ban-client set sshd banip X.X.X.X
4、解封后立即测试SSH连通性,确保操作生效;若仍无法连接,需排查防火墙(如iptables/nftables)是否残留规则。










