在当今网络环境中,服务器安全至关重要。对于使用 RockyLinux 的用户来说,fail2ban 是一个强大且易用的入侵防御工具,它能自动检测并阻止恶意登录尝试,有效防止暴力破解攻击。本文将为你提供一份详细、小白也能看懂的 fail2ban 教程,帮助你快速完成 RockyLinux fail2ban配置,实现系统安全加固。

一、什么是 fail2ban?
fail2ban 是一个用 Python 编写的入侵防御软件框架,它可以监控系统日志(如 /var/log/secure),当发现多次失败的登录尝试(例如 SSH 暴力破解)时,会自动将攻击者的 IP 地址加入防火墙规则(如 iptables 或 firewalld)中进行临时或永久封禁。
二、在 RockyLinux 上安装 fail2ban
首先,确保你的 RockyLinux 系统已更新:
sudo dnf update -y
接着,安装 EPEL 仓库(因为 fail2ban 不在默认仓库中):
sudo dnf install epel-release -y
然后安装 fail2ban:
sudo dnf install fail2ban -y
三、启动并启用 fail2ban 服务
安装完成后,启动 fail2ban 并设置开机自启:
sudo systemctl start fail2bansudo systemctl enable fail2ban
验证服务状态:
sudo systemctl status fail2ban
四、配置 fail2ban(关键步骤)
fail2ban 的默认配置文件是
/etc/fail2ban/jail.conf,但官方建议不要直接修改它,而是创建一个本地配置文件
jail.local来覆盖默认设置。
创建并编辑
jail.local文件:
sudo nano /etc/fail2ban/jail.local
在文件中添加以下基础配置(适用于 SSH 防护):
[sshd]enabled = trueport = sshlogpath = /var/log/securemaxretry = 3bantime = 600findtime = 600
参数说明:
enabled = true:启用 SSH 监控 port = ssh:监控 SSH 端口(默认22) logpath:指定日志文件路径(RockyLinux 使用 /var/log/secure) maxretry = 3:允许最多3次失败尝试 bantime = 600:封禁时间为600秒(10分钟) findtime = 600:在600秒内累计失败次数达到 maxretry 则触发封禁五、重启 fail2ban 并测试
保存配置后,重启 fail2ban 使配置生效:
sudo systemctl restart fail2ban
查看当前被封禁的 IP(使用 fail2ban-client):
sudo fail2ban-client status sshd
输出将显示当前被 ban 的 IP 列表,例如:
Status for the jail: sshd|- Filter| |- Currently failed: 0| |- Total failed: 5| `- Journal matches: _SYSTEMD_UNIT=sshd.service + _COMM=sshd`- Actions |- Currently banned: 1 |- Total banned: 1 `- Banned IP list: 192.168.1.100
六、常见问题与优化建议
1. 确保 firewalld 正常运行:fail2ban 默认使用 firewalld 作为动作后端(action),请确认 firewalld 已启用:
sudo systemctl status firewalld
2. 自定义封禁时间:如需永久封禁,可将
bantime = -1。
3. 白名单设置:为避免误封自己的 IP,可在 [DEFAULT] 段添加 ignoreip:
[DEFAULT]ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24
七、总结
通过本教程,你已经成功完成了 RockyLinux fail2ban配置,实现了对 SSH 暴力破解的基本防护。fail2ban 是 RockyLinux安全加固 的重要一环,配合强密码策略和密钥登录,可大幅提升服务器安全性。
记住,安全是一个持续的过程。定期检查 fail2ban 日志(
/var/log/fail2ban.log),根据实际需求调整策略,才能构建更可靠的防御体系。
希望这篇 fail2ban教程 对你有所帮助!如果你正在寻找高效的 fail2ban入侵防御 方案,现在就动手配置吧!
