Ir para o conteúdo

Mitigando a Vulnerabilidade Apache Log4j2 JNDI

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 relacionada adicional foi divulgada pelo Apache em 14 de dezembro de 2021 (CVE-2021-45046).

Mitigação para Agentes Privados

Em 16 de dezembro de 2021, o 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 17:00 PST (17 de dezembro de 2021 12:00 AEDT; 17 de dezembro de 2021 02:00 CET; 17-12-2021 01:00 UTC), você deve executar as seguintes etapas para que o atualizar para se tornar efetivo:

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

Se você não executou todas as etapas acima nesta ordem após a conclusão da manutenção, faça isso imediatamente para proteger sua organização dessas 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. No entanto, para alguns conectores é necessário executar 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 procurando 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 anteriormente nesta página antes da manutenção de emergência. Esta solução alternativa não é mais necessária para nenhuma versão de Agente Privado.

Se você já executou a solução alternativa, não é necessário revertê-la. Se você não reiniciou os Agentes Privados desde que a manutenção de emergência foi concluída, reinicie 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 do Apache Log 4j2 JNDI?

Do banco de dados de vulnerabilidade nacional 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 do Cloud Studio criados com o Harmony Connector SDK ("conectores do Cloud Studio Connector SDK").

Como os conectores normalmente não são considerados produtos independentes da Jitterbit 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 lidar com 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. Eles atualmente incluem certos conectores construídos pela Jitterbit ou por terceiros:

    • Jitterbit: A maioria dos atuais conectores de aplicativos 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 SDK do conector e não são afetados. Veja a lista completa abaixo dos conectores Jitterbit afetados por essas vulnerabilidades. Conectores futuros criados pelo Jitterbit usando o Connector SDK não serão afetados.
    • Terceiros: como o Connector SDK está disponível publicamente para criar 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 afetado por essas vulnerabilidades. Entre em contato com o provedor desse conector para determinar se ele avaliou e, se necessário, corrigiu o conector.
  • Como esses conectores estão relacionados aos agentes? A versão mais recente de um conector Cloud Studio Connector SDK é baixada por um Harmony Agente conforme necessário do Harmony quando você usa o conector.

  • Quais agentes foram afetados? Qualquer nuvem ou Agente Privado que estava usando um conector Cloud Studio Connector SDK 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, o Jitterbit corrigiu imediatamente essas vulnerabilidades por meio de controles de segurança apropriados. Nenhuma outra ação é necessária.
    • Agentes Privados: Em 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 documentada anteriormente para lidar com essas vulnerabilidades.

Estes produtos Jitterbit não foram afetados:

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

Conectores do SDK do Harmony Cloud Studio Connector

A seguir está uma lista de todos os conectores do Cloud Studio até 16 de dezembro de 2021 que foram criados pela Jitterbit com o Harmony Connector SDK 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 provedor desse conector para saber se ele avaliou e, se necessário, corrigiu o conector.

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

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

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

Após a conclusão da manutenção em 16 de dezembro de 2021 às 17:00 PST (17 de dezembro de 2021 12:00 AEDT; 17 de dezembro de 2021 02:00 CET; 17-12-2021 01:00 UTC), você deve executar as seguintes etapas para que o atualizar para se tornar efetivo:

  1. Em cada Agente Privado, você deve excluir manualmente todos os arquivos JAR de <JITTERBIT_HOME>/Connectors. (A exceção seria qualquer arquivo JAR para conectores instalados localmente.)
  2. Cada Agente Privado deve ser reiniciado.
  3. Execute uma operação em que o conector é 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 isso imediatamente para proteger sua organização dessas 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. No entanto, para alguns conectores é necessário executar 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 procurando 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 os subdiretórios de instalação do agente por nomes de arquivo que incluam log4j.

Qualquer nome de arquivo anterior que inclua 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. Essa solução alternativa não é mais necessária e as vulnerabilidades são resolvidas com uma 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 o Agentes Privados, nenhuma ação adicional é necessária.

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

Cuidado

  • É uma boa prática 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 ao atualizar ou atualizar.

Agente Privado do Linux

Para Linux Agentes Privados, a solução manual é editar o script de inicialização para o 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ário 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 Mudança

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

Agente Privado do Windows

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

Cuidado

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

Siga esses passos:

  1. Pare o Windows Agente Privado.

  2. Use a Pesquisa do Windows 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 Windows Agente Privado.

Verificação da Mudança

Para verificar os resultados dessa 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.

Saída de Verificação de Exemplo

anexo