Fail2ban 是 Linux 服务器防暴力破解最常用有效的工具,通过监控日志、识别异常、自动封禁 IP 实现主动防护;安装需按系统选择 apt/dnf/yum 命令,配置应写入 jail.local 而非 jail.conf,SSH 防护需适配 logpath 和 port,启用后须重启并用 fail2ban-client 验证状态。

Fail2ban 是 Linux 服务器防暴力破解最常用、最有效的工具之一。它不靠堵端口或改配置来“绕开”攻击,而是主动监控日志、识别异常行为、自动封禁 IP,整个过程无需人工干预,且支持灵活调整策略。
不同发行版命令略有差异,但核心就一条:用系统原生包管理器安装,不建议源码编译(除非有特殊需求)。
sudo apt update && sudo apt install -y fail2ban
sudo dnf install epel-release -y && sudo dnf install -y fail2ban
sudo yum install epel-release -y && sudo yum install -y fail2ban
装完先启动并设为开机自启:sudo systemctl enable --now fail2ban
不要直接改 /etc/fail2ban/jail.conf —— 它可能在升级时被覆盖。正确做法是创建 /etc/fail2ban/jail.local,只写你关心的改动。
例如,针对 SSH 防护,可写入:
[DEFAULT] ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 bantime = 1h findtime = 10m maxretry = 3 [sshd] enabled = true port = 22 filter = sshd logpath = /var/log/auth.log
说明:
ignoreip 填你自己的可信网段或 IP,避免误封logpath 在 CentOS/Rocky 中应为 /var/log/secure;Ubuntu/Debian 是 /var/log/auth.log
port 若改过 SSH 端口(比如 2222),这里也要同步改成 2222
配置完必须重启服务:sudo systemctl restart fail2ban
验证是否正常工作:
sudo systemctl status fail2ban
sudo fail2ban-client status sshd(会显示当前封了多少 IP)sudo journalctl -u fail2ban -f
如果某次测试误封了自己,可手动解封:sudo fail2ban-client set sshd unbanip 192.168.1.100
单靠 Fail2ban 不等于绝对安全,搭配以下措施效果更稳:
PermitRootLogin no 写入 /etc/ssh/sshd_config 后 sudo systemctl reload sshd
banaction = firewallcmd-ipset,封禁更高效Fail2ban 本身轻量、稳定、可扩展,只要日志路径对、规则启用了、服务跑着,它就在默默守门。
以上就是Linux服务器如何防暴力破解_fail2ban实战讲解【技巧】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号