当前位置:首页 > Centos > 正文

CentOS fail2ban 入侵防御(手把手教你用 fail2ban 保护 Linux 服务器免受暴力破解攻击)

在当今互联网环境中,服务器安全至关重要。尤其是运行在公网上的 CentOS 服务器,经常成为黑客暴力破解 SSH 密码的目标。为了有效防止此类攻击,fail2ban 是一个非常实用的入侵防御工具。本教程将详细讲解如何在 CentOS 系统上安装、配置并使用 fail2ban 来提升服务器安全性,即使是 Linux 小白也能轻松上手。

CentOS fail2ban 入侵防御(手把手教你用 保护 Linux 服务器免受暴力破解攻击) 入侵防御  安装配置 服务器安全防护 防止暴力破解 SSH 第1张

什么是 fail2ban?

fail2ban 是一个用 Python 编写的开源入侵防御软件,它通过监控系统日志(如 /var/log/secure)来检测恶意行为(例如多次登录失败),并自动将可疑 IP 地址加入防火墙规则(如 iptables 或 firewalld)进行临时或永久封禁。这能有效防止 暴力破解 SSH、FTP、Web 登录等常见攻击。

准备工作

本教程适用于 CentOS 7 或 CentOS 8 系统。请确保你拥有 root 权限或具有 sudo 权限的用户账户,并且服务器已连接互联网。

第 1 步:安装 fail2ban

首先,我们需要启用 EPEL 仓库(Extra Packages for Enterprise Linux),因为 fail2ban 不在 CentOS 默认仓库中。

# 对于 CentOS 7sudo yum install -y epel-releasesudo yum install -y fail2ban# 对于 CentOS 8sudo dnf install -y epel-releasesudo dnf install -y fail2ban

第 2 步:启动并设置开机自启

安装完成后,启动 fail2ban 服务并设置为开机自启:

sudo systemctl start fail2bansudo systemctl enable fail2ban

第 3 步:配置 fail2ban(关键步骤)

默认配置文件位于 /etc/fail2ban/jail.conf,但官方建议不要直接修改它,而是创建一个本地配置文件 jail.local

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

接下来编辑 jail.local 文件:

sudo vi /etc/fail2ban/jail.local

找到 [sshd] 部分,取消注释并修改如下(根据你的需求调整):

[sshd]enabled = trueport = sshlogpath = %(sshd_log)smaxretry = 3bantime = 600findtime = 600

参数说明:

  • enabled = true:启用 SSH 监控
  • maxretry = 3:允许失败 3 次
  • findtime = 600:在 600 秒(10 分钟)内累计失败次数
  • bantime = 600:封禁时间为 600 秒(10 分钟)

如果你使用的是 firewalld(CentOS 7/8 默认),fail2ban 会自动使用它进行封禁。无需额外配置。

第 4 步:重启 fail2ban 并测试

保存配置后,重启服务使配置生效:

sudo systemctl restart fail2ban

你可以使用以下命令查看当前被封禁的 IP:

sudo fail2ban-client status sshd

第 5 步:验证防护效果

你可以从另一台机器故意输错 SSH 密码 3 次以上,然后检查是否被封禁。注意:不要用自己的管理 IP 测试,以免被锁!

常见问题与优化建议

  • 如果使用云服务器(如阿里云、腾讯云),确保安全组允许 SSH 端口,但 fail2ban 的封禁是在系统层面,不影响安全组。
  • 可将 bantime 设为 -1 表示永久封禁(谨慎使用)。
  • 定期查看日志:/var/log/fail2ban.log 了解封禁记录。

总结

通过本教程,你已经成功在 CentOS 上部署了 fail2ban 入侵防御 系统,有效提升了服务器对 暴力破解 SSH 攻击的抵御能力。fail2ban 配置灵活,除了 SSH,还可用于保护 Nginx、Apache、Postfix 等服务。掌握这项技能,是构建安全 Linux 服务器安全防护 体系的重要一步。

记住:安全无小事,定期更新系统、使用强密码、配合 fail2ban 等工具,才能让你的服务器更安全!