宝塔面板把复杂的 Linux 运维变成了“点点点”,但也因此成为全网扫描器的重点关照对象:8888 默认端口、默认安全入口、弱口令、明文 HTTP 登录面板……每一项都是现成的入侵入口。据速度网络安全团队统计,接入百度云防护后的高危告警里,针对宝塔面板登录页的暴力破解与漏洞利用扫描常年排在前三。本文按“面板入口 → 运行环境 → 系统纵深”三层递进,给出一套可直接落地的宝塔面板安全加固方案。
一、面板入口加固:把暴力破解挡在登录框之外
面板就是服务器的大门,大门不锁,其他加固都是白搭。以下三步按优先级执行。
1.1 修改默认端口并开启安全入口
打开宝塔面板 → 面板设置 → 安全设置:
- 面板端口:把默认的 8888 改为高位随机端口(如 28888),端口越冷门,越难被批量扫描命中;
- 安全入口:开启并设置随机前缀(如 /ab3k9x),访问面板必须携带入口路径才能打开登录页,能直接挡掉绝大多数自动化扫描;
- 面板 SSL:开启后使用 https 访问面板,避免登录密码在网络上明文传输。
命令行方式更直接,SSH 登录服务器执行 bt 命令,在弹出的菜单中选择:8 修改面板端口、9 修改面板用户、10 修改面板密码、14 查看默认信息。改完务必在云厂商安全组和宝塔防火墙里同步放行新端口,否则面板会失联。
1.2 面板登录三重防线
- 强密码:面板密码至少 16 位,大小写字母 + 数字 + 特殊符号混合,不要与服务器 root 密码相同;
- 两步验证:面板设置 → 安全设置 → 开启谷歌验证器,绑定手机后即使密码泄露也无法登录;
- 登录失败锁定:开启“连续失败 N 次锁定来源 IP”,与下面的 IP 白名单配合使用效果最佳。
1.3 限定面板访问来源
如果办公 IP 固定,直接在防火墙里只放行常用 IP 访问面板端口:
# 宝塔防火墙放行规则示例(仅允许办公 IP 访问面板端口 28888)
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=1.2.3.4 port port=28888 protocol=tcp accept'
firewall-cmd --reload
二、运行环境加固:堵住 PHP 执行与弱配置漏洞
面板安全了,接下来处理网站运行环境里最容易被打的点。
2.1 禁止上传目录执行 PHP
攻击者拿到上传权限后最常做的事,就是在 uploads 这类目录里丢一个 PHP 木马。在站点 Nginx 配置的 server 块中加入以下规则:
location ~* /(wp-content/uploads|data|upload|tmp|images)/.*\.(php|php5|phtml|pht)$ {
deny all;
return 403;
}
保存后在宝塔界面点“重载配置”生效(等效命令 nginx -s reload)。这一条能拦掉 90% 的图片马、附件马。
2.2 phpMyAdmin 访问控制
宝塔自带的 phpMyAdmin 默认端口 888,同样是扫描重点,建议:
- 用不到的站点直接卸载 phpMyAdmin;
- 必须保留时:修改默认端口,仅允许本机/内网访问,并给 /phpmyadmin 路径加 BasicAuth 认证;
- 数据库账号遵循最小权限原则,程序不需要超级权限就不要授权。
2.3 关闭危险 PHP 函数
宝塔 → 软件商店 → PHP 设置 → 禁用函数,将以下高危函数加入禁用列表(eval 请仅在完全清楚业务依赖时再考虑保留):
shell_exec, exec, system, passthru, popen, proc_open, pcntl_exec
保存后重启 PHP-FPM。若个别业务函数确实要用,用“排除目录”按需放行,而不是一刀切全部开启。
2.4 面板 API 保持关闭
宝塔面板设置中的 API 接口默认关闭就保持关闭;确需开启时,务必配置 IP 白名单和独立密钥,禁止使用默认密钥对外暴露。
三、系统纵深加固:SSH、防火墙与防篡改三板斧
3.1 SSH 防爆破
宝塔 → 安全 → SSH 安全管理,可一键开启:禁止 root 直接登录、修改 SSH 端口、仅允许密钥登录。命令行等效配置:
sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#\?Port .*/Port 2222/' /etc/ssh/sshd_config
systemctl restart sshd
3.2 防火墙最小化 + Fail2ban
只放行 80/443/SSH 端口/面板端口,其余一律拒绝;再用 Fail2ban 自动封禁爆破来源 IP:
yum install -y fail2ban
systemctl enable --now fail2ban
Fail2ban 默认监控 sshd 日志,配合宝塔“安全”菜单里的防火墙规则,能自动拉黑大量扫描 IP。
3.3 防篡改与计划任务巡检
开启宝塔防篡改插件保护站点目录;同时定期检查计划任务是否被植入恶意下载执行任务:
crontab -l
cat /etc/crontab
发现可疑的 curl/wget 下载执行任务立即删除,并溯源攻击入口。
总结
宝塔面板安全加固就三句话:入口要“藏”(改端口、开 SSL、限 IP、两步验证),环境要“堵”(禁 PHP 执行、封高危函数、锁 phpMyAdmin),系统要“锁”(SSH 禁 root、防火墙最小化、Fail2ban 防爆破、防篡改兜底)。以上配置在速度网络提供的云服务器上均可直接落地;如果你想一步到位,速度网络提供服务器安全巡检与加固服务,并支持接入百度云防护 WAF + 高防 CDN,从面板到业务层实现全链路防护。
