Ana içeriğe geç

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ı

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

      node-data0.us1.wallarm.com - 34.96.64.17
      node-data1.us1.wallarm.com - 34.110.183.149
      us1.api.wallarm.com - 35.235.66.155
      34.102.90.100
      34.94.156.115
      35.235.115.105
      
      node-data1.eu1.wallarm.com - 34.160.38.183
      node-data0.eu1.wallarm.com - 34.144.227.90
      api.wallarm.com - 34.90.110.226
      
  • 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

Dağıtım

1. Docker imajını çekin

docker pull wallarm/node-native-aio:0.17.1

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:

version: 4

mode: connector-server

connector:
  address: ":5050"
version: 4

mode: envoy-external-filter

envoy_external_filter:
  address: ":5080"
  tls_cert: "/path/to/cert.crt"
  tls_key: "/path/to/cert.key"

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:

  1. Wallarm Console → Settings → API tokens bölümünü US Cloud veya EU Cloud üzerinde açın.

  2. Node deployment/Deployment kullanım türüne sahip bir API token bulun veya oluşturun.

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

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

  1. Connector’ünüz için Wallarm kod paketini almak üzere sales@wallarm.com ile iletişime geçin.

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