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 .
|
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:
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