Pular para conteúdo

Anotações do Pod Suportadas pelo Sidecar da Wallarm

A solução Sidecar da Wallarm pode ser configurada via anotações em uma base per-pod. A lista de anotações suportadas nesta solução está descrita neste documento.

Prioridades das configurações globais e per-pod

As anotações per-pod têm precedência sobre os valores do gráfico Helm.

Lista de anotações

Anotação e valor de gráfico correspondente Descrição
Anotação: sidecar.wallarm.io/sidecar-injection-schema

config.injectionStrategy.schema
Padrão de implantação do container Wallarm: single (padrão) ou split.
Anotação: sidecar.wallarm.io/sidecar-injection-iptables-enable

config.injectionStrategy.iptablesEnable
Se deseja iniciar o contêiner iptables init: true (padrão) ou false.
Anotação: sidecar.wallarm.io/wallarm-application

Sem valor de gráfico
ID de aplicação da Wallarm.
Anotação: sidecar.wallarm.io/wallarm-block-page

Sem valor de gráfico
Página de bloqueio e código de erro para retornar a solicitações bloqueadas.
Anotação: sidecar.wallarm.io/wallarm-enable-libdetection

config.wallarm.enableLibDetection
Se deseja validar adicionalmente os ataques de Injeção de SQL usando a biblioteca libdetection: on (padrão) ou off.
Anotação: sidecar.wallarm.io/wallarm-fallback

config.wallarm.fallback
Modo fallback da Wallarm: on (padrão) ou off.
Anotação: sidecar.wallarm.io/wallarm-mode

config.wallarm.mode
Modo de filtragem de tráfego: monitoring (padrão), safe_blocking, block ou off.
Anotação: sidecar.wallarm.io/wallarm-mode-allow-override

config.wallarm.modeAllowOverride
Gerencia a capacidade de substituir os valores wallarm_mode por meio de configurações na Nuvem: on (padrão), off ou strict.
Anotação: sidecar.wallarm.io/wallarm-node-group

config.wallarm.api.nodeGroup
Especifica o nome do grupo de nós de filtragem que você deseja adicionar aos nós recém-implantados. Agrupamento de nós desta maneira está disponível somente quando você cria e conecta nós à Nuvem usando um token de API com a função Deploy (seu valor é passado no parâmetro config.wallarm.api.token).
Este valor não surte efeito nos pods Tarantool, nós para eles são sempre vinculados ao grupo de nós especificado no valor do gráfico Helm config.wallarm.api.nodeGroup.
Anotação: sidecar.wallarm.io/wallarm-parser-disable

Sem valor de gráfico
Permite desativar os analisadores. Os valores da diretiva correspondem ao nome do analisador a ser desativado, por exemplo, json. Múltiplos analisador podem ser especificados, dividindo-os por ponto e vírgula, por exemplo, json;base64.
Anotação: sidecar.wallarm.io/wallarm-parse-response

config.wallarm.parseResponse
Se deseja analisar as respostas do aplicativo para ataques: on (padrão) ou off. A análise da resposta é necessária para a detecção de vulnerabilidades durante a detecção passiva e a verificação de ameaça ativa.
Anotação: sidecar.wallarm.io/wallarm-acl-export-enable

config.wallarm.aclExportEnable
Habilita on / desabilita off o envio de estatísticas sobre as solicitações de IPs na lista de negação do nó para a Nuvem.
  • Com o valor "on" (padrão), as estatísticas sobre as solicitações dos IPs na lista de negação serão exibidas na seção Eventos.
  • Com o valor "off", as estatísticas sobre as solicitações dos IPs na lista de negação não serão exibidas.
Anotação: sidecar.wallarm.io/wallarm-parse-websocket

config.wallarm.parseWebsocket
Wallarm tem suporte total para WebSockets. Por padrão, as mensagens de WebSockets não são analisadas quanto a ataques. Para forçar o recurso, ative o plano de assinatura de Segurança da API subscription plan e use esta anotação: on ou off (padrão).
Anotação: sidecar.wallarm.io/wallarm-unpack-response

config.wallarm.unpackResponse
Se deseja decomprimir dados comprimidos retornados na resposta do aplicativo: on (padrão) ou off.
Anotação: sidecar.wallarm.io/wallarm-upstream-connect-attempts

config.wallarm.upstream.connectAttempts
Define o número de reconexões imediatas para Tarantool ou API Wallarm.
Anotação: sidecar.wallarm.io/wallarm-upstream-reconnect-interval

config.wallarm.upstream.reconnectInterval
Define o intervalo entre tentativas de reconectar ao Tarantool ou Wallarm API depois que o número de tentativas sem sucesso excedeu o limite para o número de reconexões imediatas.
Anotação: sidecar.wallarm.io/application-port

config.nginx.applicationPort
O contêiner Wallarm espera que as solicitações de entrada sejam direcionadas para esta porta, caso não sejam encontradas portas de aplicativo de pod expostas.
Anotação: sidecar.wallarm.io/nginx-listen-port

config.nginx.listenPort
Porta escutada pelo contêiner Wallarm. Esta porta está reservada para uso pela solução sidecar Wallarm, ela não pode ser a mesmo que a application-port.
Anotação: sidecar.wallarm.io/nginx-http-include

Sem valor de gráfico
Matriz de caminhos para os arquivos de configuração NGINX que devem ser incluídos no nível http da configuração NGINX. O arquivo deve ser montado no contêiner e este caminho deve apontar para o arquivo no contêiner.
Anotação: sidecar.wallarm.io/nginx-http-snippet

Sem valor de gráfico
Configuração adicional inline que deve ser incluída no nível http da configuração NGINX.
Anotação: sidecar.wallarm.io/nginx-server-include

Sem valor de gráfico
Matriz de caminhos para os arquivos de configuração NGINX que devem ser incluídos no nível server da configuração NGINX. O arquivo deve ser montado no contêiner e este caminho deve apontar para o arquivo no contêiner.
Anotação: sidecar.wallarm.io/nginx-server-snippet

Sem valor de gráfico
Configuração adicional inline que deve ser incluída no nível server da configuração NGINX.
Anotação: sidecar.wallarm.io/nginx-location-include

Sem valor de gráfico
Matriz de caminhos para os arquivos de configuração NGINX que devem ser incluídos no nível location da configuração NGINX. O arquivo deve ser montado no contêiner e este caminho deve apontar para o arquivo no contêiner.
Anotação: sidecar.wallarm.io/nginx-location-snippet

Sem valor de gráfico
Configuração adicional inline que deve ser incluída no nível location da configuração NGINX.
Anotação: sidecar.wallarm.io/nginx-extra-modules

Sem valor de gráfico
Matriz de módulos NGINX adicionais que devem ser habilitados.
Anotação: sidecar.wallarm.io/proxy-extra-volumes

Sem valor de gráfico
Volumes personalizados a serem adicionados ao Pod (matriz). O valor da anotação deve ser envolvido em aspas simples ''.
Anotação: sidecar.wallarm.io/proxy-extra-volume-mounts

Sem valor de gráfico
Montagens de volume personalizadas a serem adicionadas ao contêiner sidecar-proxy (objeto JSON). O valor da anotação deve ser envolvido em aspas simples ''.
Anotação: sidecar.wallarm.io/proxy-cpu

config.sidecar.containers.proxy.resources.requests.cpu
CPU solicitada para o contêiner sidecar-proxy.
Anotação: sidecar.wallarm.io/proxy-memory

config.sidecar.containers.proxy.resources.requests.memory
Memória solicitada para o contêiner sidecar-proxy.
Anotação: sidecar.wallarm.io/proxy-cpu-limit

config.sidecar.containers.proxy.resources.limits.cpu
Limite de CPU para o contêiner sidecar-proxy.
Anotação: sidecar.wallarm.io/proxy-memory-limit

config.sidecar.containers.proxy.resources.limits.memory
Limite de memória para o contêiner sidecar-proxy.
Anotação: sidecar.wallarm.io/helper-cpu

config.sidecar.containers.helper.resources.requests.cpu
CPU solicitada para o contêiner sidecar-helper.
Anotação: sidecar.wallarm.io/helper-memory

config.sidecar.containers.helper.resources.requests.memory
Memória solicitada para o contêiner sidecar-helper.
Anotação: sidecar.wallarm.io/helper-cpu-limit

config.sidecar.containers.helper.resources.limits.cpu
Limite de CPU para o contêiner sidecar-helper.
Anotação: sidecar.wallarm.io/helper-memory-limit

config.sidecar.containers.helper.resources.limits.memory
Limite de memória para o contêiner sidecar-helper.
Anotação: sidecar.wallarm.io/init-iptables-cpu

config.sidecar.initContainers.iptables.resources.requests.cpu
CPU solicitada para o contêiner sidecar-init-iptables.
Anotação: sidecar.wallarm.io/init-iptables-memory

config.sidecar.initContainers.iptables.resources.requests.memory
Memória solicitada para o contêiner sidecar-init-iptables.
Anotação: sidecar.wallarm.io/init-iptables-cpu-limit

config.sidecar.initContainers.iptables.resources.limits.cpu
Limite de CPU para o contêiner sidecar-init-iptables.
Anotação: sidecar.wallarm.io/init-iptables-memory-limit

config.sidecar.initContainers.iptables.resources.limits.memory
Limite de memória para o contêiner sidecar-init-iptables.
Anotação: sidecar.wallarm.io/init-helper-cpu

config.sidecar.initContainers.helper.resources.requests.cpu
CPU solicitada para o contêiner sidecar-init-helper.
Anotação: sidecar.wallarm.io/init-helper-memory

config.sidecar.initContainers.helper.resources.requests.memory
Memória solicitada para o contêiner sidecar-init-helper.
Anotação: sidecar.wallarm.io/init-helper-cpu-limit

config.sidecar.initContainers.helper.resources.limits.cpu
Limite de CPU para o contêiner sidecar-init-helper.
Anotação: sidecar.wallarm.io/init-helper-memory-limit

config.sidecar.initContainers.helper.resources.limits.memory
Limite de memória para o contêiner sidecar-init-helper.
Anotação: sidecar.wallarm.io/profile

Sem valor de gráfico
A anotação é usada para atribuir um perfil TLS específico a um pod da aplicação para Encerramento de TLS/SSL.

Esta anotação e o encerramento de TLS/SSL são suportados a partir do gráfico Helm 4.6.1.

Existem mais diretivas NGINX suportadas pela Wallarm que não são abrangidas por anotações diretas. No entanto, você também pode configurá-las usando as anotações nginx-*-snippet e nginx-*-include.

Como usar anotações

Para aplicar uma anotação a um pod, especifique-a nas configurações do objeto Deployment da aplicação apropriada, por exemplo:

kubectl edit deployment -n <APLICAÇÃO_DO_NAMESPACE> <APLICAÇÃO_LABEL_VALUE>
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
        wallarm-sidecar: enabled
      annotations:
        sidecar.wallarm.io/wallarm-mode: block
    spec:
      containers:
        - name: application
          image: kennethreitz/httpbin
          ports:
            - name: http
              containerPort: 80