Pular para conteúdo

Implantação com o Instalador All-in-One

Um instalador all-in-one foi projetado para simplificar e padronizar o processo de instalação do nodo Wallarm como um módulo dinâmico para o NGINX em diversos ambientes. Este instalador identifica automaticamente as versões do sistema operacional e do NGINX e instala todas as dependências necessárias.

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

  1. Verifica a versão do seu sistema operacional e do NGINX.

  2. Adiciona os repositórios Wallarm para a versão do SO e do NGINX detectada.

  3. Instala os pacotes Wallarm a partir desses repositórios.

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

  5. Conecta o nodo de filtro à nuvem Wallarm 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 NGINX e 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 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 instalador all-in-one 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: Executar instalador all-in-one Wallarm

  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 instalações x86_64 e ARM64.

Passo 5: Ativar o nodo Wallarm para analisar o tráfego

Por padrão, o nó Wallarm implantado não analisa o tráfego recebido. Para iniciar a análise, configure o Wallarm para proxy de tráfego através do arquivo /etc/nginx/conf.d/default.conf na máquina com o nó instalado:

  1. Defina um endereço IP para o Wallarm ser proxy do tráfego legítimo. Pode ser um IP de uma instância de aplicativo, balanceador de carga, nome DNS, etc., dependendo da sua arquitetura.

    Para isso, edite o valor proxy_pass, por exemplo, o Wallarm deve enviar solicitações legítimas para http://10.80.0.5:

    server {
        listen 80;
        listen [::]:80 ipv6only=on;
    
        ...
    
        location / {
            proxy_pass http://10.80.0.5; 
            ...
        }
    }
    
  2. Para o nó Wallarm analisar o tráfego recebido, defina a diretiva wallarm_mode para monitoring:

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

    O modo de monitoramento é o recomendado para a primeira implantação e teste de solução. Wallarm oferece também modos seguros de bloqueio, leia mais.

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 nodo Wallarm

Atualize os alvos do seu balanceador de carga para enviar tráfego para a instância Wallarm. Para mais detalhes, por favor, consulte a documentação do seu balanceador de carga.

Passo 8: Testar operação do nodo 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 dinâmico Wallarm com configurações padrão está instalado. O nodo de filtragem pode necessitar de alguma configuração adicional após a implantação.

As configurações do Wallarm são definidas usando as diretivas NGINX ou a interface do usuário do console Wallarm. As diretivas devem ser configuradas nos seguintes arquivos na máquina com o nodo Wallarm:

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

  • /etc/nginx/wallarm-status.conf com as definições de monitoramento do nodo 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, 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 com ele através do seguinte comando:

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

Que retorna:

...
Uso: setup.sh [options]... [arguments]... [filtering/postanalytics]

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

Note que:

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

    • Requer --token
    • Instala o nodo na nuvem UE por padrão
    • Permite modificações do comportamento do script com opções adicionais
  • O alternador filtering/postanalytics permite instalar separadamente o módulo postanalítico. Se o alternador não for usado, a parte de filtragem e pós-análise é instalada junta.