怎么在宝塔面板上安装配置Fail2ban防爆破_通过软件商店下载并设置拦截规则

夜枫大大_9497

夜枫大大_9497

2026-04-09

571人浏览

原创

fail2ban在宝塔中安装后需检查三件事:服务状态是否active(running)、防火墙后端(firewalld/iptables)是否匹配、ssh日志文件(/var/log/secure或auth.log)是否存在且含失败记录;nginx防爆破需确保日志含401/403状态码、路径用通配符、优先监控waf日志;sshd规则需调优findtime/maxretry/bantime并配置ignoreip;自定义filter正则须适配实际日志格式且添加ignoreregex,最后用fail2ban-regex验证。

怎么在宝塔面板上安装配置fail2ban防爆破_通过软件商店下载并设置拦截规则

宝塔面板里装 Fail2ban 防爆破,不用碰命令行也能搞定,但直接点“安装”就走人,大概率封不住攻击 IP——关键在规则是否匹配日志格式、防火墙后端是否对得上。

宝塔软件商店安装 Fail2ban 后必须检查的三件事

Fail2ban 插件在宝塔「软件商店」→「已安装」里出现,只代表服务进程跑起来了,不代表它真在干活:

  • systemctl status fail2ban 必须显示 active (running),否则后续所有配置都无效
  • 确认后台用的是 firewalld 还是 iptables:宝塔 7.8+ 默认用 firewalld,但 Fail2ban 默认配置可能仍指向 iptables,会导致 banaction 失效,IP 封不了
  • 检查 /var/log/secure(CentOS/RHEL)或 /var/log/auth.log(Debian/Ubuntu)是否存在且有 SSH 登录失败记录,否则 [sshd] 规则根本没日志可读

在宝塔界面设置 Nginx 防爆破规则时,logpath 容易填错

宝塔的 Fail2ban 插件界面允许你为 Nginx 站点添加自定义规则,但「日志路径」字段不能只写 /www/wwwlogs/xxx.log 就完事:

  • Nginx 访问日志默认不记录状态码为 401 或 403 的暴力尝试,得先在站点配置里加 log_format 显式记录,否则 Fail2ban 找不到匹配模式
  • 宝塔生成的站点日志路径带日期后缀(如 xxx.log-20260409),而 Fail2ban 默认只监控当前文件名,需改用通配符路径:/www/wwwlogs/xxx.log*
  • 如果用了宝塔的「防CC」或「WAF」插件,真实请求可能被提前拦截,Nginx 日志里压根没记录,此时应监控 WAF 日志(路径类似 /www/server/panel/plugin/btwaf/logs/)而非 Nginx 原生日志

启用 sshd 规则后仍被扫,大概率是 findtime/maxretry 不匹配实际攻击节奏

宝塔界面勾选「SSH 暴力破解防护」后,底层仍是读取 /etc/fail2ban/jail.local 里的 [sshd] 段。常见失灵原因:

  • findtime = 600(10 分钟)太长:现在脚本攻击常在 30 秒内发完 5 次请求,maxretry = 5 却卡在 10 分钟窗口,等于放行
  • bantime = 3600(1 小时)太短:攻击者换批 IP 继续扫,不如设成 86400(24 小时)或 -1(永久),尤其对高频扫描 IP
  • 没加白名单:ignoreip 里漏了你的办公公网 IP,一重启 Fail2ban 就把自己锁在外面,只能靠 VNC 或控制台硬进

自定义 filter 规则时,正则写错不会报错,但完全不触发

比如你想针对 WordPress 后台爆破(/wp-login.php),新建 filter 文件 /etc/fail2ban/filter.d/wp-login.conf,里面 failregex 写成:

failregex = ^<host> -.*"(POST|GET) /wp-login\.php</host>

这行看着像那么回事,但实际会失效,因为:

  • Nginx 日志默认没有 - 分隔符后的用户字段,<host> -.*</host> 会匹配失败;正确写法是 ^<host>.*"(POST|GET) /wp-login\.php</host>
  • 没加 ignoreregex:正常用户刷新页面也会带 wp-login.php,得排除 HTTP/1.1" 200 成功响应,否则自己登录都被封
  • 测试正则是否生效不能只看界面提示,得手动跑:fail2ban-regex /www/wwwlogs/your-site.log /etc/fail2ban/filter.d/wp-login.conf

真正难的不是写几行配置,而是确认日志里真有你要抓的那条记录、正则真能把它揪出来、防火墙真把 IP 加进了黑名单——这三个环节断一个,Fail2ban 就是摆设。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
宝塔面板部署ThinkPHP6项目与LNMP环境配置实践
宝塔面板部署ThinkPHP6项目与LNMP环境配置实践

本专题围绕宝塔面板在 ThinkPHP6 项目部署中的实际应用展开,系统讲解 LNMP 环境一键搭建、站点创建、域名绑定、伪静态配置以及 PHP 版本切换等关键操作。内容还包括数据库配置、项目上传部署、运行目录设置及常见部署问题排查。通过完整上线流程演示,帮助开发者快速实现 ThinkPHP 项目的服务器部署与稳定运行,提升网站上线效率与运维能力。

2026.03.23

595

15

宝塔面板网站安全加固与防攻击配置实践
宝塔面板网站安全加固与防攻击配置实践

本专题围绕宝塔面板在网站安全防护中的应用展开,系统讲解防火墙配置、SSH 安全策略、登录保护、端口管理及恶意访问拦截机制。内容涵盖 CC 攻击防护、文件权限设置、敏感目录保护及安全日志分析,帮助用户全面提升服务器安全性。

2026.03.25

72

17

宝塔面板多站点管理与虚拟主机配置实践
宝塔面板多站点管理与虚拟主机配置实践

本专题讲解如何通过宝塔面板实现多站点部署与统一管理,包括站点创建、域名绑定、子站配置及资源隔离策略。通过实战案例,帮助用户高效管理多个网站项目,提高服务器利用率。

2026.03.25

179

21

宝塔面板Nginx性能优化与高并发配置实践
宝塔面板Nginx性能优化与高并发配置实践

本专题围绕宝塔环境下的 Nginx 优化展开,深入讲解缓存策略、连接数调优、Gzip 压缩、静态资源加速及反向代理配置。帮助用户提升网站访问速度与并发处理能力。

2026.03.25

856

29

宝塔面板数据库管理与MySQL性能调优实践
宝塔面板数据库管理与MySQL性能调优实践

本专题讲解宝塔面板中数据库管理与优化技巧,包括数据库备份恢复、慢查询日志分析、索引优化及连接数配置。通过实际案例,帮助用户提升数据库运行效率。

2026.03.25

221

25

宝塔面板SSL证书部署与HTTPS配置实践
宝塔面板SSL证书部署与HTTPS配置实践

本专题围绕网站 HTTPS 部署展开,讲解 SSL 证书申请、自动续签、强制 HTTPS 跳转及混合内容问题解决方案,提升网站安全与 SEO 表现。

2026.03.25

569

25

宝塔面板定时任务与自动化运维实践
宝塔面板定时任务与自动化运维实践

本专题讲解宝塔定时任务功能的使用,包括计划任务创建、Shell 脚本执行、日志管理及自动备份策略,帮助用户实现服务器自动化运维。

2026.03.25

187

23

宝塔面板FTP与文件权限管理实践
宝塔面板FTP与文件权限管理实践

本专题围绕文件管理与权限控制展开,讲解 FTP 创建、用户权限分配、文件读写控制及安全上传策略,保障网站文件安全。

2026.03.25

172

19

宝塔面板PHP环境配置与多版本切换实践
宝塔面板PHP环境配置与多版本切换实践

本专题讲解宝塔中 PHP 环境的配置方法,包括版本切换、扩展安装、运行参数优化及错误日志分析,适用于多项目运行场景。

2026.03.25

326

25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习