当前位置:首页 > 知识

宝塔面板漏洞

宝塔面板漏洞:一次本可避免的宝塔灾难

2022年9月,一个编号为CVE-2022-42951的面板漏洞在安全圈炸开了锅。这不是漏洞什么高深莫测的零日漏洞,而是宝塔宝塔面板Linux版7.9.2及以下版本中,数据库管理接口未做严格鉴权——只要请求里带上特定的面板参数,就能直接绕过登录,漏洞拿到服务器root权限。宝塔我亲眼见过一台配置尚可的面板云服务器,在漏洞曝光后不到两小时就被扫描器盯上,漏洞数据库被删得干干净净,宝塔只留下一封索要0.5个比特币的面板勒索信。

宝塔面板的漏洞用户量太大了。小到个人博客,宝塔大到中小企业的面板生产环境,很多人图省事,漏洞装完面板就用默认端口8888,密码设成admin123。这个漏洞的可怕之处在于,攻击者根本不需要猜密码——直接构造一个HTTP请求,把`/database`接口的`db_name`参数塞进恶意代码,就能执行任意SQL语句。更讽刺的是,官方在7.9.3版本里悄悄修复了它,但没在更新日志里明说,导致大量用户压根没意识到自己暴露在风险中。

我认识一个做电商的朋友,他的网站就是栽在这上面。那天凌晨三点,监控告警弹出来,他爬起来一看,整个订单表被清空,备份文件也被删了。查日志发现,攻击者用的是扫描工具批量探测,逮着没升级的宝塔面板就下手。他后来跟我复盘,说安装面板时为了省事,直接用了官方默认配置,连防火墙都没改端口。这能怪谁?宝塔确实降低了建站门槛,但门槛低了,安全意识也跟着被拉低了。

这类漏洞背后有个更普遍的问题:国产运维工具在快速迭代时,安全测试经常跟不上功能开发。宝塔团队在2022年还出过另一个漏洞,PHPMyAdmin的访问控制被绕过,同样是鉴权缺失。一次两次可以说是疏忽,但接二连三地犯同类错误,就不得不让人怀疑他们的SDL(安全开发生命周期)流程是不是形同虚设。

说句掏心窝的话,我并不是劝大家别用宝塔。对于没专职运维的个人站长,它确实方便。但你要明白,方便和安全往往是跷跷板的两头。至少得做到三件事:一是把面板默认端口改掉,二是开启面板的BasicAuth认证,三是每周手动检查一次官方更新日志,别只依赖面板里的自动升级提示——那个提示有时候会慢半拍。

那次事件之后,我把自己所有服务器的宝塔面板都卸载了,换回纯命令行加Webmin管理。折腾了几天,但心里踏实。不是宝塔不好,而是我不想把身家性命押在一个连漏洞详情都藏着掖着的闭源工具上。当然,这只是我的个人选择,你要是觉得方便大于风险,那也随你。只是记住,服务器上跑着的是你的数据,不是宝塔公司的数据。

分享到: