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:
-
Verificando a versão do seu SO e do NGINX.
-
Adicionando os repositórios Wallarm para o SO detectado e a versão NGINX.
-
Instalando pacotes Wallarm desses repositórios.
-
Conectando o módulo Wallarm instalado ao seu NGINX.
-
Conectando o nó de filtragem ao Wallarm Cloud usando o token fornecido.
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 ahttps://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
-
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:
Passo 2: Preparar o token Wallarm¶
Para instalar o node, você precisará de um token Wallarm do tipo apropriado. Para preparar um 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:
Passo 4: Executar o instalador Wallarm all-in-one¶
- 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
-
Selecione Nuvem dos EUA ou Nuvem da EU.
-
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:
-
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
ereal_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.
- As diretrizes
-
Para que o nó Wallarm analise o tráfego espelhado, defina a diretiva
wallarm_mode
comomonitoring
: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:
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¶
-
Envie a solicitação com o ataque de teste Path Traversal para um endereço de recurso protegido:
-
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.
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 plugincollectd
que coleta estatísticas do Tarantool
Abaixo estão algumas das configurações típicas que você pode aplicar se necessário:
-
Usando o balanceador do servidor proxy atrás do nó de filtragem
-
Limitando o tempo de processamento de uma única solicitação na diretiva
wallarm_process_time_limit
-
Limitando o tempo de espera da resposta do servidor na diretiva NGINX
proxy_read_timeout
-
Limitando o tamanho máximo da solicitação na diretiva NGINX
client_max_body_size
Opções de lançamento¶
Assim que você tiver o script all-in-one baixado, você pode obter ajuda sobre ele com:
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
- Requer
-
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.