Ir para o conteúdo

Mitigar a Vulnerabilidade JNDI do Apache Log4j2

Resumo

Esta página resume as vulnerabilidades do Apache Log4j2, descreve seu impacto nos produtos Jitterbit e explica como as vulnerabilidades foram mitigadas.

Descoberta de Vulnerabilidades

Em 9 de dezembro de 2021, uma vulnerabilidade crítica de dia zero foi divulgada pelo Apache que afeta o Apache Log4j2 (CVE-2021-44228). Uma vulnerabilidade adicional relacionada foi divulgada pelo Apache em 14 de dezembro de 2021 (CVE-2021-45046).

Mitigação para Agentes Privados

Em 16 de dezembro de 2021, a Jitterbit realizou uma manutenção de emergência para solucionar as vulnerabilidades do Apache Log4j2.

Após a conclusão da manutenção em 16 de dezembro de 2021 às 17h PST (17 de dezembro de 2021 12h AEDT; 17 de dezembro de 2021 2h CET; 2021‑12‑17 01h00 UTC), você deve executar as seguintes etapas para que o atualização para entrar em vigor:

  1. Em cada Agente Privado, você deve excluir manualmente todos os arquivos JAR do <JITTERBIT_HOME>/Connectors. (A exceção seriam quaisquer arquivos JAR para conectores que você instalou localmente.)
  2. Cada Agente Privado deve ser reiniciado.
  3. Execute uma operação em que cada conector seja usado ou teste cada conexão para cada JAR do conector no agente.

Se você não executou todas as etapas acima nesta ordem após a conclusão da manutenção, faça-o imediatamente para proteger sua organização contra essas vulnerabilidades.

Uma versão anterior desta página instruía os usuários apenas a reiniciar os Agentes Privados. Reiniciar Agentes Privados é eficaz para a maioria dos conectores. Porém, para alguns conectores é necessário realizar todas as etapas. Recomendamos excluir todos os arquivos JAR no Connectors diretório para garantir que você esteja protegido contra essas vulnerabilidades. Você pode verificar se está protegido pesquisando por log4j em qualquer nome de arquivo e verificando a versão do Log4j conforme descrito abaixo.

Solução Alternativa Anterior para Agentes Privados

Antes de 16 de dezembro de 2021, uma solução alternativa para resolver manualmente as vulnerabilidades foi publicada nesta página antes da manutenção de emergência. Esta solução alternativa não é mais necessária para nenhuma versão do Agente Privado.

Se você já executou a solução alternativa, não será necessário revertê-la. Se você não reiniciou os Agentes Privados desde que a manutenção de emergência foi concluída, você deverá reiniciar os agentes para que eles recebam a atualização da manutenção de emergência. Nenhuma ação adicional além de reiniciar é recomendada em relação a essas vulnerabilidades.

Quais São as Vulnerabilidades JNDI do Apache Log 4j2?

Do banco de dados nacional de vulnerabilidades do 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.

Uma vulnerabilidade relacionada é CVE-2021-45046, que descreve uma vulnerabilidade na biblioteca Log4j 2.15.0. Ambas as vulnerabilidades são abordadas e abordadas aqui.

Quais Produtos Jitterbit Foram Afetados pelas Vulnerabilidades?

Essas vulnerabilidades foram limitadas aos conectores Cloud Studio criados com o Harmony Connector SDK ("conectores Cloud Studio Connector SDK").

Como os conectores normalmente não são considerados produtos Jitterbit independentes e devem ser executados em um Harmony Agente, algumas explicações são necessárias para explicar o impacto e as etapas de mitigação para resolver essas vulnerabilidades:

  • O que é um conector SDK do Cloud Studio Connector?
    Os conectores Cloud Studio Connector SDK são conectores criados com o Harmony Connector SDK. Atualmente, eles incluem determinados conectores desenvolvidos pela Jitterbit ou por terceiros:
    • Jitterbit: A maioria dos conectores de aplicativos atuais do Cloud Studio foram criados usando o Connector SDK. As exceções incluem os conectores NetSuite, Salesforce, Salesforce Service Cloud, SAP e ServiceMax, que não foram criados usando o Connector SDK e não são afetados. Veja lista completa abaixo dos conectores Jitterbit afetados por essas vulnerabilidades. Conectores futuros criados pela Jitterbit usando o Connector SDK não serão afetados.
    • Terceiros: Como o Connector SDK está disponível publicamente para a criação de conectores do Cloud Studio, sua organização pode estar usando conectores adicionais criados com o Connector SDK por um parceiro ou terceiro e também pode ser afetada por essas vulnerabilidades. Entre em contato com o fornecedor desse conector para determinar se ele avaliou e, se necessário, corrigiu seu conector.
  • Como esses conectores estão relacionados aos agentes?
    A versão mais recente de um conector SDK do Cloud Studio Connector é baixada por um Agente Harmony conforme necessário do Harmony quando você usa o conector.
  • Quais agentes foram afetados?
    Qualquer Agente Privado que estivesse usando um conector SDK do Cloud Studio Connector foi afetado pelas vulnerabilidades, pois a biblioteca Apache Log4j2 foi baixada e usada no agente para gravar logs quando o conector estava sendo usado.
    • Agentes em Nuvem: Nos Agentes em Nuvem, a Jitterbit resolveu imediatamente essas vulnerabilidades por meio de controles de segurança apropriados. Nenhuma ação adicional é necessária.
    • Agentes Privados: Nos Agentes Privados, antes da manutenção de emergência em 16 de dezembro de 2021, os clientes foram instruídos a seguir a solução alternativa previamente documentada para resolver essas vulnerabilidades.

Estes produtos Jitterbit não foram afetados:

  • Agentes Harmony que nunca usaram um conector SDK do Cloud Studio Connector: Não afetado.
  • Harmony Design Studio (e seus conectores): Não afetado.
  • Harmony Cloud: Não afetado.
  • Jitterbit eiCloud: Não afetado.

Conectores SDK do Harmony Cloud Studio Connector

A seguir está uma lista de todos os conectores Cloud Studio em 16 de dezembro de 2021 que foram criados pela Jitterbit com o SDK do Harmony Connector e são afetados pelas vulnerabilidades do Apache Log4j.

Como o Connector SDK está disponível publicamente para desenvolvedores, sua organização pode estar usando um conector não listado aqui que foi criado por um parceiro ou externo usando o Harmony Connector SDK. Esses conectores também podem ser afetados pelas vulnerabilidades do Apache Log4j. Entre em contato com o fornecedor desse conector para saber se ele avaliou e, se necessário, corrigiu seu conector.

O Que a Manutenção de 16 de Dezembro de 2021 Fez?

Em 16 de dezembro de 2021, a Jitterbit realizou uma manutenção de emergência para solucionar as vulnerabilidades do Apache Log4j2.

Como parte da manutenção, a Jitterbit atualizou os conectores Cloud Studio criados com o Connector SDK para usar uma versão disponível da biblioteca Log4j que resolveu as duas vulnerabilidades do Apache Log4j.

Após a conclusão da manutenção em 16 de dezembro de 2021 às 17h PST (17 de dezembro de 2021 12h AEDT; 17 de dezembro de 2021 2h CET; 2021‑12‑17 01h00 UTC), você deve executar as seguintes etapas para que o atualização para entrar em vigor:

  1. Em cada Agente Privado, você deve excluir manualmente todos os arquivos JAR do <JITTERBIT_HOME>/Connectors. (A exceção seriam quaisquer arquivos JAR para conectores que você instalou localmente.)
  2. Cada Agente Privado deve ser reiniciado.
  3. Execute uma operação onde o conector seja usado ou teste a conexão.

Se você não executou todas as etapas acima nesta ordem após a conclusão da manutenção, faça-o imediatamente para proteger sua organização contra essas vulnerabilidades.

Uma versão anterior desta página instruía os usuários apenas a reiniciar os Agentes Privados. Reiniciar Agentes Privados é eficaz para a maioria dos conectores. Porém, para alguns conectores é necessário realizar todas as etapas. Recomendamos excluir todos os arquivos JAR no Connectors diretório para garantir que você esteja protegido contra essas vulnerabilidades. Você pode verificar se está protegido pesquisando por log4j em qualquer nome de arquivo e verificando a versão do Log4j conforme descrito abaixo.

Como posso confirmar a proteção contra essas vulnerabilidades?

Depois de implementar as etapas de mitigação para Agentes Privados, você pode confirmar que está protegido pesquisando nos subdiretórios de instalação do agente por nomes de arquivos que incluam log4j.

Quaisquer nomes de arquivos anteriores que incluam log4j e um número de série da versão 2, como log4j-api-2.11.1.jar, não deve mais estar presente. Qualquer nome de arquivo da série Log4j versão 2 agora deve ser substituído por um nome indicando que a versão é pelo menos 2.16.0.

Para obter mais assistência, entre em contato com Suporte Jitterbit.

Solução alternativa anterior para Agentes Privados

Esta solução alternativa foi publicada anteriormente antes da manutenção de emergência em 16 de dezembro de 2021. Esta solução alternativa não é mais necessária e as vulnerabilidades são resolvidas com a reinicialização do agente após a manutenção de 16 de dezembro de 2021. Se você já executou esta solução alternativa e reiniciou Agentes Privados, nenhuma ação adicional será necessária.

Para clientes com Agentes Privados, as etapas a seguir foram recomendadas anteriormente para proteção contra vulnerabilidades do Apache Log4j.

Cuidado

  • É uma prática recomendada ter Agentes Privados atrás de um firewall sem portas de entrada. Isso protege contra explorações de entrada.
  • Essas configurações serão substituídas durante a atualização ou atualização.

Agente Privado Linux

Para Linux Agentes Privados, a solução alternativa manual é editar o script de inicialização do servidor Tomcat.

O arquivo a ser alterado é catalina.sh, localizado em <JITTERBIT_HOME>/tomcat/bin/catalina.sh. Em uma instalação típica, ele estará localizado neste local:

/opt/jitterbit/tomcat/bin/catalina.sh
  1. Adicione a seguinte linha imediatamente após as linhas de comentários no início do arquivo:

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

    . . .
    # 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. Salve a alteração no arquivo e saia do editor.

  4. Reinicie o Agente Privado:

    > jitterbit stop
    > jitterbit start
    

Verificação da alteração

Para verificar os resultados desta alteração, execute o comando ps -ef | grep java e procure na saída por -Dlog4j2.formatMsgNoLookups=true.

Agente Privado do Windows

Para Agentes Privados do Windows, você precisará editar o registro.

Cuidado

Alterar o registro do Windows incorretamente pode afetar o sistema operacional Windows. Tenha cuidado ao fazer essas alterações.

Siga esses passos:

  1. Pare o Agente Privado do Windows.

  2. Use o Windows Search para encontrar regedit e use-o para abrir o Editor do Registro.

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

  4. Modifique suas Opções e adicione o seguinte antes do -Xms linha:

    -Dlog4j2.formatMsgNoLookups=true
    

    Exemplo:

    anexo

  5. Saia do Editor do Registro.

  6. Reinicie o Agente Privado do Windows.

Verificação da alteração

Para verificar os resultados desta alteração:

  • Abra o Bloco de Notas (ou editor similar).

  • Abra o arquivo de log mais recente, localizado em:

    <JITTERBIT_HOME>\tomcat\logs\catalina.{date}.log
    
  • Procurar -Dlog4j2.formatMsgNoLookups=true para verificar se o argumento da linha de comando está sendo usado.

Exemplo de saída de verificação

anexo