Pular para conteúdo

Atualizando o módulo de pós-análise

Estas instruções descrevem os passos para atualizar o módulo de pós-análise 4.x instalado em um servidor separado. O módulo de pós-análise deve ser atualizado antes de Atualizar Módulos Wallarm NGINX.

Para atualizar o módulo de fim de vida (3.6 ou inferior), por favor, use as instruções diferentes.

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 instalador tudo em um

Use o procedimento abaixo para atualizar o módulo de pós-análise 4.x instalado em um servidor separado para a versão 4.8 usando 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 a 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 Wallarm tudo em um

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 Wallarm tudo em um para instalar a pós-análise

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 o módulo NGINX-Wallarm em um servidor separado

Assim que o módulo de pós-análise estiver instalado em um servidor separado, atualize o módulo NGINX-Wallarm correspondente funcionando em um servidor diferente.

Combinando métodos de atualização

Ambos os métodos, manual e automático, podem ser usados para atualizar o módulo NGINX-Wallarm correspondente.

Passo 6: 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 7: Verifique a interação dos módulos NGINX‑Wallarm e pós-análise separados

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 8: Remover o antigo módulo de 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 de pós-análise 4.x 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: Adicionar novo repositório Wallarm

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

CentOS e Amazon Linux 2.0.2021x e inferior

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
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 pelo NGINX estável e NGINX Plus

    As versões oficiais da NGINX (estável e Plus) e, como resultado, o nó Wallarm 4.4 e superior, não podem ser instaladas no Debian 10.x (buster). Por favor, use este sistema operacional apenas se NGINX estiver 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 2: Atualize os pacotes do 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 3: Atualize o tipo de nó

Apenas para nós instalados usando o script addnode

Siga este passo apenas se um nó de uma versão anterior estiver conectado ao Wallarm Cloud usando o script addnode. Este script foi removido e substituído pelo register-node, que requer um token para registrar o nó na Cloud.

  1. Certifique-se de que sua conta Wallarm tem a função Administrador navegando até a lista de usuários na Nuvem US ou Nuvem UE.

    Lista de usuários na console Wallarm

  2. Abra a Console Wallarm → Nós na Nuvem US ou Nuvem UE e crie o nó do tipo Wallarm node.

    Criação de nó Wallarm

  3. Copie o token gerado.

  4. Execute o script register-node para executar o nó:

    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 do nó ou token API com a função Deploy.
    • A opção --force impõe a substituição das credenciais de acesso à Nuvem Wallarm especificadas no arquivo /etc/wallarm/node.yaml.

    Usar 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ós, você pode usar um token de nó em várias instalações, independentemente da plataforma selecionada. Ele permite o agrupamento lógico de instâncias de nós na interface da Wallarm Console. Exemplo: você implanta vários nós Wallarm em um ambiente de desenvolvimento, cada nó está em sua própria máquina pertencente a um determinado desenvolvedor.
    • A partir de nó 4.6, para agrupar os nós, você pode usar um token API com a função Deploy junto com a bandeira --labels 'group=<GROUP>', por exemplo:


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

Passo 4: Reinicie o módulo de 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 Wallarm NGINX