详细说明官方版宝塔的自动更新机制

22次阅读

共计 482 个字符,预计需要花费 2 分钟才能阅读完成。

官方版宝塔实际上是有个自动更新机制,可以在不经过你同意的情况下自动更新你服务器的面板文件。

触发入口是 task.py 和 check_msg.py 的 PluginLoader.daemon_panel() 方法,通过 BTTask 进程 10 分钟调用 1 次
该方法内部执行 PluginLoader.so 里面的 check_panel_auth 方法
该方法内先请求 https://check.bt.cn/api/panel/check_files 检查是否有需要更新的文件,POST 参数有“面板版本、绑定账号 ID、IP 地址”
大多数情况都会返回 ” 当前版本无需校验文件完整性 ”
如果有返回,则返回内容是一个 [文件名、文件 MD5、文件内容] 的列表,然后会逐一对比文件 MD5,MD5 不一致的则写入新的文件内容。
如果有写入文件的操作,则在最后执行 bt restart 重启面板

此自动更新机制应该是为了在爆出高危漏洞统一更新面板文件,避免出现像之前那样漏洞修复慢的情况。但是也不排除被人恶意利用,定向给你服务器写入木马文件。当然宝塔是大公司,相信他们肯定不会这样做并加强相关安全措施(排除 JC 办案需要等情况)。

正文完
 0