Pular para conteúdo

Atualizando o módulo EOL pós-análises

Estas instruções descrevem as etapas para atualizar o módulo pós-análise fim de vida (versão 3.6 e inferior) instalado em um servidor separado. O módulo pós-análise deve ser atualizado antes de Atualização dos módulos NGINX Wallarm.

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.

Métodos de atualização

Você pode realizar a atualização de duas maneiras distintas:

  • Migrar para o uso do instalador tudo-em-um durante o procedimento de atualização. Esse é o método recomendado, pois automatiza diversas atividades de instalação e atualização do nó, como identificação da versão do NGINX e do sistema operacional, adição de repositórios Wallarm adequados, instalação de pacotes e outros.

  • Continue usando o método atual de instalação manual através de pacotes DEB/RPM individuais. No entanto, é importante salientar que em futuras atualizações esse método exigirá um esforço adicional e configuração manual em comparação ao novo método.

Atualização com o instalador tudo-em-um

Use o procedimento abaixo para atualizar o módulo pós-análise fim de vida (versão 3.6 e inferior) instalado em um servidor separado para a versão 4.8 usando o instalador tudo-em-um.

Requisitos para atualização usando o instalador tudo-em-um

  • Acesso à conta com a função de Administrador no Console Wallarm para US Cloud ou EU Cloud.

  • Acesso a https://meganode.wallarm.com para baixar o instalador Wallarm all-in-one. Certifique-se de que o acesso não está bloqueado por um firewall.

  • Acesso a https://us1.api.wallarm.com para trabalhar com o US Wallarm Cloud ou para https://api.wallarm.com para trabalhar com o EU Wallarm Cloud. Se o acesso pode ser configurado somente via servidor proxy, então use as instruções.

  • Execução de todos os comandos como superusuário (por exemplo, root).

Passo 1: Prepare uma máquina limpa

Ao atualizar os módulos 4.x com o instalador all-in-one, você não pode atualizar uma instalação de pacote antigo - em vez disso, você precisa usar uma máquina limpa. Assim, como passo 1, prepare uma máquina com um dos sistemas operacionais suportados:

  • Debian 10, 11 e 12.x

  • Ubuntu LTS 18.04, 20.04, 22.04

  • CentOS 7, 8 Stream, 9 Stream

  • Alma/Rocky Linux 9

  • RHEL 8.x

  • RHEL 9.x

  • Oracle Linux 8.x

  • Oracle Linux 9.x

  • Redox

  • SuSe Linux

  • Outros (a lista está constantemente se expandindo, entre em contato com a equipe de suporte da Wallarm para verificar se seu sistema operacional está na lista)

Usar uma máquina limpa nova levará ao fato de que, em algum momento, você terá ambos os nós antigos e novos, o que é bom: você pode testar o novo funcionando corretamente sem interromper o antigo.

Passo 2: Prepare o token Wallarm

Para instalar o node, você precisará de um token Wallarm do tipo apropriado. Para preparar um token:

  1. Abra o Console Wallarm → ConfiguraçõesTokens de API no US Cloud ou EU Cloud.
  2. Encontre ou crie um token de API com a função de origem Deploy.
  3. Copie este token.
  1. Abra o Console Wallarm → Nós no US Cloud ou EU Cloud.
  2. Faça uma das seguintes ações:
    • Crie o nó do tipo Nó Wallarm e copie o token gerado.
    • Use o grupo de nós existente - copie o token usando o menu do nó → Copiar token.

Passo 3: Baixe o instalador tudo-em-um Wallarm

A Wallarm sugere instalações all-in-one para os seguintes processadores:

  • x86_64

  • ARM64 (beta)

Para baixar o script de instalação all-in-one da Wallarm, execute o comando:

curl -O https://meganode.wallarm.com/4.8/wallarm-4.8.0.x86_64-glibc.sh
curl -O https://meganode.wallarm.com/4.8/wallarm-4.8.0.aarch64-glibc.sh

Passo 4: Execute o instalador tudo-em-um Wallarm para instalar pós-análises

Para instalar o postanalytics separadamente com o instalador all-in-one, use:

# Se estiver usando a versão x86_64:
sudo env WALLARM_LABELS='group=<GROUP>' sh wallarm-4.8.0.x86_64-glibc.sh postanalytics

# Se estiver usando a versão ARM64:
sudo env WALLARM_LABELS='group=<GROUP>' sh wallarm-4.8.0.aarch64-glibc.sh postanalytics

A variável WALLARM_LABELS define o grupo ao qual o nó será adicionado (usado para agrupamento lógico de nós no Wallarm Console UI).

# Se estiver usando a versão x86_64:
sudo sh wallarm-4.8.0.x86_64-glibc.sh postanalytics

# Se estiver usando a versão ARM64:
sudo sh wallarm-4.8.0.aarch64-glibc.sh postanalytics

Passo 5: 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 6: Atualize o módulo NGINX-Wallarm em um servidor separado

Uma vez que o módulo pós-análise foi instalado em um servidor separado, atualize o NGINX-Wallarm module relacionado que está em execução em um servidor diferente.

Combinando métodos de atualização

Ambas as abordagens manual e automática podem ser usadas para atualizar o módulo NGINX-Wallarm relacionado.

Passo 7: Reconecte o módulo NGINX-Wallarm ao módulo pós-análise

Na máquina com o módulo NGINX-Wallarm, no arquivo de configuração do NGINX, especifique o endereço do servidor do módulo postanalytics:

upstream wallarm_tarantool {
    server <ip1>:3313 max_fails=0 fail_timeout=0 max_conns=1;
    server <ip2>:3313 max_fails=0 fail_timeout=0 max_conns=1;

    keepalive 2;
    }

    # omitido

wallarm_tarantool_upstream wallarm_tarantool;
  • O valor de max_conns deve ser especificado para cada um dos servidores upstream do Tarantool para evitar a criação de conexões excessivas.

  • O valor de keepalive não deve ser inferior ao número de servidores Tarantool.

  • A string # wallarm_tarantool_upstream wallarm_tarantool; vem comentada por padrão - por favor, delete #.

Uma vez alterado o arquivo de configuração, reinicie o NGINX/NGINX Plus no servidor do módulo NGINX-Wallarm:

sudo systemctl restart nginx
sudo service nginx restart
sudo systemctl restart nginx
sudo systemctl restart nginx
sudo systemctl restart nginx

Passo 8: Verifique a interação dos módulos NGINX‑Wallarm e separado de pós-análises

Para verificar a interação dos módulos NGINX‑Wallarm e postanalytics separados, você pode enviar a solicitação com um teste de ataque para o endereço do aplicativo protegido:

curl http://localhost/etc/passwd

Se os módulos NGINX‑Wallarm e postanalytics separados estiverem configurados corretamente, o ataque será enviado para a Nuvem Wallarm e exibido na seção Eventos do Console Wallarm:

Ataques na interface

Se o ataque não foi enviado para a Nuvem, verifique se não há erros na operação dos serviços:

  • Certifique-se de que o serviço postanalytics wallarm-tarantool está no status ativo

    sudo systemctl status wallarm-tarantool
    

    status do wallarm-tarantool

  • Analise os logs do módulo postanalytics

    sudo cat /var/log/wallarm/tarantool.log
    

    Se houver o registro como SystemError binary: failed to bind: Cannot assign requested address, certifique-se de que o servidor aceita a conexão no endereço e porta especificados.

  • No servidor com o módulo NGINX‑Wallarm, analise os logs do NGINX:

    sudo cat /var/log/nginx/error.log
    

Se houver o registro como [error] wallarm: <endereço> connect() failed,certifique-se de que o endereço do módulo postanalytics separado está correto nos arquivos de configuração do módulo NGINX‑Wallarm e o servidor postanalytics separado aceita conexão no endereço e porta especificados.

Passo 9: Remova o antigo módulo pós-análise

  1. Exclua o módulo postanalytics antigo no Console Wallarm → Nós selecionando seu nó do módulo postanalytics e clicando em Excluir.

  2. Confirme a ação.

Quando o nó do módulo postanalytics é excluído da Cloud, ele deixará de participar da filtragem de solicitações para suas aplicações. A exclusão não pode ser desfeita. O nó do módulo postanalytics será excluído permanentemente da lista de nós.

  1. Exclua a máquina com o módulo postanalytics antigo ou simplesmente limpe-a dos componentes do módulo postanalytics do Wallarm:

=== "Debian"

sudo apt remove wallarm-node-tarantool

=== "Ubuntu"
sudo apt remove wallarm-node-tarantool

=== "CentOS ou Amazon Linux 2.0.2021 e inferior"
sudo yum remove wallarm-node-tarantool

=== "AlmaLinux, Rocky Linux ou Oracle Linux 8.x"
sudo yum remove wallarm-node-tarantool

=== "RHEL 8.x"
sudo yum remove wallarm-node-tarantool

Atualização manual

Use o procedimento abaixo para atualizar manualmente o módulo pós-análise fim de vida (versão 3.6 e inferior) instalado em um servidor separado para a versão 4.8.

Requisitos

  • Acesso à conta com a função de Administrador no Console Wallarm no US Cloud ou EU Cloud

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

Passo 1: 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 2: Adicione um novo repositório Wallarm

Delete o endereço do repositório Wallarm anterior e adicione um repositório com novos pacotes de versão de nó Wallarm. Por favor, use os comandos para a plataforma apropriada.

CentOS e Amazon Linux 2.0.2021x e inferiores

sudo yum remove wallarm-node-repo
sudo yum clean all
sudo rpm -i https://repo.wallarm.com/centos/wallarm-node/7/4.8/x86_64/wallarm-node-repo-4.8-0.el7.noarch.rpm

O suporte para CentOS 8.x foi descontinuado

O suporte para CentOS 8.x foi descontinuado. Você pode instalar o nó Wallarm no sistema operacional AlmaLinux, Rocky Linux, Oracle Linux 8.x ou RHEL 8.x em vez disso.

sudo yum remove wallarm-node-repo
sudo yum clean all
sudo rpm -i https://repo.wallarm.com/centos/wallarm-node/8/4.8/x86_64/wallarm-node-repo-4.8-0.el8.noarch.rpm
sudo yum remove wallarm-node-repo
sudo yum clean all
sudo rpm -i https://repo.wallarm.com/centos/wallarm-node/8/4.8/x86_64/wallarm-node-repo-4.8-0.el8.noarch.rpm

Debian e Ubuntu

  1. Abra o arquivo com o endereço do repositório Wallarm no editor de texto instalado. Nesta instrução, vim é usado.

    sudo vim /etc/apt/sources.list.d/wallarm.list
    
  2. Comente ou delete o endereço do repositório anterior.

  3. Adicione um novo endereço de repositório:

    Não suportado por NGINX estável e NGINX Plus

    As versões oficiais do NGINX (estável e Plus) e, como resultado, o nó Wallarm 4.4 e acima não podem ser instalados no Debian 10.x (buster). Por favor, use este SO apenas se o NGINX for instalado a partir dos repositórios Debian/CentOS.

    deb https://repo.wallarm.com/debian/wallarm-node buster/4.8/
    
    deb https://repo.wallarm.com/debian/wallarm-node bullseye/4.8/
    
    deb https://repo.wallarm.com/ubuntu/wallarm-node bionic/4.8/
    
    deb https://repo.wallarm.com/ubuntu/wallarm-node focal/4.8/
    

Passo 3: Atualize os pacotes Tarantool

sudo apt update
sudo apt dist-upgrade

O erro "as assinaturas não puderam ser verificadas"

Se as chaves GPG adicionadas expirarem, o seguinte erro será retornado:

W: GPG error: https://repo.wallarm.com/ubuntu/wallarm-node focal/4.8/ Release:As seguintes
assinaturas não puderam ser verificadas porque a chave pública não está disponível: NO_PUBKEY 1111FQQW999
E: O repositório 'https://repo.wallarm.com/ubuntu/wallarm-node focal/4.8/ Release' não está assinado.
N: Atualizar a partir de tal repositório não pode ser feito de maneira segura, e é, portanto, desativado por padrão.
N: Veja a página man do apt-secure(8) para detalhes da criação de repositório e configuração do usuário.

Para corrigir o problema, importe novas chaves GPG para os pacotes Wallarm e então atualize os pacotes usando os seguintes comandos:

curl -fsSL https://repo.wallarm.com/wallarm.gpg | sudo apt-key add -
sudo apt update
sudo apt dist-upgrade

Atualizando as dependências do Wallarm

O comando sudo apt dist-upgrade atualiza tanto os pacotes Wallarm quanto as dependências do nó de filtragem. É a opção recomendada para a atualização, uma vez que assegura o correto funcionamento da nova versão do nó de filtragem.

sudo apt update
sudo apt dist-upgrade

O erro "as assinaturas não puderam ser verificadas"

Se as chaves GPG adicionadas expirarem, o seguinte erro será retornado:

W: GPG error: https://repo.wallarm.com/ubuntu/wallarm-node focal/4.8/ Release:As seguintes
assinaturas não puderam ser verificadas porque a chave pública não está disponível: NO_PUBKEY 1111FQQW999
E: O repositório 'https://repo.wallarm.com/ubuntu/wallarm-node focal/4.8/ Release' não está assinado.
N: Atualizar a partir de tal repositório não pode ser feito de maneira segura, e é, portanto, desativado por padrão.
N: Veja a página man do apt-secure(8) para detalhes da criação de repositório e configuração do usuário.

Para corrigir o problema, importe novas chaves GPG para os pacotes Wallarm e então atualize os pacotes usando os seguintes comandos:

curl -fsSL https://repo.wallarm.com/wallarm.gpg | sudo apt-key add -
sudo apt update
sudo apt dist-upgrade

Atualizando as dependências do Wallarm

O comando sudo apt dist-upgrade atualiza tanto os pacotes Wallarm quanto as dependências do nó de filtragem. É a opção recomendada para a atualização, uma vez que assegura o correto funcionamento da nova versão do nó de filtragem.

sudo yum update
sudo yum update
sudo yum update

Passo 4: Atualize o tipo de nó

O nó pós-análises implantado 3.6 ou inferior possui o tipo obsoleto regular que é agora substituído pelo novo tipo de nó Wallarm node.

É recomendado instalar o novo tipo de nó em vez do obsoleto durante a migração para a versão 4.8. O tipo de nó regular será removido em futuras versões, por favor, migre antes.

Para substituir o nó regular pós-análises pelo Wallarm node:

  1. Abra Wallarm Console → Nodes Nuvem US ou Nuvem EU e crie o nó Wallarm node.

    Criação do nó Wallarm

  2. Copie o token gerado.

  3. Execute o script register-node para executar o Wallarm node:

    sudo /usr/share/wallarm-common/register-node -t <TOKEN> -H us1.api.wallarm.com --force --no-sync --no-sync-acl
    
    sudo /usr/share/wallarm-common/register-node -t <TOKEN> --force --no-sync --no-sync-acl
    
    • <TOKEN> é o valor copiado do token de nó ou token de API com a função Deploy.
    • A opção --force força a reescritura das credenciais de acesso à Wallarm Cloud especificadas no arquivo /etc/wallarm/node.yaml.


    Usando um token para várias instalações


    Você tem duas opções para usar um token para várias instalações:



    • Para todas as versões de nó, você pode usar um token de nó em várias instalações, independentemente da plataforma selecionada. Isso permite a agrupação lógica de instâncias de nó na interface do usuário do Console Wallarm. Exemplo: você implanta vários nós Wallarm em um ambiente de desenvolvimento, cada nó está em sua própria máquina de propriedade de um determinado desenvolvedor.


    • A partir do nó 4.6, para agrupamento de nós, você pode usar um token API com a função Deploy junto com a flag --labels 'group=<GROUP>', por exemplo:

      sudo /usr/share/wallarm-common/register-node -t <TOKEN API COM FUNÇÃO DEPLOY> --labels 'group=<GROUP>'
      



Passo 5: Reinicie o módulo pós-análise

sudo systemctl restart wallarm-tarantool
sudo service wallarm-tarantool restart
sudo systemctl restart wallarm-tarantool
sudo systemctl restart wallarm-tarantool
sudo systemctl restart wallarm-tarantool

Atualize os módulos NGINX Wallarm