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-schemaconfig.injectionStrategy.schema | Wallarm konteyner dağıtım deseni: single (varsayılan) veya split. |
Annotasyon: sidecar.wallarm.io/sidecar-injection-iptables-enableconfig.injectionStrategy.iptablesEnable | iptables init konteynerinin başlatılıp başlatılmayacağı: true (varsayılan) veya false. |
Annotasyon: sidecar.wallarm.io/wallarm-applicationChart değeri yok | Wallarm uygulama kimliği. |
Annotasyon: sidecar.wallarm.io/wallarm-block-pageChart değeri yok | Engellenen isteklere döndürülecek engelleme sayfası ve hata kodu. |
Annotasyon: sidecar.wallarm.io/wallarm-enable-libdetectionconfig.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-fallbackconfig.wallarm.fallback | Wallarm fallback modu: on (varsayılan) veya off. |
Annotasyon: sidecar.wallarm.io/wallarm-modeconfig.wallarm.mode | Trafik filtreleme modu: monitoring (varsayılan), safe_blocking, block veya off. |
Annotasyon: sidecar.wallarm.io/wallarm-mode-allow-overrideconfig.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-groupconfig.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-disableChart 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-responseconfig.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-enableconfig.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-websocketconfig.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-responseconfig.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-attemptsconfig.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-intervalconfig.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-portconfig.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-portconfig.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-includeChart 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-snippetChart 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-includeChart 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-snippetChart 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-includeChart 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-snippetChart 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-modulesChart değeri yok | Etkinleştirilecek ek NGINX modülleri dizisi. |
Annotasyon: sidecar.wallarm.io/nginx-worker-connectionsconfig.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-processesconfig.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-volumesChart 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-mountsChart 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-cpuconfig.sidecar.containers.proxy.resources.requests.cpu | sidecar-proxy konteyneri için istenen CPU. |
Annotasyon: sidecar.wallarm.io/proxy-memoryconfig.sidecar.containers.proxy.resources.requests.memory | sidecar-proxy konteyneri için istenen bellek. |
Annotasyon: sidecar.wallarm.io/proxy-cpu-limitconfig.sidecar.containers.proxy.resources.limits.cpu | sidecar-proxy konteyneri için CPU limiti. |
Annotasyon: sidecar.wallarm.io/proxy-memory-limitconfig.sidecar.containers.proxy.resources.limits.memory | sidecar-proxy konteyneri için bellek limiti. |
Annotasyon: sidecar.wallarm.io/helper-cpuconfig.sidecar.containers.helper.resources.requests.cpu | sidecar-helper konteyneri için istenen CPU. |
Annotasyon: sidecar.wallarm.io/helper-memoryconfig.sidecar.containers.helper.resources.requests.memory | sidecar-helper konteyneri için istenen bellek. |
Annotasyon: sidecar.wallarm.io/helper-cpu-limitconfig.sidecar.containers.helper.resources.limits.cpu | sidecar-helper konteyneri için CPU limiti. |
Annotasyon: sidecar.wallarm.io/helper-memory-limitconfig.sidecar.containers.helper.resources.limits.memory | sidecar-helper konteyneri için bellek limiti. |
Annotasyon: sidecar.wallarm.io/init-iptables-cpuconfig.sidecar.initContainers.iptables.resources.requests.cpu | sidecar-init-iptables konteyneri için istenen CPU. |
Annotasyon: sidecar.wallarm.io/init-iptables-memoryconfig.sidecar.initContainers.iptables.resources.requests.memory | sidecar-init-iptables konteyneri için istenen bellek. |
Annotasyon: sidecar.wallarm.io/init-iptables-cpu-limitconfig.sidecar.initContainers.iptables.resources.limits.cpu | sidecar-init-iptables konteyneri için CPU limiti. |
Annotasyon: sidecar.wallarm.io/init-iptables-memory-limitconfig.sidecar.initContainers.iptables.resources.limits.memory | sidecar-init-iptables konteyneri için bellek limiti. |
Annotasyon: sidecar.wallarm.io/init-helper-cpuconfig.sidecar.initContainers.helper.resources.requests.cpu | sidecar-init-helper konteyneri için istenen CPU. |
Annotasyon: sidecar.wallarm.io/init-helper-memoryconfig.sidecar.initContainers.helper.resources.requests.memory | sidecar-init-helper konteyneri için istenen bellek. |
Annotasyon: sidecar.wallarm.io/init-helper-cpu-limitconfig.sidecar.initContainers.helper.resources.limits.cpu | sidecar-init-helper konteyneri için CPU limiti. |
Annotasyon: sidecar.wallarm.io/init-helper-memory-limitconfig.sidecar.initContainers.helper.resources.limits.memory | sidecar-init-helper konteyneri için bellek limiti. |
Annotasyon: sidecar.wallarm.io/profileChart 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