宝塔面板被爆破怎么办?动态口令 + Fail2ban + 端口防扫描三步加固
面板登录日志里出现一堆失败记录,大概率是面板端口被扫到了。先别慌:被扫到 ≠ 被攻破。只要面板入口的密码够强、又没开危险权限,通常扫不出结果;但暴露在公网的面板端口确实该加防护。本文按「判断 → 加固」的顺序,给出三层:面板侧动态口令认证、系统侧 Fail2ban、网络侧端口防扫描。
先判断:是不是真的在被爆破
判断依据在面板「安全」模块里,不用翻系统日志。进入「安全」> 安全概览,页面底部会显示「SSH 最近 5 条登录记录」和「宝塔面板最近 5 条登录记录」。
- 面板登录记录包含:IP 地址、登录时间、端口、状态(成功/失败)、浏览器。
- SSH 登录记录包含:IP 地址、登录时间、端口、状态、用户。
巡检时重点看这几类异常:陌生来源 IP、非常用时间段出现的成功登录、root 等高权限用户的异常登录,以及短时间内连续出现的失败登录。如果失败记录来自同一个 IP 且次数很多,基本可以确认是在被爆破。
另一个更省心的判断方式是登录告警。在「安全」> 安全配置里可以分别开启「面板登录告警」和「SSH 登录告警」,开启后只要有登录行为就会推送通知。告警通道支持微信公众号、邮箱、钉钉、企业微信、飞书;未配置告警通知则收不到消息。
面板侧:动态口令认证(TOTP)
这是最直接的一道门:给面板登录加一层动态验证码。动态口令认证采用动态产生的口令验证身份,即使密码泄露,攻击者拿不到一次性动态码也无法登录。
入口:面板左侧「设置」→ 顶部「安全设置」→「动态口令配置」。
开启步骤:
- 在弹出的设置窗口中勾选并同意接受风险。
- 使用堡塔 APP,或支持 TOTP 协议的身份验证器(如 Google Authenticator、Microsoft Authenticator)扫码绑定。
- 绑定后刷新页面,登录面板时除密码外还需输入动态验证码。

几点关键注意事项:
- 该功能基于 Google Authenticator 开发,堡塔 APP 支持安卓和 iOS,各大软件商店均可下载。
- 服务器时间与网络时间需一致,否则会验证失败。
- 开启后请立即绑定,以免出现面板无法登录的情况。
- 同一 IP 验证成功后 24 小时内无需再次验证。
- 如果无法验证,可在服务器命令行执行
bt 24取消动态口令认证。
系统侧:Fail2ban 防爆破
动态口令管的是面板这一扇门,Fail2ban 管的是整台服务器的入口。
Fail2ban 是一款基于 Python 开发的开源入侵防御工具,核心工作流程是 监控日志 → 检测异常 → 触发封禁 → 自动解封:它持续分析日志,发现异常访问后动态修改防火墙规则(如 iptables、ufw、nftables),自动封禁恶意来源 IP,一段时间后再自动解封,把人工巡检变成机器实时防护。

它主要提供四类能力:
- 站点保护:针对面板中通过 Nginx、Apache 部署的网站,覆盖 443 和 80 端口,提供「简单防 CC」和「防止站点扫描」。
- 服务保护:添加对应端口并设置访问限制,请求达到设定阈值后自动对来源 IP 执行封禁,实现针对特定端口的简单防 CC。
- IP 黑名单:对已知恶意 IP 或 IP 段,在系统层面彻底禁止其访问。
- IP 白名单:对公司 IP 或可信来源,加入后使其不受防护规则影响,避免误封。
建议遵循最小权限原则,合理配置封禁阈值和时间,避免误封正常用户;同时结合防火墙、密码策略等措施形成多层防护。
网络侧:端口防扫描
爆破的第一步是「找到你的端口」,端口防扫描专门针对这一步。
端口防扫描基于 Fail2ban 的能力实现,通过配置 Fail2ban 的 jail 完成:自动识别并封禁对服务器高频端口探测的恶意 IP,从源头降低被扫描、被爆破的概率。
入口:面板「安全」> 安全设置 > 端口防扫描。

操作很简单:进入页面后,若未安装 Fail2ban 会提示安装,点击「立即安装」;通常情况下安装 Fail2ban 后会自动开启端口防扫描规则,无需手动开启,若未开启则点击「开启」即可,等待完成后生效。
配合项:用安全评分查漏
三层加固做完,可以回到「安全」> 服务器安全概览看一眼安全评分。系统根据各项安全配置给出满分 100 分的综合评分,分「不安全 / 一般 / 安全」三档,官方建议定期查看并保持在 80 分以上。
其中和本次主题直接相关的检测项包括:面板登录动态口令认证、面板登录告警、SSH 防爆破、SSH 登录告警、SSH 默认端口、root 登录设置等。另一个值得顺手打开的是「未登录响应状态码」——设置为 404 可让扫描工具误以为面板不存在,降低被发现概率。
评分只是整体参考,不能代替对具体风险的核查。即使评分较高,只要存在紧急或高风险事件,也应先查看事件详情。
信息来源
本文事实以宝塔官方文档为准:
常见问题
怎么判断面板是不是在被爆破?
进入面板「安全」> 安全概览,看底部的「SSH 最近 5 条登录记录」和「宝塔面板最近 5 条登录记录」。重点看短时间内连续出现的失败登录、陌生来源 IP、非工作时间出现的成功登录。面板登录记录含 IP、时间、端口、状态、浏览器;SSH 登录记录含 IP、时间、端口、状态、用户。同时可开启面板登录告警和 SSH 登录告警实时收通知。
动态口令认证开了之后,手机丢了或验证器不能用怎么办?
动态口令认证基于 Google Authenticator 开发,绑定后同一 IP 验证成功 24 小时内无需再次验证。如果无法验证,可在服务器命令行执行 bt 24 取消动态口令认证。开启前先下载堡塔 APP 或支持 TOTP 的验证器(如 Google Authenticator、Microsoft Authenticator),并确认服务器时间与网络时间一致,否则会验证失败。
Fail2ban 和端口防扫描是什么关系?
端口防扫描基于 Fail2ban 的能力实现,通过配置 Fail2ban 的 jail 完成,安装 Fail2ban 后通常会自动开启端口防扫描规则。Fail2ban 插件本身还提供站点保护(80/443 端口简单防 CC、防止站点扫描)、服务保护、IP 黑/白名单等功能。
这些防护会不会误封正常访客或自己?
有误封的可能。Fail2ban 按「监控日志 → 检测异常 → 触发封禁 → 自动解封」工作,请求达到阈值会自动封禁来源 IP、随后自动解封。建议遵循最小权限原则,合理配置封禁阈值和时间,并把公司 IP 或可信来源加入 IP 白名单,避免误封正常用户和管理员。
服务器安全评分多少算安全?
安全评分满分 100 分,分「不安全 / 一般 / 安全」三档,官方建议定期查看并保持在 80 分以上。评分只是整体参考,即使评分较高,只要存在紧急或高风险事件,仍应先核查事件详情。