Executando a Imagem Docker Baseada em Envoy¶
Essas instruções descrevem as etapas para executar a imagem Docker Wallarm baseada em Envoy 1.18.4. A imagem contém todos os sistemas necessários para a operação correta do nó Wallarm:
-
Serviços de proxy Envoy com o módulo Wallarm embutido
-
Módulos do Tarantool para pós-análise
-
Outros serviços e scripts
O módulo Wallarm é projetado como um filtro HTTP Envoy para proxying de solicitações.
Parâmetros de configuração suportados
Observe que a maioria das diretivas para a configuração do nó de filtragem baseado em NGINX não são suportadas para a configuração do nó de filtragem baseado em Envoy. Consequentemente, a configuração de limite de taxa não está disponível neste método de implantação.
Veja a lista de parâmetros disponíveis para a configuração do nó de filtragem baseada em Envoy →
Casos de uso¶
Entre todas as opções de implantação do Wallarm suportadas, a imagem Docker baseada em Envoy é recomendada para a implantação do Wallarm nestes casos de uso:
-
Se a sua organização utiliza infraestrutura baseada em Docker, a imagem Docker do Wallarm é a escolha ideal. Ela se integra sem esforços à sua configuração existente, seja você empregando uma arquitetura de microserviços rodando no AWS ECS, Alibaba ECS, ou outros serviços similares. Esta solução também se aplica àqueles que usam máquinas virtuais buscando um gerenciamento mais simplificado por meio de containers Docker.
-
Se você necessita de um controle refinado sobre cada container, a imagem Docker se destaca. Ela oferece um maior nível de isolamento de recursos do que o habitualmente possível com implantações baseadas em VM tradicionais.
Requisitos¶
-
Docker instalado no seu sistema de host
-
Acesso a
https://hub.docker.com/r/wallarm/envoy
para baixar a imagem Docker. Certifique-se de que o acesso não esteja bloqueado por um firewall -
Acesso à conta com a função de Administrador no Console Wallarm na Nuvem dos EUA ou na Nuvem da UE
-
Acesso a
https://us1.api.wallarm.com
se estiver trabalhando com a Nuvem Wallarm dos EUA ou comhttps://api.wallarm.com
se estiver trabalhando com a Nuvem Wallarm da UE. Certifique-se de que o acesso não esteja bloqueado por um firewall -
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
Opções para executar o contêiner¶
Os parâmetros de configuração do nó de filtragem podem ser passados para o comando docker run
das seguintes maneiras:
-
Nas variáveis de ambiente. Esta opção permite a configuração de apenas os parâmetros básicos do nó de filtragem, a maioria dos parâmetros não pode ser alterada através de variáveis de ambiente.
-
No arquivo de configuração montado. Esta opção permite a configuração de todos os parâmetros do nó de filtragem.
execute o contêiner passando as variáveis de ambiente¶
Para executar o contêiner:
-
Obtenha o token Wallarm do tipo apropriado:
-
Execute o contêiner com o nó:
Você pode passar as seguintes configurações básicas do nó de filtragem para o contêiner por meio da opção -e
:
Variável de ambiente | Descrição | Necessário |
---|---|---|
WALLARM_API_TOKEN | Token de nó ou API do Wallarm. | Sim |
ENVOY_BACKEND | Domínio ou endereço IP do recurso a ser protegido com a solução Wallarm. | Sim |
WALLARM_API_HOST | Servidor API Wallarm:
api.wallarm.com . | Não |
WALLARM_MODE | Modo de nó:
monitoring .Descrição detalhada dos modos de filtragem → | Não |
WALLARM_LABELS | Disponível a partir do nó 4.6. Funciona apenas se
... colocará a instância de nó no grupo de instâncias | Sim (para tokens de API) |
TARANTOOL_MEMORY_GB | Quantidade de memória alocada ao Tarantool. O valor pode ser um número inteiro ou um número decimal (um ponto . é um separador decimal). Por padrão: 0.2 gigabytes. | Não |
O comando faz o seguinte:
-
Cria o arquivo
envoy.yaml
com configuração mínima de Envoy no diretório do contêiner/etc/envoy
. -
Cria arquivos com credenciais do nó de filtragem para acessar a Wallarm Cloud no diretório do contêiner
/etc/wallarm
:node.yaml
com UUID do nó de filtragem e chave secretaprivate.key
com chave privada Wallarm
-
Protege o recurso
http://ENVOY_BACKEND:80
.
Execute o contêiner montando o envoy.yaml¶
Você pode montar o arquivo preparado envoy.yaml
no contêiner Docker por meio da opção -v
. O arquivo deve conter as seguintes configurações:
-
Configurações do nó de filtragem, conforme descrito nas instruções
-
Configurações Envoy conforme descrito nas instruções Envoy
Para executar o contêiner:
-
Obtenha o token Wallarm do tipo apropriado:
-
Execute o contêiner com o nó:
- A opção
-e
passa as seguintes variáveis de ambiente obrigatórias para o contêiner:
Variável de ambiente Descrição Necessário WALLARM_API_TOKEN
Token de nó do Wallarm. Usando um token para várias instalações
Você pode usar um token em várias instalações, independentemente do plataforma selecionada. Ele permite o agrupamento lógico de instâncias de nós na interface de usuário do Console Wallarm. Exemplo: você implanta vários nós Wallarm em um ambiente de desenvolvimento, cada nó está em sua própria máquina de propriedad de um certo desenvolvedor.
Sim WALLARM_API_HOST
Servidor API Wallarm: us1.api.wallarm.com
para a Nuvem dos EUAapi.wallarm.com
para a Nuvem da UE
api.wallarm.com
.Não - A opção
-v
monta o diretório com o arquivo de configuraçãoenvoy.yaml
no diretório do contêiner/etc/envoy
.
- A opção
O comando faz o seguinte:
-
Monta o arquivo
envoy.yaml
no diretório do contêiner/etc/envoy
. -
Cria arquivos com credenciais do nó de filtragem para acessar a Wallarm Cloud no diretório do contêiner
/etc/wallarm
:node.yaml
com UUID do nó de filtragem e chave secretaprivate.key
com chave privada Wallarm
-
Protege o recurso especificado no arquivo de configuração montado.
Configuração da rotação de logs (opcional)¶
A rotação do arquivo de log está pré-configurada e ativada por padrão. Você pode ajustar as configurações de rotação, se necessário. Essas configurações estão localizadas no diretório /etc/logrotate.d
do contêiner.
Testando 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.