Ana içeriğe geç

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 veya https://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

      34.96.64.17
      34.110.183.149
      35.235.66.155
      34.102.90.100
      34.94.156.115
      35.235.115.105
      
      34.160.38.183
      34.144.227.90
      34.90.110.226
      
  • 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

Dağıtım

1. Docker image'ını çekin

docker pull wallarm/node-native-aio:0.11.0

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:

version: 2

mode: connector-server

connector:
  address: ":5050"

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:

  1. Wallarm Console → SettingsAPI tokens yolunu izleyerek US Cloud veya EU Cloud üzerinde token oluşturun veya mevcut token'ı bulun.

  2. Deploy kaynak rolüne sahip API token'ı bulun veya oluşturun.

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

docker run -d -e WALLARM_API_TOKEN='XXXXXXX' -e WALLARM_LABELS='group=<GROUP>' -e WALLARM_API_HOST='us1.api.wallarm.com' -v ./wallarm-node-conf.yaml:/opt/wallarm/etc/wallarm/go-node.yaml -p 80:5050 wallarm/node-native-aio:0.11.0
docker run -d -e WALLARM_API_TOKEN='XXXXXXX' -e WALLARM_LABELS='group=<GROUP>' -v ./wallarm-node-conf.yaml:/opt/wallarm/etc/wallarm/go-node.yaml -p 80:5050 wallarm/node-native-aio:0.11.0
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:
  • US Cloud için: us1.api.wallarm.com
  • EU Cloud için: api.wallarm.com
Varsayılan: 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 ve wallarm-node-conf.yaml dosyasında belirlenen connector.address ayarı ile eşleşmelidir.
  • 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.

  1. sales@wallarm.com adresiyle iletişime geçerek konektörünüz için Wallarm kod paketini edinin.

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