文档首页/ MapReduce服务 MRS/ 服务公告/ 漏洞公告/ Apache Log4j2 远程代码执行漏洞(CVE-2021-44228)修复指导
更新时间:2024-08-05 GMT+08:00

Apache Log4j2 远程代码执行漏洞(CVE-2021-44228)修复指导

本章节指导用户修复log4j2的CVE-2021-44228漏洞。目前有两种方式可以采用如下两种方式修复:

前提条件

  • 从OBS路径中下载的补丁工具“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

现有集群节点安装补丁

  1. 将“MRS_Log4j_Patch.tar.gz”上传至主OMS节点的“/home/omm”目录下。具体可参考如何上传本地文件到集群内节点?
  2. 使用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

  3. 在“/home/omm/MRS_Log4j_Patch/bin/ips.ini”文件中配置需要打补丁的节点IP(当前集群所有节点IP)。

    每行配置一个IP,中间不能有空行。

  4. 执行脚本安装补丁。

    cd /home/omm/MRS_Log4j_Patch/bin

    nohup sh install.sh upgrade &

    通过tail -f nohup.out可查看执行情况(打印 “upgrade patch success.” 表示执行完成)。

  5. 登录Manager页面,重启受影响的组件,受影响组件请参考受影响组件列表。建议业务低峰期时执行重启操作。
  6. (可选)如果要新下载的客户端安装上补丁,需要先为部件包安装补丁,可执行如下命令:

    su - omm

    cd /home/omm/MRS_Log4j_Patch/bin

    nohup sh install.sh upgrade_package &

    通过tail -f nohup.out查看执行情况,打印“upgrade_package patch success.”表示执行完成。

    执行完之后,重新下载的客户端就已经是安装补丁的客户端。

    • 该步骤耗时比较长,且执行完之后不需要重启组件。
    • 补丁安装完成后,不能删除补丁目录相关文件,否则会响补丁的卸载功能。

扩容节点安装补丁

  1. 扩容操作时关闭“启动组件”开关。

  2. 将“MRS_Log4j_Patch.tar.gz”上传至主OMS节点的“/home/omm”目录下。具体可参考如何上传本地文件到集群内节点?
  3. 使用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

  4. 在“/home/omm/MRS_Log4j_Patch/bin/ips.ini”文件中配置需要打补丁的节点IP(当前集群扩容节点IP)。

    每行配置一个IP,中间不能有空行。

  5. 执行脚本安装补丁。

    cd /home/omm/MRS_Log4j_Patch/bin

    nohup sh install.sh upgrade &

    通过tail -f nohup.out可查看执行情况,打印“upgrade patch success.”表示执行完成。

  6. 登录Manager页面,启动新扩容节点上的实例。

补丁卸载方法

  1. 使用root用户登录主OMS节点,执行如下命令,卸载脚本:

    su - omm

    cd /home/omm/MRS_Log4j_Patch/bin

    nohup sh install.sh rollback &

    通过tail -f nohup.out可查看执行情况,打印“rollback patch success.”表示执行完成。

  2. 登录Manager页面,重启受影响的组件,受影响组件请参考受影响组件列表。建议业务低峰期时执行重启操作。
  3. 如果安装补丁时执行了现有集群节点安装补丁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版本,可通过下面的步骤升级插件:

  1. 将“MRS_Log4j_Patch.tar.gz”上传至主OMS节点的“/home/omm”目录下。具体可参考如何上传本地文件到集群内节点?
  2. 使用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

  3. 在“/home/omm/MRS_Log4j_Patch/bin/ips.ini”文件中配置需要打补丁的节点IP(当前集群所有节点IP)。

    每行配置一个IP,中间不能有空行。

  4. 根据节点登录方式执行以下步骤:

    • 密码登录

      执行以下命令:

      nohup sh install.sh upgrade_resetpwdagent passwd:登录密码 &

      例如密码为xyz123,则命令为:

      nohup sh install.sh upgrade_resetpwdagent passwd:xyz123 &

      通过tail -f nohup.out查看执行情况,打印“upgrade_resetpwdagent patch success.”表示执行完成。

    • 密钥登录
      1. 将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/密钥文件

      2. 执行以下命令

        su - omm

        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.”表示执行完成。

受影响组件列表

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