Linux服务器如何防暴力破解_fail2ban实战讲解【技巧】

1次阅读

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

Linux服务器如何防暴力破解_fail2ban实战讲解【技巧】

Fail2ban 是 Linux 服务器防暴力破解最常用、最有效的工具之一。它不靠堵端口或改配置来“绕开”攻击,而是主动监控日志、识别异常行为、自动封禁 IP,整个过程无需人工干预,且支持灵活调整策略。

安装 Fail2ban 要看系统类型

不同发行版命令略有差异,但核心就一条:用系统原生包管理器安装,不建议源码编译(除非有特殊需求)。

  • ubuntu/debiansudo apt update && sudo apt install -y fail2ban
  • centos/RHEL/Rocky 8+:sudo dnf install epel-release -y && sudo dnf install -y fail2ban
  • 旧版 CentOS 7:sudo yum install epel-release -y && sudo yum install -y fail2ban

装完先启动并设为开机自启:sudo systemctl enable --now fail2ban

关键配置:用 jail.local 覆盖默认设置

不要直接改 /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

说明:

Linux服务器如何防暴力破解_fail2ban实战讲解【技巧】

Hugging Face

Hugging Face AI开源社区

Linux服务器如何防暴力破解_fail2ban实战讲解【技巧】 270

查看详情 Linux服务器如何防暴力破解_fail2ban实战讲解【技巧】

  • 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
  • 查 SSH 监狱状态:sudo fail2ban-client status sshd(会显示当前封了多少 IP)
  • 看实时日志:sudo journalctl -u fail2ban -f

如果某次测试误封了自己,可手动解封sudo fail2ban-client set sshd unbanip 192.168.1.100

进阶防护建议(非必须但很实用)

单靠 Fail2ban 不等于绝对安全,搭配以下措施效果更稳:

  • 关闭 root 直接 SSH 登录:PermitRootLogin no 写入 /etc/ssh/sshd_configsudo systemctl reload sshd
  • 改 SSH 默认端口(如设为 2222),能大幅减少扫描量
  • 启用密钥登录 + 禁用密码登录,从根源杜绝弱口令风险
  • 配合 firewalld 或 ufw 使用 banaction = firewallcmd-ipset,封禁更高效

Fail2ban 本身轻量、稳定、可扩展,只要日志路径对、规则启用了、服务跑着,它就在默默守门。

text=ZqhQzanResources