返回列表 发布新帖
查看: 85|回复: 0

fail2ban 配合 firewalld 自动封禁暴力破解 IP

发表于 2025-5-15 14:01:40 | 查看全部 |阅读模式

这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 傲来云 于 2025-5-15 14:03 编辑

网站频繁被扫端口、SSH 爆破?只靠防火墙规则太麻烦?那你一定要了解一下这个神器:

fail2ban + firewalld,自动检测日志、封禁恶意 IP,省心又高效!

什么是 fail2ban?
fail2ban 是一个开源安全工具,能通过分析日志文件(如 SSH 登录日志)来发现异常行为,并自动调用防火墙(如 firewalld)将对应 IP 封禁。

环境准备
  • 系统:CentOS 7/8 或兼容发行版(如 Rocky、AlmaLinux)
  • 防火墙:firewalld
  • SSH 日志默认路径:/var/log/secure
  • 宝塔面板用户也适用(需安装 fail2ban)


一、安装 fail2ban
  1. # 安装 EPEL 源(如未安装)
  2. yum install epel-release -y

  3. # 安装 fail2ban
  4. yum install fail2ban -y
复制代码
安装完成后,服务位置:
  1. /usr/bin/fail2ban-client
复制代码

二、配置 fail2ban
默认配置文件路径:/etc/fail2ban/
我们需要做两个修改:
1. 编辑主配置文件:
复制默认配置,避免升级时被覆盖:
  1. cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
复制代码
然后编辑:
  1. nano /etc/fail2ban/jail.local
复制代码
找到 [sshd] 部分,修改如下:
  1. [sshd]
  2. enabled = true
  3. port    = ssh
  4. logpath = /var/log/secure
  5. maxretry = 5
  6. bantime = 3600
  7. findtime = 600
  8. backend = systemd
复制代码
含义解释:

maxretry:最多失败次数(5次)

findtime:在 600 秒内失败 5 次触发封禁

bantime:封禁时间(秒)


三、设置使用 firewalld 作为封禁后端
编辑 jail.local 中最上方 [DEFAULT] 区域,加上这行:
  1. banaction = firewallcmd-ipset
复制代码
确保 firewalld 已启动并运行:
  1. systemctl start firewalld
  2. systemctl enable firewalld
复制代码

四、启动并启用 fail2ban
  1. systemctl start fail2ban
  2. systemctl enable fail2ban
复制代码
查看运行状态:
  1. systemctl status fail2ban
复制代码

五、常用查看命令
  1. # 查看 fail2ban 是否生效
  2. fail2ban-client status

  3. # 查看 sshd 的保护情况
  4. fail2ban-client status sshd

  5. # 手动封禁一个 IP(例如 1.2.3.4)
  6. fail2ban-client set sshd banip 1.2.3.4

  7. # 手动解封
  8. fail2ban-client set sshd unbanip 1.2.3.4
复制代码


六、结合宝塔面板使用
宝塔自带防火墙偏静态,而 fail2ban 属于动态实时检测,可以作为补充使用:

防 SSH 爆破 → 启用 fail2ban 的 sshd 规则

防 FTP 爆破 → 还可配置 [vsftpd] 模块(需开启日志)



总结
fail2ban + firewalld 是一个非常轻量但有效的自动防御方案,基本配置一次,自动保护服务器,特别适合:

VPS、小型网站服务器

没有硬件防火墙的场景

频繁遇到 SSH 爆破、FTP 登录异常的用户



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2025 Suike Tech All Rights Reserved. 随客交流社区 (备案号:津ICP备19010126号) |Processed in 0.114522 second(s), 8 queries , Gzip On, MemCached On.
关灯 在本版发帖返回顶部
快速回复 返回顶部 返回列表