网站后台被连续爆破、日志里全是扫描器留下的404探针,手动封IP根本封不过来,宝塔面板Fail2ban IP封禁就是专门治这种场景的自动封禁方案,今天这篇不绕弯,直接带你从安装、配置到验证,把恶意IP自动拉黑全程跑一遍。
先搞清Fail2ban在宝塔里干什么
Fail2ban的核心动作就三步:盯日志、数错误、封IP,比如同一个IP在300秒内连续输错SSH密码5次,Fail2ban立刻调系统防火墙把这个IP拉黑,宝塔面板把它做成了可视化插件,你不需要去背jail.local那一堆配置。
宝塔面板Fail2ban IP封禁实操,自动拉黑扫描与爆破IP
它最适合两类场景:
- SSH端口被暴力破解。
- 网站被扫描器扫
wp-login.php、phpmyadmin、.env等敏感路径。
配置正确后,恶意IP会被自动关进“小黑屋”,比人工封快得多。
安装Fail2ban:先别急着点启动
1 软件商店安装
画面切到:宝塔面板左侧菜单 → 软件商店 → 右上角搜索框输入
fail2ban。
找到 Fail2ban 插件后点“安装”,等进度条跑完。
2 安装后先看设置
安装完成后,回到“软件商店”的“已安装”列表,找到 Fail2ban,点“设置”。
刚装完服务一般是“停止”状态,这里记住一个顺序:先配白名单,再配保护项,最后启动服务,不要一上来就点启动,否则你后面测试时可能先把自己封了。
关键配置:先白名单,后封禁
1 添加忽略IP,防止自己门都进不来
在 Fail2ban 设置页面找到“忽略IP”或“IP白名单”。
关键配置特写:
忽略IP:你的公网IP, 192.168.1.0/24
你的公网IP:打开搜索引擎搜“我的IP”,复制下来。168.1.0/24:本地局域网段,按你自己的实际网段写。- 多个IP用英文逗号分隔,或者按面板提示一行一个。
这一步没做,后面你连续输错几次密码,面板和SSH可能一起被 Fail2ban 封掉,就得换机器解封了。
2 开启SSH保护
找到“保护服务”区域,把 SSH 打开。
这里有几个参数要看一下:
最大重试次数:5次
查找时间:300秒
封禁时间:3600秒
- 最大重试次数:建议3到5次,设太大,暴力破解能试很多次;设太小,自己手滑输错就中招。
- 查找时间:默认300秒,意思是300秒内失败5次就触发。
- 封禁时间:第一次先设3600秒,确认规则不会误伤后,再改成86400秒或更长。
如果你改过SSH端口,一定要确认 Fail2ban 里的端口和你实际配置一致。
3 网站保护:日志路径是命门
切到“网站保护”或“WEB保护”标签页,这是宝塔面板Fail2ban IP封禁最容易出错的地方。
以 Nginx 为例,网站错误日志路径通常长这样:
/www/wwwlogs/你的域名.error.log
也可能是访问日志:
/www/wwwlogs/你的域名.log
不要照抄教程里的路径,画面切到:网站 → 你的站点 → 设置 → 日志,看宝塔实际记录的日志文件名。
确认路径后,回到 Fail2ban 的网站保护配置里添加,多个站点就添加多条,如果面板提供“批量添加网站”,也建议先手动确认一个站点能正常触发,再批量加。
这里还有一个前提:网站日志本身必须是开启状态,如果日志关闭,Fail2ban 没有输入源,等于空转。
启动服务并验证IP封禁
配置完成后,启动 Fail2ban 服务。
画面切到:Fail2ban 设置页顶部,服务状态变为 运行中。
然后打开“屏蔽列表”,初始应该是空的。
1 做一个触发测试
用手机流量或者另一台机器,连续输错SSH密码,达到你设置的最大重试次数,等30到90秒,回到“屏蔽列表”看是否出现对应IP。
如果不想真被锁在测试机外面,可以先在测试机上不操作,单纯从面板命令行查看:
fail2ban-client status sshd
输出里会包含被封锁的IP数量,多刷新几次,数字增加说明规则生效。
常见错误提醒:多数不封禁都栽在这几条
- 日志路径写错:这是最高频错误,照抄别人路径,自己不核对,Fail2ban 永远读不到日志。
- 忘了加白名单:自己反复测试后被封,面板、SSH都进不去。
- 改完配置不重启:添加日志路径、修改白名单或重试次数后,必须保存并重启/重载 Fail2ban 服务。
- 网站日志没开:站点设置里没有开启日志,Fail2ban 根本看不到攻击行为。
- 重试次数和查找时间设置太宽:攻击者试了几十次都不触发,等于没保护。
- 系统防火墙没启动:Fail2ban 是调用系统防火墙封IP,宝塔面板左侧“安全”里要确认系统防火墙已启用。
- CDN/反向代理后全是节点IP:如果网站套了CDN,需要在站点或面板中恢复真实IP,不然封的可能是CDN节点。
误封后怎么快速解除
如果发现自己被误封,先不要慌。
点开 Fail2ban 的“屏蔽列表”,找到自己的IP,点“解除封锁”或“移除”。
也可以命令行执行:
fail2ban-client unban <你的IP>
解封后,马上把这个IP加入“忽略IP”白名单,再重新加载配置,避免下次又被封。
宝塔面板Fail2ban IP封禁的核心不是“装完就完事”,而是三点:日志路径要准、白名单要先加、参数别设太离谱,搞定这三点,多数扫描和爆破IP会被自动挡在门外,定期瞄一眼“屏蔽列表”和“日志”,你就能很直观地看到哪些IP在撞门。


