Apache Log4j2 远程代码执行漏洞(CVE-2021-44228)修复指导
本章节指导用户修复log4j2的CVE-2021-44228漏洞。目前有两种方式可以采用如下两种方式修复:
前提条件
- 从OBS路径中下载的补丁工具“MRS_Log4j_Patch.tar.gz”,下载路径:https://mrs-container1-patch-cn-south-1.obs.cn-south-1.myhuaweicloud.com/MRS_Common_Script/MRS_Log4j_Patch.tar.gz。
- 确认集群主OMS节点:
OMS节点一般为Master1和Master2节点,主OMS节点判断方法,执行以下命令,返回结果为active的节点为主OMS节点,返回结果为standby的节点为备OMS节点:
3.x之前版本:
sh /opt/Bigdata/*/workspace0/ha/module/hacom/script/get_harole.sh
3.x及之后版本:
sh /opt/Bigdata/om-server*/OMS/workspace0/ha/module/hacom/script/get_harole.sh
现有集群节点安装补丁
- 将“MRS_Log4j_Patch.tar.gz”上传至主OMS节点的“/home/omm”目录下。具体可参考如何上传本地文件到集群内节点?。
- 使用root用户登录主OMS节点,修改补丁工具相应权限,切到omm用户下,并解压补丁工具至当前目录。
chown omm:wheel -R /home/omm/MRS_Log4j_Patch.tar.gz
su - omm
cd /home/omm
tar -zxf MRS_Log4j_Patch.tar.gz
- 在“/home/omm/MRS_Log4j_Patch/bin/ips.ini”文件中配置需要打补丁的节点IP(当前集群所有节点IP)。
每行配置一个IP,中间不能有空行。
- 执行脚本安装补丁。
cd /home/omm/MRS_Log4j_Patch/bin
nohup sh install.sh upgrade &
通过tail -f nohup.out可查看执行情况(打印 “upgrade patch success.” 表示执行完成)。
- 登录Manager页面,重启受影响的组件,受影响组件请参考受影响组件列表。建议业务低峰期时执行重启操作。
- (可选)如果要新下载的客户端安装上补丁,需要先为部件包安装补丁,可执行如下命令:
su - omm
cd /home/omm/MRS_Log4j_Patch/bin
nohup sh install.sh upgrade_package &
通过tail -f nohup.out查看执行情况,打印“upgrade_package patch success.”表示执行完成。
执行完之后,重新下载的客户端就已经是安装补丁的客户端。
- 该步骤耗时比较长,且执行完之后不需要重启组件。
- 补丁安装完成后,不能删除补丁目录相关文件,否则会响补丁的卸载功能。
扩容节点安装补丁
- 扩容操作时关闭“启动组件”开关。
- 将“MRS_Log4j_Patch.tar.gz”上传至主OMS节点的“/home/omm”目录下。具体可参考如何上传本地文件到集群内节点?。
- 使用root用户登录主OMS节点,修改补丁工具相应权限,切到omm用户下,并解压补丁工具至当前目录。
chown omm:wheel -R /home/omm/MRS_Log4j_Patch.tar.gz
su - omm
cd /home/omm
tar -zxf MRS_Log4j_Patch.tar.gz
- 在“/home/omm/MRS_Log4j_Patch/bin/ips.ini”文件中配置需要打补丁的节点IP(当前集群扩容节点IP)。
每行配置一个IP,中间不能有空行。
- 执行脚本安装补丁。
cd /home/omm/MRS_Log4j_Patch/bin
nohup sh install.sh upgrade &
通过tail -f nohup.out可查看执行情况,打印“upgrade patch success.”表示执行完成。
- 登录Manager页面,启动新扩容节点上的实例。
补丁卸载方法
- 使用root用户登录主OMS节点,执行如下命令,卸载脚本:
su - omm
cd /home/omm/MRS_Log4j_Patch/bin
nohup sh install.sh rollback &
通过tail -f nohup.out可查看执行情况,打印“rollback patch success.”表示执行完成。
- 登录Manager页面,重启受影响的组件,受影响组件请参考受影响组件列表。建议业务低峰期时执行重启操作。
- 如果安装补丁时执行了现有集群节点安装补丁的6,且希望回退部件包中的修改,可在2执行完之后执行如下操作:
使用root用户登录主OMS节点,执行如下命令:
su - omm
cd /home/omm/MRS_Log4j_Patch/bin
nohup sh install.sh rollback_package &
通过tail -f nohup.out查看执行情况(打印“rollback_package patch success.”表示执行完成)。
ECS重置密码插件升级(可选)
华为云ECS服务提供了一键式重置密码功能,弹性云服务器的密码丢失或过期时,可使用该功能进行一键式重置密码。重置密码插件为ECS内部运行的客户端进程,不对外提供任何网络服务,重置密码插件CloudResetPwdUpdateAgent使用了Apache Log4j2组件,经华为云安全实验室分析验证,ECS重置密码插件无可利用条件,无安全风险。
如果用户需要升级该插件中的Log4j2版本,可通过下面的步骤升级插件:
- 将“MRS_Log4j_Patch.tar.gz”上传至主OMS节点的“/home/omm”目录下。具体可参考如何上传本地文件到集群内节点?。
- 使用root用户登录主OMS节点,修改补丁工具相应权限,切到omm用户下,并解压补丁工具至当前目录。
chown omm:wheel -R /home/omm/MRS_Log4j_Patch.tar.gz
su - omm
cd /home/omm
tar -zxf MRS_Log4j_Patch.tar.gz
- 在“/home/omm/MRS_Log4j_Patch/bin/ips.ini”文件中配置需要打补丁的节点IP(当前集群所有节点IP)。
每行配置一个IP,中间不能有空行。
- 根据节点登录方式执行以下步骤:
- 密码登录
执行以下命令:
nohup sh install.sh upgrade_resetpwdagent passwd:登录密码 &
例如密码为xyz123,则命令为:
nohup sh install.sh upgrade_resetpwdagent passwd:xyz123 &
通过tail -f nohup.out查看执行情况,打印“upgrade_resetpwdagent patch success.”表示执行完成。
- 密钥登录
- 将root用户对应的私钥文件上传到“/home/omm/MRS_Log4j_Patch/bin”目录下,保证文件的属组为root:root,执行命令:
chown root:root /home/omm/MRS_Log4j_Patch/bin/密钥文件
chmod 644 /home/omm/MRS_Log4j_Patch/bin/密钥文件
- 执行以下命令
cd /home/omm/MRS_Log4j_Patch/bin
nohup sh install.sh upgrade_resetpwdagent privatekey:私钥文件路径 &
例如私钥文件路径为‘/home/omm/MRS_Log4j_Patch/bin/abc.pem’,则执行命令为:
nohup sh install.sh upgrade_resetpwdagent privatekey:/home/omm/MRS_Log4j_Patch/bin/abc.pem &
通过tail -f nohup.out查看执行情况,打印“upgrade_resetpwdagent patch success.”表示执行完成。
- 将root用户对应的私钥文件上传到“/home/omm/MRS_Log4j_Patch/bin”目录下,保证文件的属组为root:root,执行命令:
- 密码登录
受影响组件列表
MRS集群版本 |
受影响组件 |
---|---|
MRS 3.1.1 |
Hive、Oozie、Flink、Ranger、Tez |
MRS 3.1.0 |
Hive、Flink、Spark、Tez、Impala、Ranger、Presto、Oozie |
MRS 3.0.5 |
Hive、Flink、Spark、Tez、Impala、Ranger、Presto、Oozie、Storm、Loader |
MRS 3.0.2 |
Hive、Flink、Spark、Tez、Ranger、Oozie、Storm、Loader |
MRS 2.1.1 |
Hive、Tez、Storm、Loader、Impala、Presto |
MRS 2.1.0 |
Loader、Hive、Storm、Presto、Impala、Tez、Spark、HBase |
MRS 1.9.3 |
Loader、Hive、Tez、Spark、Flink |
MRS 1.9.2 |
Loader、Hive、Tez、Spark、Flink、Impala |
MRS 1.9.0 |
Loader、Hive、Spark、Flink |
MRS 1.8.10 |
Loader、Storm |
MRS 1.7.1 |
Loader、Storm |