Ana içeriğe geç

Wallarm Sidecar tarafından desteklenen Pod annotasyonları

Wallarm Sidecar çözümü, pod başına annotasyonlar aracılığıyla yapılandırılabilir. Bu çözümde desteklenen annotasyonların listesi bu belgede açıklanmaktadır.

Global ve pod başına ayarların öncelikleri

Pod başına annotasyonlar, Helm chart değerlerine üstün gelir.

Annotasyon listesi

Annotasyon ve karşılık gelen chart değeri Açıklama
Annotasyon: sidecar.wallarm.io/sidecar-injection-schema

config.injectionStrategy.schema
Wallarm konteyner dağıtım deseni: single (varsayılan) veya split.
Annotasyon: sidecar.wallarm.io/sidecar-injection-iptables-enable

config.injectionStrategy.iptablesEnable
iptables init konteynerinin başlatılıp başlatılmayacağı: true (varsayılan) veya false.
Annotasyon: sidecar.wallarm.io/wallarm-application

Chart değeri yok
Wallarm uygulama kimliği.
Annotasyon: sidecar.wallarm.io/wallarm-block-page

Chart değeri yok
Engellenen isteklere döndürülecek engelleme sayfası ve hata kodu.
Annotasyon: sidecar.wallarm.io/wallarm-enable-libdetection

config.wallarm.enableLibDetection
libdetection kütüphanesini kullanarak SQL Injection saldırılarını ayrıca doğrulayıp doğrulamayacağı: on (varsayılan) veya off.
Annotasyon: sidecar.wallarm.io/wallarm-fallback

config.wallarm.fallback
Wallarm fallback modu: on (varsayılan) veya off.
Annotasyon: sidecar.wallarm.io/wallarm-mode

config.wallarm.mode
Trafik filtreleme modu: monitoring (varsayılan), safe_blocking, block veya off.
Annotasyon: sidecar.wallarm.io/wallarm-mode-allow-override

config.wallarm.modeAllowOverride
Cloud’daki ayarlar üzerinden wallarm_mode değerlerini geçersiz kılma olasılığını yönetir: on (varsayılan), off veya strict.
Annotasyon: sidecar.wallarm.io/wallarm-node-group

config.wallarm.api.nodeGroup
Yeni dağıtılan düğümleri eklemek istediğiniz filtreleme düğümleri grubunun adını belirtir. Bu şekilde düğüm gruplama yalnızca, kullanım türü Node deployment/Deployment olan bir API belirteci kullanarak düğümleri Cloud’a oluşturup bağladığınızda kullanılabilir (değeri config.wallarm.api.token parametresinde iletilir).
Bu değer postanalytics pod’ları üzerinde etkili değildir, onlar için düğümler her zaman config.wallarm.api.nodeGroup Helm chart değerinde belirtilen düğüm grubuna bağlanır.
Annotasyon: sidecar.wallarm.io/wallarm-parser-disable

Chart değeri yok
Parsers devre dışı bırakılabilir. Yönerge değerleri devre dışı bırakılacak parser’ın adına karşılık gelir, ör. json. Birden fazla parser noktalı virgülle ayrılarak belirtilebilir, ör. json;base64.
Annotasyon: sidecar.wallarm.io/wallarm-parse-response

config.wallarm.parseResponse
Uygulama yanıtlarının saldırılar için analiz edilip edilmeyeceği: on (varsayılan) veya off. Yanıt analizi, pasif tespit ve tehdit tekrar yürütme testleri sırasında güvenlik açığı tespiti için gereklidir.
Annotasyon: sidecar.wallarm.io/wallarm-acl-export-enable

config.wallarm.aclExportEnable
Düğümden Cloud’a, denylist’e alınmış IP’lerden gelen isteklerle ilgili istatistiklerin gönderilmesini etkinleştirir on / devre dışı bırakır off.
  • "on" değeri (varsayılan) ile denylist’e alınmış IP’lerden gelen isteklere ilişkin istatistikler Attacks bölümünde görüntülenir.
  • "off" değeri ile denylist’e alınmış IP’lerden gelen isteklere ilişkin istatistikler görüntülenmez.
Annotasyon: sidecar.wallarm.io/wallarm-parse-websocket

config.wallarm.parseWebsocket
Wallarm, WebSocket’leri tam olarak destekler. Varsayılan olarak WebSocket mesajları saldırılar için analiz edilmez. Özelliği zorlamak için API Security abonelik planını etkinleştirin ve bu annotasyonu kullanın: on veya off (varsayılan).
Annotasyon: sidecar.wallarm.io/wallarm-unpack-response

config.wallarm.unpackResponse
Uygulama yanıtında döndürülen sıkıştırılmış verilerin açılıp açılmayacağı: on (varsayılan) veya off.
Annotasyon: sidecar.wallarm.io/wallarm-upstream-connect-attempts

config.wallarm.upstream.connectAttempts
postanalytics veya Wallarm API’ye anında yeniden bağlanma denemelerinin sayısını tanımlar.
Annotasyon: sidecar.wallarm.io/wallarm-upstream-reconnect-interval

config.wallarm.upstream.reconnectInterval
Anında yeniden bağlanma denemeleri sayısına ilişkin eşik aşıldıktan sonra postanalytics veya Wallarm API’ye yeniden bağlanma denemeleri arasındaki aralığı tanımlar.
Annotasyon: sidecar.wallarm.io/application-port

config.nginx.applicationPort
Herhangi bir yayınlanmış uygulama pod portu bulunamazsa, Wallarm konteyneri gelen isteklerin yönlendirileceği port olarak bu portu bekler.
Annotasyon: sidecar.wallarm.io/nginx-listen-port

config.nginx.listenPort
Wallarm konteynerinin dinlediği port. Bu port Wallarm sidecar çözümü tarafından kullanım için ayrılmıştır, application-port ile aynı olamaz.
Annotasyon: sidecar.wallarm.io/nginx-http-include

Chart değeri yok
NGINX yapılandırmasının http seviyesinde include edilmesi gereken NGINX yapılandırma dosyalarının yolları (dizi). Dosya konteynere mount edilmelidir ve bu yol konteyner içindeki dosyayı işaret etmelidir.
Annotasyon: sidecar.wallarm.io/nginx-http-snippet

Chart değeri yok
NGINX yapılandırmasının http seviyesine dahil edilmesi gereken ek satır içi yapılandırma.
Annotasyon: sidecar.wallarm.io/nginx-server-include

Chart değeri yok
NGINX yapılandırmasının server seviyesinde include edilmesi gereken NGINX yapılandırma dosyalarının yolları (dizi). Dosya konteynere mount edilmelidir ve bu yol konteyner içindeki dosyayı işaret etmelidir.
Annotasyon: sidecar.wallarm.io/nginx-server-snippet

Chart değeri yok
NGINX yapılandırmasının server seviyesine dahil edilmesi gereken ek satır içi yapılandırma.
Annotasyon: sidecar.wallarm.io/nginx-location-include

Chart değeri yok
NGINX yapılandırmasının location seviyesinde include edilmesi gereken NGINX yapılandırma dosyalarının yolları (dizi). Dosya konteynere mount edilmelidir ve bu yol konteyner içindeki dosyayı işaret etmelidir.
Annotasyon: sidecar.wallarm.io/nginx-location-snippet

Chart değeri yok
NGINX yapılandırmasının location seviyesine dahil edilmesi gereken ek satır içi yapılandırma.
Annotasyon: sidecar.wallarm.io/nginx-extra-modules

Chart değeri yok
Etkinleştirilecek ek NGINX modülleri dizisi.
Annotasyon: sidecar.wallarm.io/nginx-worker-connections

config.nginx.workerConnections
Bir NGINX worker süreci tarafından açılabilecek eşzamanlı bağlantıların maksimum sayısı. Varsayılan olarak chart değeri 4096’dır.
Annotasyon: sidecar.wallarm.io/nginx-worker-processes

config.nginx.workerProcesses
NGINX worker süreç sayısı. Varsayılan olarak chart değeri auto’dur; bu, worker sayısının CPU çekirdeği sayısına eşitlendiği anlamına gelir.
Annotasyon: sidecar.wallarm.io/proxy-extra-volumes

Chart değeri yok
Pod’a eklenecek özel volume’ler (dizi). Annotasyon değeri tek tırnak içine alınmalıdır ''.
Annotasyon: sidecar.wallarm.io/proxy-extra-volume-mounts

Chart değeri yok
sidecar-proxy konteynerine eklenecek özel volume mount’lar (JSON nesnesi). Annotasyon değeri tek tırnak içine alınmalıdır ''.
Annotasyon: sidecar.wallarm.io/proxy-cpu

config.sidecar.containers.proxy.resources.requests.cpu
sidecar-proxy konteyneri için istenen CPU.
Annotasyon: sidecar.wallarm.io/proxy-memory

config.sidecar.containers.proxy.resources.requests.memory
sidecar-proxy konteyneri için istenen bellek.
Annotasyon: sidecar.wallarm.io/proxy-cpu-limit

config.sidecar.containers.proxy.resources.limits.cpu
sidecar-proxy konteyneri için CPU limiti.
Annotasyon: sidecar.wallarm.io/proxy-memory-limit

config.sidecar.containers.proxy.resources.limits.memory
sidecar-proxy konteyneri için bellek limiti.
Annotasyon: sidecar.wallarm.io/helper-cpu

config.sidecar.containers.helper.resources.requests.cpu
sidecar-helper konteyneri için istenen CPU.
Annotasyon: sidecar.wallarm.io/helper-memory

config.sidecar.containers.helper.resources.requests.memory
sidecar-helper konteyneri için istenen bellek.
Annotasyon: sidecar.wallarm.io/helper-cpu-limit

config.sidecar.containers.helper.resources.limits.cpu
sidecar-helper konteyneri için CPU limiti.
Annotasyon: sidecar.wallarm.io/helper-memory-limit

config.sidecar.containers.helper.resources.limits.memory
sidecar-helper konteyneri için bellek limiti.
Annotasyon: sidecar.wallarm.io/init-iptables-cpu

config.sidecar.initContainers.iptables.resources.requests.cpu
sidecar-init-iptables konteyneri için istenen CPU.
Annotasyon: sidecar.wallarm.io/init-iptables-memory

config.sidecar.initContainers.iptables.resources.requests.memory
sidecar-init-iptables konteyneri için istenen bellek.
Annotasyon: sidecar.wallarm.io/init-iptables-cpu-limit

config.sidecar.initContainers.iptables.resources.limits.cpu
sidecar-init-iptables konteyneri için CPU limiti.
Annotasyon: sidecar.wallarm.io/init-iptables-memory-limit

config.sidecar.initContainers.iptables.resources.limits.memory
sidecar-init-iptables konteyneri için bellek limiti.
Annotasyon: sidecar.wallarm.io/init-helper-cpu

config.sidecar.initContainers.helper.resources.requests.cpu
sidecar-init-helper konteyneri için istenen CPU.
Annotasyon: sidecar.wallarm.io/init-helper-memory

config.sidecar.initContainers.helper.resources.requests.memory
sidecar-init-helper konteyneri için istenen bellek.
Annotasyon: sidecar.wallarm.io/init-helper-cpu-limit

config.sidecar.initContainers.helper.resources.limits.cpu
sidecar-init-helper konteyneri için CPU limiti.
Annotasyon: sidecar.wallarm.io/init-helper-memory-limit

config.sidecar.initContainers.helper.resources.limits.memory
sidecar-init-helper konteyneri için bellek limiti.
Annotasyon: sidecar.wallarm.io/profile

Chart değeri yok
Annotasyon, TLS/SSL sonlandırması için bir uygulama pod’una belirli bir TLS profilini atamak amacıyla kullanılır.

Bu annotasyon ve TLS/SSL sonlandırması Helm chart 4.6.1’den itibaren desteklenmektedir.

Wallarm tarafından desteklenen ve doğrudan annotasyonlarla kapsanmayan daha fazla NGINX yönergesi vardır. Yine de bunları nginx-*-snippet ve nginx-*-include annotasyonlarını kullanarak yapılandırabilirsiniz.

Annotasyonlar nasıl kullanılır

Bir pod’a annotasyon uygulamak için, ilgili uygulama konfigürasyonunun Deployment nesnesi ayarlarında belirtin, örneğin:

kubectl edit deployment -n <APPLICATION_NAMESPACE> <APP_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