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 parahttps://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:
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:
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).
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:
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:
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:
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 statusativo
-
Analise os logs do módulo postanalytics
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:
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.
-
No servidor com o módulo NGINX‑Wallarm, obtenha as estatísticas das solicitações processadas usando o comando abaixo e certifique-se de que o valor de
tnt_errors
é 0Descrição de todos os parâmetros retornados pelo serviço de estatísticas →
Passo 8: Remover o antigo módulo de pós-análise¶
-
Exclua o módulo postanalytics antigo no Console Wallarm → Nós selecionando seu nó do módulo postanalytics e clicando em Excluir.
-
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.
- Exclua a máquina com o módulo postanalytics antigo ou simplesmente limpe-a dos componentes do módulo postanalytics do Wallarm:
=== "Debian"
=== "Ubuntu"
=== "CentOS ou Amazon Linux 2.0.2021 e inferior"
=== "AlmaLinux, Rocky Linux ou Oracle Linux 8.x"
=== "RHEL 8.x"
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 parahttps://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
Debian e Ubuntu
-
Abra o arquivo com o endereço do repositório Wallarm no editor de texto instalado. Nesta instrução, vim é usado.
-
Comente ou delete o endereço do repositório anterior.
-
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.
Passo 2: Atualize os pacotes do Tarantool¶
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:
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.
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:
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.
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.
-
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.
-
Abra a Console Wallarm → Nós na Nuvem US ou Nuvem UE e crie o nó do tipo Wallarm node.
-
Copie o token gerado.
-
Execute o script
register-node
para executar o nó:<TOKEN>
é o valor copiado do token do nó ou token API com a funçãoDeploy
.- 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>'