Docker Image'dan Native Node Dağıtımı¶
Wallarm Native Node, NGINX'den bağımsız olarak çalışan, bazı konektörlerle dağıtım için tasarlanmıştır. Native Node'u, container tabanlı servislerinizde resmi Docker image'ı kullanarak çalıştırabilirsiniz.
Kullanım Durumları¶
MuleSoft, Cloudflare, Amazon CloudFront, Broadcom Layer7 API Gateway, Fastly için Wallarm konektörü kurulumunda ve self-hosted node gereksinimi duyduğunuz durumlarda Native Node'u dağıtın.
Native Node için Docker image'ı, AWS ECS gibi container orkestrasyon platformlarını veya diğer Docker tabanlı ortamları zaten kullanıyorsanız idealdir. Wallarm node, API yönetim platformunuz için güvenlik filtresi ve trafik incelemesi sağlayarak servisinizin içinde bir Docker container olarak çalışır.
Gereksinimler¶
-
Host sisteminizde yüklü Docker
-
API yönetim platformunuzdan container tabanlı ortamınıza gelen trafik erişimi
-
Container tabanlı ortamınızdan aşağıdaki adreslere çıkış izni:
- Dağıtım için gerekli Docker image'ları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ına güncellemelerin ve API specification indirilmesinin yanı sıra izin verilen, engellenen veya gri listelenmiş ülkeler, bölgeler veya veri merkezleri için hassas IP'lerin alınabilmesi amacıyla aşağıdaki IP adresleri
- Dağıtım için gerekli Docker image'larını indirmek üzere
-
ECS instance'ının önündeki load balancer için güvenilir bir SSL/TLS sertifikası gereklidir.
-
Yukarıdakilere ek olarak, Wallarm Console'da Administrator rolüne sahip olmanız gerekmektedir.
Kısıtlamalar¶
-
Load balancer'ı güvence altına almak için self-signed SSL sertifikaları desteklenmez.
-
Özel engelleme sayfası ve engelleme kodu yapılandırmaları henüz desteklenmemektedir.
-
Wallarm kuralı üzerinden Rate limiting desteklenmemektedir.
-
Multitenancy henüz desteklenmemektedir.
Dağıtım¶
1. Docker image'ını çekin¶
2. Konfigürasyon dosyasını hazırlayın¶
Native Node için aşağıdaki minimal konfigürasyon ile wallarm-node-conf.yaml
dosyasını oluşturun:
Tüm konfigürasyon parametreleri (Docker image ile Native Node all-in-one kurulumunda aynı değerler kullanılmaktadır)
3. Wallarm token'ını hazırlayın¶
Node kurulumu için, Wallarm Cloud'a node kaydı yaptırmak üzere bir token gerekmektedir. Token hazırlamak için:
-
Wallarm Console → Settings → API tokens yolunu izleyerek US Cloud veya EU Cloud üzerinde token oluşturun veya mevcut token'ı bulun.
-
Deploy
kaynak rolüne sahip API token'ı bulun veya oluşturun. -
Bu token'ı kopyalayın.
4. Docker container'ını çalıştırın¶
Docker image'ını çalıştırmak için aşağıdaki komutları kullanın. wallarm-node-conf.yaml
dosyasını container'a mount edin.
Environment Variable | Açıklama | Zorunlu |
---|---|---|
WALLARM_API_TOKEN | Deploy rolüne sahip API token'ı. | Evet |
WALLARM_LABELS | Node instance gruplaması için group etiketini ayarlar, örneğin:WALLARM_LABELS="group=<GROUP>" node instance'ını <GROUP> grubuna dahil eder (varsa kullanılır, yoksa oluşturulur). | Evet |
WALLARM_API_HOST | Wallarm API sunucusu:
api.wallarm.com . | Hayır |
WALLARM_APID_ONLY (0.11.0 ve üzeri) | Bu modda, trafiğinizde tespit edilen saldırılar node tarafından yerel olarak engellenir (eğer etkin) fakat Wallarm Cloud'a aktarılmaz. Bu arada, API Discovery ve bazı diğer özellikler API envanterinizi tespit edip Cloud'a yükleyerek görselleştirme imkânı sağlar. Bu mod, önce API envanterinizi gözden geçirip hassas verileri belirlemek isteyen ve sonrasında kontrollü saldırı veri aktarımı planlamak isteyen kullanıcılar içindir. Ancak, saldırı aktarımını devre dışı bırakmak nadirdir, çünkü Wallarm saldırı verilerini güvenli bir şekilde işler ve gerekirse hassas saldırı verilerini maskeleme sağlayabilir. Detaylar Varsayılan: false . | Hayır |
-
-p
seçeneği host ve container portlarını eşleştirir:- İlk değer (
80
), dış trafiğe açık host portudur. - İkinci değer (
5050
), container portudur vewallarm-node-conf.yaml
dosyasında belirlenenconnector.address
ayarı ile eşleşmelidir.
- İlk değer (
-
Konfigürasyon dosyası, container içerisinde
/opt/wallarm/etc/wallarm/go-node.yaml
olarak mount edilmelidir.
5. Wallarm kodunu API yönetim servisinize uygulayın¶
Node dağıtıldıktan sonra, bir sonraki adım, API yönetim platformunuz veya servisinize Wallarm kod paketini uygulayarak trafiği dağıtılan node'a yönlendirmektir.
-
sales@wallarm.com adresiyle iletişime geçerek konektörünüz için Wallarm kod paketini edinin.
-
Aşağıdaki platforma özgü talimatları izleyerek paketi API yönetim platformunuzda uygulayın:
Node İşleyişinin Doğrulanması¶
Node'un trafikleri tespit ettiğini doğrulamak için logları kontrol edebilirsiniz:
-
Native Node logları, varsayılan olarak
/opt/wallarm/var/log/wallarm/go-node.log
dosyasına yazılır; ayrıca stdout üzerinden de çıktı alınabilir. -
Wallarm Cloud'a veri gönderimi, tespit edilen saldırılar vb. gibi filtering node'un Standart logları
/opt/wallarm/var/log/wallarm
dizininde yer alır.
Ek hata ayıklama için, log.level
parametresini debug
olarak ayarlayın.
Güncelleme¶
Node'u güncellemek için talimatları izleyin.