Saltar al contenido

Mitigación de la Vulnerabilidad Apache Log4j2 JNDI

Resumen

Esta página resume las vulnerabilidades de Apache Log4j2, describe su impacto en los productos de Jitterbit y explica cómo se mitigaron las vulnerabilidades.

Descubrimiento de Vulnerabilidades

El 9 de diciembre de 2021, una vulnerabilidad crítica de día cero fue revelada por Apache que afecta a Apache Log4j2 (CVE-2021-44228). Apache reveló una vulnerabilidad relacionada adicional el 14 de diciembre de 2021 (CVE-2021-45046).

Mitigación para Agentes Privados

El 16 de diciembre de 2021, Jitterbit realizó un mantenimiento de emergencia para abordar las vulnerabilidades de Apache Log4j2.

Después de la finalización del mantenimiento el 16 de diciembre de 2021 a las 5 p. m. PST (17 de diciembre de 2021 a las 12 p. m. AEDT; 17 de diciembre de 2021 a las 2 a. actualizar para que sea efectivo:

  1. En cada Agente Privado, debe eliminar manualmente todos los archivos JAR de <JITTERBIT_HOME>/Connectors. (La excepción sería cualquier archivo JAR para conectores que haya instalado localmente).
  2. Cada Agente Privado debe reiniciarse.
  3. Ejecute una operación en la que se use cada conector o pruebe cada conexión para cada conector JAR en el agente.

Si no ha realizado todos los pasos anteriores en este orden después de completar el mantenimiento, hágalo inmediatamente para proteger su organización de estas vulnerabilidades.

Una versión anterior de esta página indicaba a los usuarios que solo reiniciaran los Agentes Privados. Reiniciar Agentes Privados es efectivo para la mayoría de los conectores. Sin embargo, para algunos conectores es necesario realizar todos los pasos. Recomendamos eliminar todos los archivos JAR en el Connectors directorio para asegurarse de que está protegido contra estas vulnerabilidades. Puede verificar que está protegido buscando log4j en cualquier nombre de archivo y verificando la versión de Log4j como se describe a continuación.

Solución Alternativa Anterior para Agentes Privados

Antes del 16 de diciembre de 2021, se publicó previamente en esta página una solución alternativa para abordar manualmente las vulnerabilidades antes del mantenimiento de emergencia. Esta solución alternativa ya no es necesaria para ninguna versión de Agente Privado.

Si ya ha realizado la solución alternativa, no necesita revertirla. Si no ha reiniciado los Agentes Privados desde que se completó el mantenimiento de emergencia, debe reiniciar los agentes para que reciban la actualización de mantenimiento de emergencia. No se recomienda ninguna acción adicional más allá de reiniciar con respecto a estas vulnerabilidades.

¿Cuáles Son las Vulnerabilidades JNDI de Apache Log 4j2?

De la base de datos nacional de vulnerabilidades del NIST CVE-2021-44228:

Apache Log4j2 \<=2.14.1 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. From Log4j 2.15.0, this behavior has been disabled by default.

Una vulnerabilidad relacionada es CVE-2021-45046, que describe una vulnerabilidad en la biblioteca Log4j 2.15.0. Ambas vulnerabilidades se tratan y abordan aquí.

¿Qué Productos de Jitterbit Se Vieron Afectados por las Vulnerabilidades?

Estas vulnerabilidades se limitaron a los conectores de Cloud Studio creados con el SDK de Harmony Connector ("conectores de SDK de Cloud Studio Connector").

Dado que los conectores normalmente no se consideran productos de Jitterbit independientes y deben ejecutarse en un Harmony Agente, se necesita alguna explicación para explicar el impacto y los pasos de mitigación para abordar estas vulnerabilidades:

  • ¿Qué es un conector SDK de Cloud Studio Connector? Los conectores Cloud Studio Connector SDK son conectores integrados con Harmony Connector SDK. Actualmente incluyen ciertos conectores creados por Jitterbit o por un tercero:

    • Jitterbit: La mayoría de los conectores de aplicaciones actuales de Cloud Studio se crearon con Connector SDK. Las excepciones incluyen los conectores NetSuite, Salesforce, Salesforce Service Cloud, SAP y ServiceMax, que no se crearon con el SDK del conector y no se ven afectados. Consulte la lista completa a continuación de los conectores Jitterbit afectados por estas vulnerabilidades. Los conectores futuros creados por Jitterbit usando el SDK de Connector no se verán afectados.
    • De terceros: Dado que Connector SDK está disponible públicamente para crear conectores de Cloud Studio, es posible que su organización utilice conectores adicionales creados con Connector SDK por un socio o un tercero y también puede verse afectado por estas vulnerabilidades. Comuníquese con el proveedor de ese conector para determinar si evaluaron y, si es necesario, corrigieron su conector.
  • ¿Cómo se relacionan estos conectores con los agentes? La última versión de un conector SDK de Cloud Studio Connector es descargada por un Agente de Harmony según sea necesario desde Harmony cuando usa el conector.

  • ¿Qué agentes se vieron afectados? Cualquier Cloud o Agente Privado que usaba un conector SDK de Cloud Studio Connector se vio afectado por las vulnerabilidades, ya que la biblioteca Apache Log4j2 se descargó y se usó en el agente para escribir registros cuando se usaba el conector.
    • Agentes en Nube: En los Agentes en Nube, Jitterbit abordó de inmediato estas vulnerabilidades a través de los controles de seguridad adecuados. No son necesarias más acciones.
    • Agentes Privados: En los Agentes Privados, antes del mantenimiento de emergencia del 16 de diciembre de 2021, se indicó a los clientes que siguieran la solución alternativa documentada previamente para abordar estas vulnerabilidades.

Estos productos de Jitterbit no se vieron afectados:

  • Agentes Harmony que nunca han usado un conector SDK de Cloud Studio Connector: No afectado.
  • Harmony Design Studio (y sus conectores): No afectado.
  • Harmony Cloud: No afectado.
  • Jitterbit eiCloud: No afectado.

Conectores del SDK del Conector Harmony Cloud Studio

La siguiente es una lista de todos los conectores de Cloud Studio a partir del 16 de diciembre de 2021 que fueron creados por Jitterbit con el SDK de Harmony Connector y están afectados por las vulnerabilidades de Apache Log4j.

Dado que el SDK del conector está disponible públicamente para los desarrolladores, es posible que su organización esté utilizando un conector que no se incluye aquí y que fue creado por un socio o un externo mediante el SDK del conector Harmony. Esos conectores también pueden verse afectados por las vulnerabilidades de Apache Log4j. Póngase en contacto con el proveedor de ese conector para averiguar si ha evaluado y, si es necesario, corregido su conector.

¿Qué Hizo el Mantenimiento del 16 de Diciembre de 2021?

El 16 de diciembre de 2021, Jitterbit realizó un mantenimiento de emergencia para abordar las vulnerabilidades de Apache Log4j2.

Como parte del mantenimiento, Jitterbit actualizó los conectores de Cloud Studio creados con Connector SDK para usar una versión disponible de la biblioteca Log4j que abordaba las dos vulnerabilidades de Apache Log4j.

Después de la finalización del mantenimiento el 16 de diciembre de 2021 a las 5 p. m. PST (17 de diciembre de 2021 a las 12 p. m. AEDT; 17 de diciembre de 2021 a las 2 a. actualizar para que sea efectivo:

  1. En cada Agente Privado, debe eliminar manualmente todos los archivos JAR de <JITTERBIT_HOME>/Connectors. (La excepción sería cualquier archivo JAR para conectores que haya instalado localmente).
  2. Cada Agente Privado debe reiniciarse.
  3. Ejecute una operación donde se use el conector o pruebe la conexión.

Si no ha realizado todos los pasos anteriores en este orden después de completar el mantenimiento, hágalo inmediatamente para proteger su organización de estas vulnerabilidades.

Una versión anterior de esta página indicaba a los usuarios que solo reiniciaran los Agentes Privados. Reiniciar Agentes Privados es efectivo para la mayoría de los conectores. Sin embargo, para algunos conectores es necesario realizar todos los pasos. Recomendamos eliminar todos los archivos JAR en el Connectors directorio para asegurarse de que está protegido contra estas vulnerabilidades. Puede verificar que está protegido buscando log4j en cualquier nombre de archivo y verificando la versión de Log4j como se describe a continuación.

¿Cómo Puedo Confirmar la Protección Contra Estas Vulnerabilidades?

Una vez que implemente los pasos de mitigación para los Agentes Privados, puede confirmar que está protegido buscando en los subdirectorios de instalación del agente los nombres de archivo que incluyen log4j.

Cualquier nombre de archivo anterior que incluya log4j y un número de serie de la versión 2, como log4j-api-2.11.1.jar, ya no debería estar presente. Cualquier nombre de archivo de la serie Log4j versión 2 ahora debe reemplazarse con un nombre que indique que la versión es al menos 2.16.0.

Para obtener más ayuda, comuníquese con Soporte de Jitterbit.

Solución Alternativa Anterior para Agentes Privados

Esta solución alternativa se publicó anteriormente antes del mantenimiento de emergencia del 16 de diciembre de 2021. Esta solución alternativa ya no es necesaria y las vulnerabilidades se solucionan reiniciando el agente después del mantenimiento del 16 de diciembre de 2021. Si ya realizó esta solución alternativa y reinició Agentes Privados, no se necesita ninguna otra acción.

Para los clientes con Agentes Privados, se recomendaron previamente los siguientes pasos para protegerse contra las vulnerabilidades de Apache Log4j.

Precaución

  • Es una buena práctica tener Agentes Privados detrás de un firewall sin puertos de entrada. Esto protege contra exploits entrantes.
  • Esta configuración se sobrescribirá al actualizar o mejorar.

Agente Privado de Linux

Para los Agentes Privados de Linux, la solución manual consiste en editar el secuencia de comandos de inicio para el servidor Tomcat.

El archivo a cambiar es catalina.sh, situado en <JITTERBIT_HOME>/tomcat/bin/catalina.sh. En una instalación típica, se ubicará en esta ubicación:

/opt/jitterbit/tomcat/bin/catalina.sh
  1. Agregue la siguiente línea inmediatamente después de las líneas de comentarios al principio del archivo:

    JAVA_OPTS="$JAVA_OPTS -Dlog4j2.formatMsgNoLookups=true"
    
  2. Por ejemplo:

    . . .
    # case the default is "true"
    # -----------------------------------------------------------------------------
    JAVA_OPTS="$JAVA_OPTS -Dlog4j2.formatMsgNoLookups=true"
    
    # OS specific support. $var _must_ be set to either true or false.
    . . .
    
  3. Guarde el cambio en el archivo y salga de su editor.

  4. Reinicie el Agente Privado:

    > jitterbit stop
    > jitterbit start
    

Verificación del Cambio

Para verificar los resultados de este cambio, ejecute el comando ps -ef | grep java y busque en la salida para -Dlog4j2.formatMsgNoLookups=true.

Agente Privado de Windows

Para los Agentes Privados de Windows, deberá editar el registro.

Precaución

Cambiar el registro de Windows incorrectamente puede afectar el sistema operativo Windows. Tenga cuidado al realizar estos cambios.

Sigue estos pasos:

  1. Detenga el Agente Privado de Windows.

  2. Use la Búsqueda de Windows para encontrar regedit y utilícelo para abrir el Editor del Registro.

  3. Navegue hasta Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Jitterbit Tomcat Server\Parameters\Java.

  4. Modifique sus Opciones y agregue lo siguiente antes del -Xms línea:

    -Dlog4j2.formatMsgNoLookups=true
    

    Ejemplo:

    archivo adjunto

  5. Salga del Editor del Registro.

  6. Reinicie el Agente Privado de Windows.

Verificación del Cambio

Para verificar los resultados de este cambio:

  • Abra el Bloc de notas (o un editor similar).

  • Abra el archivo de registro más reciente, ubicado en:

    <JITTERBIT_HOME>\tomcat\logs\catalina.{date}.log
    
  • Buscar -Dlog4j2.formatMsgNoLookups=true para verificar que se está utilizando el argumento de la línea de comandos.

Ejemplo de salida de verificación

adjunto