Guía para solucionar la vulnerabilidad de ejecución remota de código de Apache Log4j2 (CVE-2021-44228)
Esta sección describe cómo solucionar la vulnerabilidad de Apache log4j2 CVE-2021-44228. Actualmente, puede utilizar cualquiera de los siguientes métodos para corregir la vulnerabilidad:
Prerrequisitos
- Ha descargado el paquete de la herramienta de parche MRS_Log4j_Patch.tar.gz de la ruta de OBS. Haga clic en aquí para descargar.
- Ha determinado el nodo OMS activo en el clúster.
Generalmente, OMS se despliega en dos nodos, master1 y master2. Puede utilizar los siguientes comandos para determinar el nodo OMS activo. El nodo cuya salida del comando contiene active es el nodo OMS activo, y el nodo cuya salida del comando contiene espera es el nodo OMS en espera.
Para los clústeres cuya versión es anterior a MRS 3.x, utilice el siguiente comando:
sh /opt/Bigdata/*/workspace0/ha/module/hacom/script/get_harole.sh
Para los clústeres cuya versión es posterior a MRS 3.x, utilice el siguiente comando:
sh /opt/Bigdata/om-server*/OMS/workspace0/ha/module/hacom/script/get_harole.sh
Instalación del parche en nodos de clúster existentes
- Cargue MRS_Log4j_Patch.tar.gz en el directorio /home/omm del nodo OMS activo. Para obtener más información, consulte ¿Cómo cargo un archivo local a un nodo dentro de un clúster?.
- Ejecute los siguientes comandos para iniciar sesión en el nodo OMS activo como usuario root, modifique el permiso de la herramienta de parche, cambie a usuario omm y descomprima el paquete de herramienta de parche en el directorio actual:
chown omm:wheel -R /home/omm/MRS_Log4j_Patch.tar.gz
su - omm
cd /home/omm
tar -zxf MRS_Log4j_Patch.tar.gz
- En el archivo /home/omm/MRS_Log4j_Patch/bin/ips.ini, configure las direcciones IP (direcciones IP de todos los nodos del clúster actual) de los nodos donde se va a instalar el parche.
Configure una dirección IP en cada línea. No se permite ninguna línea vacía.
- Ejecute los siguientes scripts para instalar el parche:
cd /home/omm/MRS_Log4j_Patch/bin
nohup sh install.sh upgrade &
Ejecute el comando tail -f nohup.out para comprobar el estado de ejecución. Si se muestra "upgrade patch success.", la ejecución se ha completado.
- Inicie sesión en Manager. Para obtener más información, consulte Acceder a Manager. Reinicie los componentes afectados (se le aconseja realizar esta operación durante las horas no pico). Para obtener más información, consulte Lista de componentes afectados.
- (Opcional) Si desea instalar el parche para el cliente recién descargado, ejecute primero los siguientes comandos para instalar el parche para el paquete de componentes:
su - omm
cd /home/omm/MRS_Log4j_Patch/bin
nohup sh install.sh upgrade_package &
Ejecute el comando tail -f nohup.out para comprobar el estado de ejecución. Si se muestra "upgrade_package patch success.", la ejecución está completa.
Una vez completada la ejecución, el cliente descargado es el que tiene el parche instalado.
Este paso toma un largo período de tiempo y no es necesario reiniciar el componente después de realizar este paso.
Instalación del parche en nuevos nodos
- Deshabilite Enable Component durante el escalado horizontal. Para obtener más información sobre cómo escalar un clúster, consulte Escalamiento horizontal de un clúster.
- Cargue MRS_Log4j_Patch.tar.gz en el directorio /home/omm del nodo OMS activo. Para obtener más información, consulte ¿Cómo cargo un archivo local a un nodo dentro de un clúster?.
- Ejecute los siguientes comandos para iniciar sesión en el nodo OMS activo como usuario root, modifique el permiso de la herramienta de parche, cambie a usuario omm y descomprima el paquete de herramienta de parche en el directorio actual:
chown omm:wheel -R /home/omm/MRS_Log4j_Patch.tar.gz
su - omm
cd /home/omm
tar -zxf MRS_Log4j_Patch.tar.gz
- En el archivo /home/omm/MRS_Log4j_Patch/bin/ips.ini, configure las direcciones IP (Direcciones IP de los nuevos nodos en el clúster actual) de los nodos donde se va a instalar el parche.
Configure una dirección IP en cada línea. No se permite ninguna línea vacía.
- Ejecute los siguientes scripts para instalar el parche:
cd /home/omm/MRS_Log4j_Patch/bin
nohup sh install.sh upgrade &
Ejecute el comando tail -f nohup.out para comprobar el estado de ejecución. Si se muestra "upgrade patch success.", la ejecución se ha completado.
- Inicie sesión en Manager. Para obtener más información, consulte Acceder a Manager. Inicie las instancias en los nuevos nodos.
Desinstalación del parche
- Inicie sesión en el nodo OMS activo como usuario root y ejecute los siguientes comandos para desinstalar el parche:
su - omm
cd /home/omm/MRS_Log4j_Patch/bin
nohup sh install.sh rollback &
Ejecute el comando tail -f nohup.out para comprobar el estado de ejecución. Si se muestra "rollback patch success.", la ejecución está completa.
- Inicie sesión en Manager. Para obtener más información, consulte Acceder a Manager. Reinicie los componentes afectados (se le aconseja realizar esta operación durante las horas no pico). Para obtener más información, consulte Lista de componentes afectados.
- Realice la siguiente operación si ha realizado 6 en Instalación del parche en nodos de clúster existentes durante la instalación del parche y desea deshacer la modificación en el paquete de componentes:
Inicie sesión en el nodo OMS activo como usuario root y ejecute los siguientes comandos:
su - omm
cd /home/omm/MRS_Log4j_Patch/bin
nohup sh install.sh rollback_package &
Ejecute el comando tail -f nohup.out para comprobar el estado de ejecución. Si se muestra "rollback_package patch success.", la ejecución está completa.
(Opcional) Actualización del complemento de restablecimiento de contraseña de ECS
Huawei Cloud ECS proporciona la función de restablecimiento de contraseña con un solo clic. Si la contraseña de un ECS se pierde o caduca, puede utilizar esta función para restablecer la contraseña con unos pocos clics. El complemento de restablecimiento de contraseña es un proceso cliente que se ejecuta en el ECS y no proporciona ningún servicio de red externo. El complemento de restablecimiento de contraseña CloudResetPwdUpdateAgent utiliza el componente Log4j2 de Apache. Según el análisis y verificación del laboratorio de seguridad de Huawei Cloud, el complemento de restablecimiento de contraseña ECS no tiene riesgos de seguridad.
Para actualizar la versión de Log4j2 en este complemento, realice los siguientes pasos:
- Cargue MRS_Log4j_Patch.tar.gz en el directorio /home/omm del nodo OMS activo. Para obtener más información, consulte ¿Cómo cargo un archivo local a un nodo dentro de un clúster?.
- Ejecute los siguientes comandos para iniciar sesión en el nodo OMS activo como usuario root, modifique el permiso de la herramienta de parche, cambie a usuario omm y descomprima el paquete de herramienta de parche en el directorio actual:
chown omm:wheel -R /home/omm/MRS_Log4j_Patch.tar.gz
su - omm
cd /home/omm
tar -zxf MRS_Log4j_Patch.tar.gz
- En el archivo /home/omm/MRS_Log4j_Patch/bin/ips.ini, configure las direcciones IP (direcciones IP de todos los nodos del clúster actual) de los nodos donde se va a instalar el parche.
Configure una dirección IP en cada línea. No se permite ninguna línea vacía.
- Realice los siguientes pasos basados en el modo de inicio de sesión del nodo:
- Password login
Ejecute el siguiente comando:
nohup sh install.sh upgrade_resetpwdagent passwd:Login password &
Por ejemplo, si la contraseña es xyz123, ejecute el siguiente comando:
nohup sh install.sh upgrade_resetpwdagent passwd:xyz123 &
Ejecute el comando tail -f nohup.out para comprobar el estado de ejecución. Si se muestra "upgrade_resetpwdagent patch success.", la ejecución está completa.
- Key login
- Cargue el archivo de clave privada del usuario root al directorio /home/omm/MRS_Log4j_Patch/bin y asegúrese de que el grupo de propietarios del archivo sea root:root. Luego, ejecute los siguientes comandos:
chown root:root /home/omm/MRS_Log4j_Patch/bin/Key file
chmod 644 /home/omm/MRS_Log4j_Patch/bin/Key file
- Ejecute los siguientes comandos:
cd /home/omm/MRS_Log4j_Patch/bin
nohup sh install.sh upgrade_resetpwdagent privatekey:Path of the private key file &
Por ejemplo, si la ruta del archivo de clave privada es /home/omm/MRS_Log4j_Patch/bin/abc.pem, ejecute el siguiente comando:
nohup sh install.sh upgrade_resetpwdagent privatekey:/home/omm/MRS_Log4j_Patch/bin/abc.pem &
Ejecute el comando tail -f nohup.out para comprobar el estado de ejecución. Si se muestra "upgrade_resetpwdagent patch success.", la ejecución está completa.
- Cargue el archivo de clave privada del usuario root al directorio /home/omm/MRS_Log4j_Patch/bin y asegúrese de que el grupo de propietarios del archivo sea root:root. Luego, ejecute los siguientes comandos:
- Password login
Lista de componentes afectados
Versión de clúster de MRS |
Componente afectado |
---|---|
MRS 3.1.1 |
Hive, Oozie, Flink, Ranger y Tez |
MRS 3.1.0 |
Hive, Flink, Spark, Tez, Impala, Ranger, Presto y Oozie |
MRS 3.0.5 |
Hive, Flink, Spark, Tez, Impala, Ranger, Presto, Oozie, Storm, y Loader |
MRS 3.0.2 |
Hive, Flink, Spark, Tez, Ranger, Oozie, Storm, y Loader |
MRS 2.1.1 |
Hive, Tez, Storm, Loader, Impala, y Presto |
MRS 2.1.0 |
Loader, Hive, Storm, Presto, Impala, Tez, Spark, y HBase |
MRS 1.9.3 |
Loader, Hive, Tez, Spark, y Flink |
MRS 1.9.2 |
Loader, Hive, Tez, Spark, Flink, y Impala |
MRS 1.9.0 |
Loader, Hive, Spark, y Flink |
MRS 1.8.10 |
Loader y Storm |
MRS 1.7.1 |
Loader y Storm |