基于宝塔面板搭建的Halo站点升级:修复log4j漏洞

郎家岭伯爵 2022年02月09日 472次浏览

背景

前端时间曝出Java的log4j的漏洞,此漏洞影响到Halo站点。

Halo站点在1.4.17版本得到了修复,因此在1.4.17之前的版本均需要升级修复的。

实现

Halo官方升级方案

Halo官方给出了正式的升级方案。

Halo官方给出的是纯Linux服务器环境的升级方案。由于本站是基于腾讯云的宝塔面板搭建的,因此官方方案稍微有些不适用。

基于宝塔面板的升级方案

宝塔面板搭建Halo站点

升级之前需要稍微了解基于宝塔面板的Halo站点的搭建

由于此种部署方案是 Supervisor 添加守护进程的方式来实现的,因此在完成下列操作之后重启守护进程即可

登录云服务器

腾讯云的轻量应用服务器为远程登录实例提供两种用户凭证:密码和 SSH 密钥对,如果忘记了SSH登录的账号密码,可参考此腾讯云官方文档进行操作登录。

备份数据以及旧的运行包(重要)!

假设存放运行包的路径为 ~/app,运行包的文件名为 halo.jar,如有不同,下列命令请视自己服务器保存文件的情况进行修改

备份旧版本站点的数据:

# 站点数据的默认位置为 /home/halo
cp -r ~/.halo  ~/.halo.1.4.11

.halo为隐藏目录,需要通过ls -a命令才可以查看到。

备份旧版本站点的jar包:

# jar包的默认位置为 /home/halo/app
cd ~/app && mv halo.jar halo.jar.1.4.11

下载新版本的Halo站点包

下载新的Halo站点包,并且-O重命名为halo.jar,覆盖旧版本的jar包:

# 下载的新版本jar包也根据自己实际情况 cd 到指定目录。
cd ~/app && wget https://dl.halo.run/release/halo-1.4.17.jar -O halo.jar

Halo官方也提供了其它的下载源,如果下载速度慢的话也可自行切换下载源。

宝塔面板中重启守护进程

在宝塔面板中找到站点创建之初的Supervisor守护进程,重启进程即可。

宝塔面板中重启守护进程

升级成功

升级成功

腾讯云安全检测通过

总结

Halo站点涉及到log4j2的漏洞,1.4.17之前的版本是需要升级修复的。