宝塔面板被扫描是常态。我做过一次统计:一台新服务器开放 8888 端口,平均 6 小时就会收到第一次撞库尝试,24 小时内会有上百次。默认配置能跑,但不安全。
下面七项,是我每次交付前都会过一遍的清单。
一、改掉默认端口
8888 是宝塔的默认端口,全网扫描器都知道。改成 10000-65535 之间的随机值,扫描命中率立刻降到接近零。
改完记得两件事:云厂商安全组要同步放行新端口,旧端口要关掉;改之前先确认新端口没被占用。
二、开启面板 SSL
面板走 HTTPS,登录密码才不会被中间人截获。宝塔自带免费证书申请,一分钟搞定。开启后访问 https://IP:端口,浏览器有证书警告是正常的(因为是 IP 证书),点继续即可。
三、开启授权 IP 或二次验证
如果你的办公 IP 固定,直接开"授权 IP 访问",只有白名单能打开面板。IP 不固定的,开面板二次验证(绑定微信或谷歌验证器)。
这两项是投入产出比最高的设置,五分钟能做完,能挡掉 95% 的暴力破解。
四、数据库不要用 root 远程连接
默认安装的 MySQL,root 账号往往允许任意主机连接。正确做法:
- root 只允许 localhost 登录。
- 每个站点建独立数据库用户,权限只给到自己的库。
- 3306 端口不对公网开放,安全组里直接删掉。
需要远程管理数据库时,用 SSH 隧道或者面板自带的 phpMyAdmin,别直接暴露端口。
五、网站目录权限与防跨站
目录 755、文件 644、属主 www,这是标准配置。不要为了省事给 777——那意味着任何脚本都能往目录里写文件,包括木马。
上传目录要单独处理:允许写入,但禁止执行 PHP。宝塔的"网站目录"设置里有"防跨站攻击"开关,多站点同服务器时必须打开,否则一个站被攻破,其他站跟着沦陷。
六、防火墙与安全组双保险
云厂商的安全组是第一层,服务器内的防火墙是第二层,两层都要配。
| 端口 | 是否放行 | 说明 |
|---|---|---|
| 22 | 建议限制来源 IP | SSH,能改端口更好 |
| 80 / 443 | 放行 | 网站访问 |
| 面板端口 | 限制来源 IP | 不要全开 |
| 3306 / 6379 | 禁止 | 数据库与缓存,绝不对公网 |
| 888 / 8888 | 禁止 | phpMyAdmin 默认端口,别用 |
宝塔的防火墙插件还能按地区屏蔽,如果客户只在国内,把高风险地区段屏蔽掉,日志里的攻击量会明显下降。
七、日志与告警
开启面板操作日志、网站访问日志、SSH 登录日志。日志保留至少 30 天,出问题时能回溯。宝塔的"监控"里可以设置 CPU、内存、磁盘告警,超过阈值发邮件或微信。
磁盘告警尤其重要。日志写满磁盘导致 MySQL 无法写入,是网站"突然打不开"的常见原因之一。
上线前的验证方法
- 用手机流量(非公司网络)访问面板端口,应该打不开。
- 用在线端口扫描工具扫一遍,只应看到 80 和 443。
- 访问
/config.php.bak、/.git/config这类敏感路径,应返回 404。 - 在网站根目录放一个测试 PHP 文件,访问后应正常执行;放到上传目录,应被拒绝。
七项里最该先改的
面板端口、安全入口、强密码、二次验证,这四项先改;再关掉不必要的 SSH 密码登录,改用密钥;最后配好防火墙和备份。
面板暴露在公网,每天都会被扫。改完这四项,绝大多数暴力破解就进不来。
面板地址不要用默认的 8888,安全入口和二次验证都打开。SSH 改用密钥登录,密码登录关掉。
常见问题
改了端口面板打不开了
先看安全组,再看服务器防火墙,最后用 SSH 执行 bt 命令查看当前端口。三项对一遍基本能找回。
免费版够不够安全
够。上面七项免费版都能做。企业版多的是加固扫描、入侵检测这类自动化能力,属于锦上添花。
要不要装杀毒软件
Linux 上装 ClamAV 有用但有限,主要靠权限和更新。真正的防线是不用破解版插件、及时打补丁。
安全配置之外,日常备份同样重要。备份策略见网站备份的三二一原则。