Docker imajından Native Node’u dağıtma¶
Wallarm Native Node, NGINX’ten bağımsız çalışır ve bazı connector’larla birlikte dağıtım için tasarlanmıştır. Native Node’u, resmi Docker imajından container’laştırılmış servisleriniz üzerinde çalıştırabilirsiniz.
Kullanım senaryoları¶
-
MuleSoft Mule veya Flex Gateway, Akamai, Cloudflare, Amazon CloudFront, Broadcom Layer7 API Gateway, Fastly, IBM DataPower için bir connector çözümünün parçası olarak Wallarm düğümünü, self-hosted bir Linux OS makinesinde dağıtmak istediğinizde.
Yükleyiciyi
connector-server
modunda kullanın. -
Istio tarafından yönetilen API’ler için gRPC tabanlı harici işleme filtresine ihtiyaç duyduğunuzda.
Yükleyiciyi
envoy-external-filter
modunda kullanın.
Native Node için Docker imajı, AWS ECS veya diğer Docker tabanlı ortamlar gibi container orkestrasyon platformlarını zaten kullanıyorsanız idealdir. Wallarm düğümü, servisinize bir Docker container’ı olarak çalışır ve API yönetim platformunuz için güvenlik filtreleme ve trafik inceleme sağlar.
Gereksinimler¶
-
Ana sisteminizde Docker kurulu olmalı
-
API yönetim platformunuzdan container’laştırılmış ortamınıza gelen erişim
-
Container’laştırılmış ortamınızdan aşağıdakilere giden erişim:
- Dağıtım için gereken Docker imajlarını indirmek üzere
https://hub.docker.com/r/wallarm
- US/EU Wallarm Cloud için
https://us1.api.wallarm.com
veyahttps://api.wallarm.com
-
Saldırı tespit kuralları ve API spesifikasyonları güncellemelerini indirmek, ayrıca allowlist’e, denylist’e veya graylist’e alınmış ülke, bölge veya veri merkezleriniz için kesin IP’leri almak amacıyla aşağıdaki IP adresleri
- Dağıtım için gereken Docker imajlarını indirmek üzere
-
Native Node bulunan ECS örneğinizin önündeki yük dengeleyici için güvenilir bir SSL/TLS sertifikası gereklidir
-
Bunlara ek olarak, Wallarm Console içinde Administrator rolüne sahip olmalısınız
Sınırlamalar¶
-
Yük dengeleyiciyi güvenceye almak için öz-imzalı (self‑signed) SSL sertifikaları desteklenmez.
-
Özel engelleme sayfası ve engelleme kodu yapılandırmaları henüz desteklenmiyor.
-
Wallarm kuralı ile hız sınırlama desteklenmiyor.
-
Çok kiracılık (multitenancy) henüz desteklenmiyor.
Dağıtım¶
1. Docker imajını çekin¶
2. Yapılandırma dosyasını hazırlayın¶
Native Node için aşağıdaki asgari yapılandırma ile wallarm-node-conf.yaml
dosyasını oluşturun:
Tüm yapılandırma parametreleri (Docker imajı ile Native Node all-in-one yükleyicisi için aynıdır)
3. Wallarm token’ını hazırlayın¶
Düğümü kurmak için, düğümü Wallarm Cloud’a kaydetmekte kullanılacak bir token’a ihtiyacınız olacak. Token’ı hazırlamak için:
-
Wallarm Console → Settings → API tokens bölümünü US Cloud veya EU Cloud üzerinde açın.
-
Node deployment/Deployment
kullanım türüne sahip bir API token bulun veya oluşturun. -
Bu token’ı kopyalayın.
4. Docker container’ını çalıştırın¶
Docker imajını çalıştırmak için aşağıdaki komutları kullanın. wallarm-node-conf.yaml
dosyasını container’a bağlayın.
Ortam değişkeni | Açıklama | Gerekli |
---|---|---|
WALLARM_API_TOKEN | Node deployment/Deployment kullanım türüne sahip API token. | Evet |
WALLARM_LABELS | Düğüm örneklerini gruplaştırmak için group etiketini ayarlar, örneğin:WALLARM_LABELS="group=<GROUP>" düğüm örneğini <GROUP> örnek grubuna yerleştirir (varsa mevcut olan, yoksa oluşturulacaktır). | Evet |
WALLARM_API_HOST | Wallarm API sunucusu:
api.wallarm.com . | Evet |
WALLARM_APID_ONLY (0.12.1 ve üzeri) | Bu modda, trafiğinizde tespit edilen saldırılar düğüm tarafından yerel olarak engellenir (etkinleştirildiyse) ancak Wallarm Cloud’a aktarılmaz. Bu arada, API Discovery ve bazı diğer özellikler tam işlevsel kalır, API envanterinizi tespit eder ve görselleştirme için Cloud’a yükler. Bu mod, önce API envanterini gözden geçirmek ve hassas verileri belirlemek, ardından kontrollü saldırı verisi aktarımını planlamak isteyenler içindir. Ancak, saldırı aktarımının devre dışı bırakılması nadirdir; çünkü Wallarm saldırı verilerini güvenle işler ve gerekirse hassas saldırı verisi maskeleme sağlar. Daha fazla bilgi Varsayılan: false . | Hayır |
-
-p
seçeneği ana makine ve container portlarını eşler:- İlk değer (
80
), dış trafiğe açılan ana makinenin portudur. - İkinci değer (
5050
), container’ın portudur vewallarm-node-conf.yaml
dosyasındakiconnector.address
veyaenvoy_external_filter.address
ayarıyla eşleşmelidir.
- İlk değer (
-
Yapılandırma dosyası, container içinde
/opt/wallarm/etc/wallarm/go-node.yaml
olarak bağlanmalıdır.
5. Wallarm kodunu bir API yönetim hizmetine uygulayın¶
Düğüm dağıtıldıktan sonra, trafiği dağıtılan düğüme yönlendirmek için Wallarm kodunu API yönetim platformunuza veya hizmetinize uygulamanız gerekir.
-
Connector’ünüz için Wallarm kod paketini almak üzere sales@wallarm.com ile iletişime geçin.
-
Paketi API yönetim platformunuza uygulamak için platforma özel talimatları izleyin:
Düğüm çalışmasını doğrulama¶
Düğümün trafiği algıladığını doğrulamak için günlükleri kontrol edebilirsiniz:
-
Native Node günlükleri varsayılan olarak
/opt/wallarm/var/log/wallarm/go-node.log
dosyasına yazılır, ayrıca stdout’a ek çıktı verilir. -
Verilerin Wallarm Cloud’a gönderilip gönderilmediği, tespit edilen saldırılar vb. gibi filtreleme düğümünün standart günlükleri
/opt/wallarm/var/log/wallarm
dizininde bulunur. -
Ek hata ayıklama için,
log.level
parametresinidebug
olarak ayarlayın.
Ayrıca, http://<NODE_IP>:9000/metrics
adresinde sunulan Prometheus metriklerini kontrol ederek düğümün çalışmasını doğrulayabilirsiniz.
Yükseltme¶
Düğümü yükseltmek için talimatları izleyin.