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-schemaconfig.injectionStrategy.schema | Padrão de implantação do container Wallarm: single (padrão) ou split. |
Anotação: sidecar.wallarm.io/sidecar-injection-iptables-enableconfig.injectionStrategy.iptablesEnable | Se deseja iniciar o contêiner iptables init: true (padrão) ou false. |
Anotação: sidecar.wallarm.io/wallarm-applicationSem valor de gráfico | ID de aplicação da Wallarm. |
Anotação: sidecar.wallarm.io/wallarm-block-pageSem 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-libdetectionconfig.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-fallbackconfig.wallarm.fallback | Modo fallback da Wallarm: on (padrão) ou off. |
Anotação: sidecar.wallarm.io/wallarm-modeconfig.wallarm.mode | Modo de filtragem de tráfego: monitoring (padrão), safe_blocking, block ou off. |
Anotação: sidecar.wallarm.io/wallarm-mode-allow-overrideconfig.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-groupconfig.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-disableSem 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-responseconfig.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-enableconfig.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.
|
Anotação: sidecar.wallarm.io/wallarm-parse-websocketconfig.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-responseconfig.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-attemptsconfig.wallarm.upstream.connectAttempts | Define o número de reconexões imediatas para Tarantool ou API Wallarm. |
Anotação: sidecar.wallarm.io/wallarm-upstream-reconnect-intervalconfig.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-portconfig.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-portconfig.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-includeSem 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-snippetSem 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-includeSem 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-snippetSem 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-includeSem 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-snippetSem 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-modulesSem valor de gráfico | Matriz de módulos NGINX adicionais que devem ser habilitados. |
Anotação: sidecar.wallarm.io/proxy-extra-volumesSem 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-mountsSem 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-cpuconfig.sidecar.containers.proxy.resources.requests.cpu | CPU solicitada para o contêiner sidecar-proxy. |
Anotação: sidecar.wallarm.io/proxy-memoryconfig.sidecar.containers.proxy.resources.requests.memory | Memória solicitada para o contêiner sidecar-proxy. |
Anotação: sidecar.wallarm.io/proxy-cpu-limitconfig.sidecar.containers.proxy.resources.limits.cpu | Limite de CPU para o contêiner sidecar-proxy. |
Anotação: sidecar.wallarm.io/proxy-memory-limitconfig.sidecar.containers.proxy.resources.limits.memory | Limite de memória para o contêiner sidecar-proxy. |
Anotação: sidecar.wallarm.io/helper-cpuconfig.sidecar.containers.helper.resources.requests.cpu | CPU solicitada para o contêiner sidecar-helper. |
Anotação: sidecar.wallarm.io/helper-memoryconfig.sidecar.containers.helper.resources.requests.memory | Memória solicitada para o contêiner sidecar-helper. |
Anotação: sidecar.wallarm.io/helper-cpu-limitconfig.sidecar.containers.helper.resources.limits.cpu | Limite de CPU para o contêiner sidecar-helper. |
Anotação: sidecar.wallarm.io/helper-memory-limitconfig.sidecar.containers.helper.resources.limits.memory | Limite de memória para o contêiner sidecar-helper. |
Anotação: sidecar.wallarm.io/init-iptables-cpuconfig.sidecar.initContainers.iptables.resources.requests.cpu | CPU solicitada para o contêiner sidecar-init-iptables. |
Anotação: sidecar.wallarm.io/init-iptables-memoryconfig.sidecar.initContainers.iptables.resources.requests.memory | Memória solicitada para o contêiner sidecar-init-iptables. |
Anotação: sidecar.wallarm.io/init-iptables-cpu-limitconfig.sidecar.initContainers.iptables.resources.limits.cpu | Limite de CPU para o contêiner sidecar-init-iptables. |
Anotação: sidecar.wallarm.io/init-iptables-memory-limitconfig.sidecar.initContainers.iptables.resources.limits.memory | Limite de memória para o contêiner sidecar-init-iptables. |
Anotação: sidecar.wallarm.io/init-helper-cpuconfig.sidecar.initContainers.helper.resources.requests.cpu | CPU solicitada para o contêiner sidecar-init-helper. |
Anotação: sidecar.wallarm.io/init-helper-memoryconfig.sidecar.initContainers.helper.resources.requests.memory | Memória solicitada para o contêiner sidecar-init-helper. |
Anotação: sidecar.wallarm.io/init-helper-cpu-limitconfig.sidecar.initContainers.helper.resources.limits.cpu | Limite de CPU para o contêiner sidecar-init-helper. |
Anotação: sidecar.wallarm.io/init-helper-memory-limitconfig.sidecar.initContainers.helper.resources.limits.memory | Limite de memória para o contêiner sidecar-init-helper. |
Anotação: sidecar.wallarm.io/profileSem 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:
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