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:
-
Verifica a versão do seu sistema operacional e do NGINX.
-
Adiciona os repositórios Wallarm para a versão do SO e do NGINX detectada.
-
Instala os pacotes Wallarm a partir desses repositórios.
-
Conecta o módulo Wallarm instalado ao seu NGINX.
-
Conecta o nodo de filtro à nuvem Wallarm 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 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:
Passo 2: Preparar token Wallarm¶
Para instalar o node, você precisará de um token Wallarm do tipo apropriado. Para preparar um 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:
Passo 4: Executar instalador all-in-one Wallarm¶
- 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 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:
-
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 parahttp://10.80.0.5
: -
Para o nó Wallarm analisar o tráfego recebido, defina a diretiva
wallarm_mode
paramonitoring
: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:
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¶
-
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 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 plugincollectd
que coleta estatísticas do Tarantool
Abaixo, algumas das configurações típicas que você pode aplicar, se necessário:
-
Usando o balanceador do servidor proxy atrás do nodo 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
proxy_read_timeout
-
Limitando o tamanho máximo da solicitação na diretiva
client_max_body_size
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:
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
- Requer
-
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.