Pular para conteúdo

Atualizando uma imagem Docker NGINX- ou Envoy-based EOL

Essas instruções descrevem as etapas para atualizar a imagem Docker NGINX- ending- ou Envoy-based (versão 3.6 e inferior) para a versão 4.8.

Os nós Wallarm 3.6 e inferiores não são suportados

Recomenda-se que você atualize os nós Wallarm 3.6 e inferiores, pois essas versões não são suportadas, elas estão no fim da vida.

A configuração do nó e a filtragem de tráfego foram significativamente simplificadas no nó Wallarm das últimas versões. Antes de atualizar os módulos, por favor, revise cuidadosamente a lista de mudanças e as recomendações gerais. Observe que algumas configurações do nó mais recente são incompatíveis com os nós 3.6 e inferiores.

Requisitos

  • Docker instalado em seu sistema host

  • Acesso a https://hub.docker.com/r/wallarm/node para baixar a imagem do Docker. Certifique-se de que o acesso não está bloqueado por um firewall

  • Acesso à conta com a função de Administrador no Console Wallarm na Nuvem dos EUA ou na Nuvem da UE

  • Acesso a https://us1.api.wallarm.com se estiver trabalhando com a Nuvem Wallarm dos EUA ou a https://api.wallarm.com se estiver trabalhando com a Nuvem Wallarm da UE. Certifique-se de que o acesso não está bloqueado por um firewall

  • Access to the IP addresses below for downloading updates to attack detection rules, as well as retrieving precise IPs for your allowlisted, denylisted, or graylisted countries, regions, or data centers

    34.96.64.17
    34.110.183.149
    35.235.66.155
    34.102.90.100
    34.94.156.115
    35.235.115.105
    
    34.160.38.183
    34.144.227.90
    34.90.110.226
    

Passo 1: Informe o suporte técnico da Wallarm que você está atualizando os módulos do nó de filtragem (somente se atualizando o nó 2.18 ou inferior)

Se estiver atualizando o nó 2.18 ou inferior, informe ao Suporte Técnico da Wallarm que você está atualizando os módulos do nó de filtragem para 4.8 e peça para ativar a nova lógica de lista de IPs para a sua conta da Wallarm. Quando a nova lógica da lista de IPs estiver ativada, confira se a seção Listas de IP do Console Wallarm está disponível.

Passo 2: Desative o módulo de verificação de ameaça ativa (somente se atualizando o nó 2.16 ou inferior)

Se estiver atualizando o nó Wallarm 2.16 ou inferior, desative o módulo Verificação de ameaça ativa no Wallarm Console → VulnerabilidadesConfigurar.

A operação do módulo pode causar falsos positivos durante o processo de atualização. Desativar o módulo minimiza esse risco.

Passo 3: Atualize a porta da API

Começando com a versão 4.0, o nó de filtragem carrega dados para a nuvem usando os endpoints da API us1.api.wallarm.com:443 (NUvem EUA) e api.wallarm.com:443 (Nuvem EU) em vez de us1.api.wallarm.com:444 e api.wallarm.com:444.

Se você atualizar o nó da versão 3.x ou inferior e seu servidor com o nó implantado tiver acesso limitado aos recursos externos, e o acesso for concedido a cada recurso separadamente, então após a atualização a sincronização entre o nó de filtragem e a nuvem irá parar.

Para restaurar a sincronização, em sua configuração, altere a porta 444 para 443 para o endpoint da API para cada recurso.

Passo 4: Baixe a imagem atualizada do nó de filtragem

docker pull wallarm/node:4.8.0-1
docker pull wallarm/envoy:4.8.0-1

Passo 5: Mude para a conexão baseada em token com o Wallarm Cloud

Com o lançamento da versão 4.x, a abordagem como se conectar ao Wallarm Cloud foi atualizada como segue:

  • A abordagem baseada em "email e senha" foi descontinuada. Nessa abordagem, o nó foi registrado no Wallarm Cloud automaticamente ao iniciar o contêiner com as credenciais corretas passadas nas variáveis DEPLOY_USER e DEPLOY_PASSWORD.

  • A abordagem baseada em token foi incluída. Para conectar o container ao Cloud, execute o container com a variável WALLARM_API_TOKEN contendo o token do nó Wallarm copiado da UI do Console Wallarm.

Recomenda-se usar a nova abordagem para executar a imagem 4.8. A abordagem baseada em "email e senha" será excluída em versões futuras, portanto, faça a migração antes.

Para criar um novo nó Wallarm e obter seu token:

  1. Abra o Wallarm Console → Nós no US Cloud ou EU Cloud e crie o nó do tipo Nó Wallarm.

    Criação do nó Wallarm

  2. Copie o token gerado.

Passo 6: Migrar allowlists e denylists da versão anterior do nó Wallarm para 4.8 (somente se atualizando o nó 2.18 ou inferior)

Se estiver atualizando o nó 2.18 ou inferior, migre a configuração de allowlist e denylist da versão anterior do nó Wallarm para 4.8.

Passo 7: Mude das opções de configuração descontinuadas

Existem as seguintes opções de configuração descontinuadas:

Nós apenas alteramos os nomes das diretivas, a lógica delas permanece a mesma. As diretivas com os nomes anteriores serão descontinuadas em breve, então você é recomendado a renomeá-las antes.

Por favor, verifique se as diretivas com os nomes antigos estão explicitamente especificadas nos arquivos de configuração montados. Se sim, renomeie-os.

Nós apenas alteramos o nome da variável, a lógica dela permanece a mesma. O nome antigo também é temporariamente suportado, mas mesmo assim é recomendável renomear a variável.

Nós apenas alteramos os nomes dos parâmetros, a lógica deles permanece a mesma. Os parâmetros com nomes antigos serão descontinuados em breve, então você é recomendado a renomeá-los antes.

Por favor, verifique se os parâmetros com os nomes antigos estão explicitamente especificados nos arquivos de configuração montados. Se sim, renomeie-os.

Passo 8: Atualize a página de bloqueio do Wallarm (se atualizando a imagem baseada em NGINX)

Na nova versão do nó, a página de amostra de bloqueio do Wallarm foi alterada. O logotipo e o email de suporte na página agora estão vazios por padrão.

Se o container Docker foi configurado para retornar a página &/usr/share/nginx/html/wallarm_blocked.html para solicitações bloqueadas, altere essa configuração da seguinte forma:

  1. Copie e personalize a nova versão de uma página de amostra.

  2. Monte a página personalizada e o arquivo de configuração NGINX em um novo container Docker na próxima etapa.

Passo 9: Transfira a configuração de detecção de ataque overlimit_res de diretivas para a regra

A partir da versão 3.6, você pode ajustar a detecção de ataque overlimit_res usando a regra no Console Wallarm.

Anteriormente, as seguintes opções eram usadas:

As diretivas e parâmetros listados são considerados obsoletos com o novo lançamento da regra e serão excluídos nas próximas versões.

Se as configurações de detecção de ataque overlimit_res forem personalizadas por meio dos parâmetros listados, recomenda-se transferi-los para a regra da seguinte maneira:

  1. Abra o Console Wallarm → Regras e prossiga para a configuração da regra Ajustar a detecção de ataque overlimit_res.

  2. Configure a regra como feito nos arquivos de configuração montados:

    • A condição da regra deve corresponder ao bloco de configuração NGINX ou Envoy com as diretivas wallarm_process_time_limit e wallarm_process_time_limit_block ou os parâmetros process_time_limit e process_time_limit_block especificados.
    • O limite de tempo para o nó processar uma única requisição (milissegundos): o valor de wallarm_process_time_limit ou process_time_limit.
    • Processamento de requisição: a opção Parar processamento é recomendada.

      Risco de esgotamento da memória do sistema

      O alto limite de tempo e/ou a continuação do processamento após o limite ser ultrapassado pode acionar a exaustão da memória ou processamento fora do tempo da requisição.

    • Registar o ataque overlimit_res: a opção Registar e exibir nos eventos é recomendada.

      Se o valor de wallarm_process_time_limit_block ou process_time_limit_block for off, escolha a opção Não criar evento de ataque.

    • A regra não possui uma opção equivalente explícita para a diretiva wallarm_process_time_limit_block (process_time_limit_block no Envoy). Se a regra definir Registrar e exibir nos eventos, o nó bloqueará ou permitirá o ataque overlimit_res dependendo do modo de filtragem do nó:

      • No modo monitoramento, o nó encaminha a solicitação original para o endereço do aplicativo. O aplicativo tem o risco de ser explorado pelos ataques incluídos nas partes da solicitação processadas e não processadas.
      • No modo bloqueio seguro, o nó bloqueia a solicitação se ela for originada do endereço IP listado em cinza. Caso contrário, o nó encaminha a solicitação original para o endereço do aplicativo. O aplicativo tem o risco de ser explorado pelos ataques incluídos nas partes da requisição processadas e não processadas.
      • No modo bloqueio, o nó bloqueia a requisição.
  3. Exclua as diretivas NGINX wallarm_process_time_limit, wallarm_process_time_limit_block e os parâmetros Envoy process_time_limit, process_time_limit_block do arquivo de configuração montado.

    Se a detecção de ataque overlimit_res for ajustada usando tanto os parâmetros quanto a regra, o nó processará as solicitações conforme a regra definir.

Passo 10: Pare o container em execução

docker stop <NOME_DO_CONTAINER_EXECUTANDO>

Passo 11: Execute o container usando a imagem atualizada

Execute o contêiner usando a imagem atualizada. Você pode passar os mesmos parâmetros de configuração que foram passados ao executar uma versão de imagem anterior, exceto os listados nas etapas anteriores.

Existem duas opções para executar o contêiner usando a imagem atualizada:

Passo 12: Ajuste as configurações do modo de filtragem do nó Wallarm às mudanças lançadas nas últimas versões (somente se atualizando o nó 2.18 ou inferior)

  1. Certifique-se de que o comportamento esperado das configurações listadas abaixo corresponde à lógica modificada dos modos de filtragem off e monitoring:

  2. Se o comportamento esperado não corresponder à lógica modificada do modo de filtragem, ajuste as configurações do modo de filtragem às mudanças lançadas usando as instruções.

Passo 13: Teste a operação do nó de filtragem

  1. Envie a solicitação com o teste de ataque Path Traversal para o endereço do aplicativo:

    curl http://localhost/etc/passwd
    
  2. Certifique-se de que o nó do novo tipo processe a solicitação da mesma forma que o nó regular fazia, por exemplo:

  3. Abra o Console Wallarm → Eventos na Nuvem EU ou Nuvem US e certifique-se de que:

    • O ataque é exibido na lista.
    • Detalhes do hit exibem o UUID do nó Wallarm.

    Ataques na interface

Passo 14: Exclua o nó de filtragem da versão anterior

Se a imagem implantada da versão 4.8 opera corretamente, você pode excluir o nó de filtragem da versão anterior na seção Wallarm Console → Nós.

Passo 15: Reative o módulo de verificação de ameaça ativa (somente se atualizando o nó 2.16 ou inferior)

Aprenda a recomendação sobre a configuração do módulo de verificação de ameaça ativa e reative-o se necessário.

Depois de um tempo, certifique-se de que a operação do módulo não causa falsos positivos. Em caso de false positives, entre em contato com o suporte técnico da Wallarm.