Pular para conteúdo

Implantando com o instalador All-in-One

Estas instruções descrevem os passos para instalar o Wallarm como um módulo dinâmico OOB usando um instalador all-in-one projetado para simplificar e padronizar o processo de instalação do nó Wallarm como um módulo dinâmico para NGINX em vários ambientes. Este instalador identifica automaticamente as versões do seu sistema operacional e do NGINX, e instala todas as dependências necessárias.

Em comparação com os pacotes Linux individuais oferecidos pelo Wallarm para NGINX, NGINX Plus, e NGINX fornecido pela distribuição, o instalador all-in-one simplifica o processo realizando automaticamente as seguintes ações:

  1. Verificando a versão do seu SO e do NGINX.

  2. Adicionando os repositórios Wallarm para o SO detectado e a versão NGINX.

  3. Instalando pacotes Wallarm desses repositórios.

  4. Conectando o módulo Wallarm instalado ao seu NGINX.

  5. Conectando o nó de filtragem ao Wallarm Cloud usando o token fornecido.

Comparação entre All-in-One e Manual

Casos de uso

Dentre todas as opções de implementação do Wallarm suportadas, esta solução é a recomendada para os seguintes casos de uso:

  • Sua infraestrutura é baseada em bare metal ou máquinas virtuais, sem o uso de métodos baseados em contêineres. Normalmente, essas configurações são gerenciadas com ferramentas de Infraestrutura como Código (IaC) como o Ansible ou SaltStack.

  • Seus serviços são construídos em torno do NGINX. O Wallarm pode estender suas funcionalidades usando o instalador tudo-em-um.

Requisitos

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

  • 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á sempre se expandindo, contate a equipe de suporte Wallarm para verificar se o seu sistema operacional está na lista )
  • Acesso a https://meganode.wallarm.com para baixar o instalador completo Wallarm. Certifique-se de que o acesso não está bloqueado por um firewall.

  • Acesso a https://us1.api.wallarm.com para trabalhar com a Nuvem Wallarm dos EUA ou a https://api.wallarm.com para trabalhar com a Nuvem Wallarm da UE. Se o acesso só pode ser configurado via servidor proxy, então use as instruções.

  • 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
    
  • Execução de todos os comandos como um superusuário (por exemplo, root).

Passo 1: Instalar o NGINX e as dependências

Instale a última versão do NGINX de:

  • NGINX estável - veja como instalá-lo na documentação do NGINX.

  • NGINX Plus - veja como instalá-lo na documentação do NGINX.

  • NGINX fornecido pela distribuição - para instalar, use os seguintes comandos:

    sudo apt-get update 
    sudo apt -y install --no-install-recommends nginx
    
    sudo apt update 
    sudo apt -y install --no-install-recommends nginx
    
    sudo yum -y update 
    sudo yum install -y nginx
    
    sudo yum -y update 
    sudo yum install -y nginx
    
    sudo yum -y update 
    sudo yum install -y nginx
    

Passo 2: Preparar 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: Baixar o instalador Wallarm all-in-one

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: Executar o instalador Wallarm all-in-one

  1. Execute o script baixado:

=== "Token da API"

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

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

   A variável `WALLARM_LABELS` define o grupo ao qual o nó será adicionado (usado para agrupar logicamente os nós na interface do usuário do Console Wallarm).

=== "Token do nó"

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

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

  1. Selecione Nuvem dos EUA ou Nuvem da EU.

  2. Insira o token Wallarm.

Os comandos nos próximos passos são os mesmos para as instalações x86_64 e ARM64.

Passo 5: Habilitar o nó Wallarm para analisar o tráfego

Por padrão, o nó do Wallarm implantado não analisa o tráfego de entrada.

Realize a seguinte configuração no arquivo de configuração do NGINX na máquina com o nó instalado para configurar o Wallarm para processar o espelho de tráfego:

  1. Para que o nó Wallarm aceite o tráfego espelhado, defina a seguinte configuração no bloco server do NGINX:

    wallarm_force server_addr $http_x_server_addr;
    wallarm_force server_port $http_x_server_port;
    # Altere 222.222.222.22 para o endereço do servidor de espelhamento
    set_real_ip_from  222.222.222.22;
    real_ip_header    X-Forwarded-For;
    real_ip_recursive on;
    wallarm_force response_status 0;
    wallarm_force response_time 0;
    wallarm_force response_size 0;
    
    • As diretrizes set_real_ip_from e real_ip_header são necessárias para que o Console Wallarm exiba os endereços IP dos invasores.
    • As diretrizes wallarm_force_response_* são necessárias para desativar a análise de todas as solicitações, exceto para cópias recebidas do tráfego espelhado.
  2. Para que o nó Wallarm analise o tráfego espelhado, defina a diretiva wallarm_mode como monitoring:

    server {
        listen 80;
        listen [::]:80 ipv6only=on;
        wallarm_mode monitoring;
    
        ...
    }
    

    Como as solicitações maliciosas não podem ser bloqueadas, o único modo que o Wallarm aceita é o monitoramento. Para a implantação em linha, também existem os modos de bloqueio seguro e bloqueio, mas mesmo que você defina a diretiva wallarm_mode para um valor diferente de monitoramento, o nó continua a monitorar o tráfego e registrar apenas o tráfego malicioso (além do modo definido como desligado).

Passo 6: Reiniciar o NGINX

Reinicie o NGINX usando o seguinte comando:

sudo systemctl restart nginx

Passo 7: Configurar o envio de tráfego para o nó Wallarm

Configure o seu ambiente para espelhar o tráfego de entrada para uma instância com o nó Wallarm que você está implantando. Para detalhes de configuração, recomendamos referir-se à documentação da solução que você planeja usar para produzir o espelhamento de tráfego (servidor web, servidor proxy, etc.).

Dentro do link, você encontrará o exemplo de configuração para NGINX, Traefik, Envoy.

Passo 8: Testar a operação do nó Wallarm

  1. Envie a solicitação com o ataque de teste Path Traversal para um endereço de recurso protegido:

    curl http://localhost/etc/passwd
    
  2. Abra o Console Wallarm → seção Eventos na Nuvem dos EUA ou Nuvem da UE e certifique-se de que o ataque está exibido na lista.
    Ataques na interface

Passo 9: Ajustar a solução implantada

O módulo Wallarm dinâmico com as configurações padrão está instalado. O nó de filtragem pode exigir alguma configuração adicional após a implantação.

As configurações Wallarm são definidas usando as diretivas NGINX ou a UI do Console Wallarm. As diretivas devem ser definidas nos seguintes arquivos na máquina com o nó Wallarm:

  • /etc/nginx/nginx.conf com as configurações NGINX

  • /etc/nginx/wallarm-status.conf com as configurações de monitoramento do nó Wallarm. Uma descrição detalhada está disponível no link

  • /opt/wallarm/etc/collectd/wallarm-collectd.conf.d/wallarm-tarantool.conf com as configurações para o plugin collectd que coleta estatísticas do Tarantool

Abaixo estão algumas das configurações típicas que você pode aplicar se necessário:

Opções de lançamento

Assim que você tiver o script all-in-one baixado, você pode obter ajuda sobre ele com:

sudo sh ./wallarm-4.8.0.x86_64-glibc.sh -- -h

Que retorna:

...
Uso: setup.sh [opções]... [argumentos]... [filtragem/pós-análitica]

OPÇÃO                      DESCRIÇÃO
-b, --batch                 Modo batch, instalação não interativa.
-t, --token TOKEN           Token do nó, usado apenas no modo batch.
-c, --cloud CLOUD           Wallarm Cloud, uma das US/EU, padrão é EU, usado apenas no modo batch.
-H, --host HOST             Endereço da API Wallarm, por exemplo, api.wallarm.com ou us1.api.wallarm.com, usado apenas no modo batch.
-P, --port PORT             Pot da API Wallarm, por exemplo, 443.
    --no-ssl                Desativar SSL para acesso à API Wallarm.
    --no-verify             Desativar a verificação de certificados SSL.
-f, --force                 Se houver um nó com o mesmo nome, criar uma nova instância.
-h, --help
    --version

Note que:

  • A opção --batch habilita o modo batch (não interativo). Neste modo, se você não usar parâmetros adicionais, o nó é instalado imediatamente após o lançamento do script, não requerendo nenhuma interação adicional ou entrada de dados do usuário. O modo batch:

    • Requer --token
    • Instala o nó no Cloud do EU por padrão
    • Permite modificações no comportamento do script com opções adicionais
  • O alternador filtering/postanalytics permite instalar separadamente o módulo de pós-análise. Se o alternador não for usado, as partes de filtragem e pós-análise são instaladas juntas.