Docker Envoy‑tabanlı Görüntünün Çalıştırılması¶
Bu talimatlar, Envoy 1.18.4 temel alınarak oluşturulan Wallarm Docker görüntüsünü çalıştırma adımlarını anlatır. Görüntü, doğru Wallarm node çalışması için gerekli tüm sistemleri içerir:
-
Wallarm module'lü Envoy proxy hizmetleri
-
Postanalytics için Tarantool modülleri
-
Diğer hizmetler ve script'ler
Wallarm module, istek yönlendirme için bir Envoy HTTP filtresi olarak tasarlanmıştır.
Desteklenen yapılandırma parametreleri
Lütfen unutmayın ki NGINX‑tabanlı filtering node yapılandırması için geçerli olan çoğu directives Envoy‑tabanlı filtering node yapılandırması için desteklenmemektedir. Sonuç olarak, rate limiting ve credential stuffing detection bu dağıtım yöntemiyle kullanılamaz.
Envoy‑tabanlı filtering node yapılandırması için mevcut parametrelerin → listesini inceleyin.
Kullanım Senaryoları¶
Among all supported Wallarm deployment options, Envoy-based Docker image is recommended for Wallarm deployment in these use cases:
-
If your organization utilizes Docker-based infrastructure, Wallarm Docker image is the ideal choice. It integrates effortlessly into your existing setup, whether you are employing a microservice architecture running on AWS ECS, Alibaba ECS, or other similar services. This solution also applies to those using virtual machines seeking a more streamlined management through Docker containers.
-
If you require fine-grained control over each container, the Docker image excels. It affords a greater level of resource isolation than typically possible with traditional VM-based deployments.
Gereksinimler¶
-
Docker installed on your host system
-
Access to
https://hub.docker.com/r/wallarm/envoy
to download the Docker image. Please ensure the access is not blocked by a firewall -
Access to the account with the Administrator role in Wallarm Console in the US Cloud or EU Cloud
-
Access to
https://us1.api.wallarm.com
if working with US Wallarm Cloud or tohttps://api.wallarm.com
if working with EU Wallarm Cloud. Please ensure the access is not blocked by a firewall -
Access to the IP addresses below for downloading updates to attack detection rules, as well as retrieving precise IPs for your allowlisted, denylisted, or graylisted countries, regions, or data centers
Konteyneri Çalıştırma Seçenekleri¶
Filtering node yapılandırma parametreleri, docker run
komutuna aşağıdaki yollarla geçirilebilir:
-
Ortam değişkenleri aracılığıyla. Bu seçenek yalnızca temel filtering node parametrelerinin yapılandırılmasına olanak sağlar; parameters listesindeki çoğu parametre ortam değişkenleri aracılığıyla değiştirilemez.
-
Mount edilmiş yapılandırma dosyası aracılığıyla. Bu seçenek, filtering node parametrelerinin tamamının yapılandırılmasına olanak tanır.
Ortam Değişkenleri Kullanarak Konteyneri Çalıştırma¶
Konteyneri çalıştırmak için:
-
Get Wallarm token of the appropriate type:
-
Node ile konteyneri çalıştırın:
Konteyner, aşağıdaki temel filtering node ayarlarını -e
seçeneği ile alabilir:
Environment variable | Açıklama | Gereklilik |
---|---|---|
WALLARM_API_TOKEN | Wallarm node veya API token. | Evet |
ENVOY_BACKEND | Wallarm çözümü ile korunacak kaynağın domain veya IP adresi. | Evet |
WALLARM_API_HOST | Wallarm API sunucusu:
api.wallarm.com . | Hayır |
WALLARM_MODE | Node modu:
monitoring .Filtrasyon modlarının detaylı açıklaması → | Hayır |
WALLARM_LABELS | Node 4.6'dan itibaren kullanılabilir. Sadece
...node örneğini | API token'ler için Evet |
TARANTOOL_MEMORY_GB | Tarantool için ayrılan bellek miktarı. Değer tamsayı veya ondalık sayı (ondalık ayırıcı olarak nokta . kullanılır). Varsayılan: 0.2 gigabayt. | Hayır |
Komut aşağıdaki işlemleri gerçekleştirir:
-
Konteynerin
/etc/envoy
dizininde minimum Envoy yapılandırması içerenenvoy.yaml
dosyasını oluşturur. -
Konteynerin
/etc/wallarm
dizininde Wallarm Cloud'a erişim için filtering node kimlik bilgilerini içeren dosyaları oluşturur:- Filtering node UUID ve gizli anahtarı içeren
node.yaml
- Wallarm private key içeren
private.key
- Filtering node UUID ve gizli anahtarı içeren
-
http://ENVOY_BACKEND:80
kaynağını korur.
envoy.yaml Dosyası Mount Edilerek Konteyneri Çalıştırma¶
Hazırlanmış envoy.yaml
dosyasını -v
seçeneği ile Docker konteynerine mount edebilirsiniz. Dosya aşağıdaki ayarları içermelidir:
-
Talimatlarda tarif edildiği üzere filtering node ayarları
-
Envoy talimatlarında belirtildiği şekilde Envoy ayarları
Konteyneri çalıştırmak için:
-
Get Wallarm token of the appropriate type:
-
Node ile konteyneri çalıştırın:
-e
seçeneği, konteynere aşağıdaki zorunlu ortam değişkenlerini aktarır:
Environment variable Açıklama Gereklilik WALLARM_API_TOKEN
Wallarm node token. Birden Fazla Kurulumda Tek Token Kullanımı
Seçilen platform ne olursa olsun, aynı token'ı birden fazla kurulumda kullanabilirsiniz. Bu, Wallarm Console arayüzünde node örneklerinin mantıksal olarak gruplandırılmasını sağlar. Örnek: Bir geliştirme ortamına birden fazla Wallarm node dağıtırsınız; her node, ilgili bir geliştiriciye ait ayrı bir makinededir.
Evet WALLARM_API_HOST
Wallarm API sunucusu: - US Cloud için:
us1.api.wallarm.com
- EU Cloud için:
api.wallarm.com
api.wallarm.com
.Hayır -v
seçeneği,envoy.yaml
yapılandırma dosyasını içeren dizini konteynerin/etc/envoy
dizinine mount eder.
Komut aşağıdaki işlemleri gerçekleştirir:
-
envoy.yaml
dosyasını konteynerin/etc/envoy
dizinine mount eder. -
Konteynerin
/etc/wallarm
dizininde Wallarm Cloud'a erişim için filtering node kimlik bilgilerini içeren dosyaları oluşturur:- Filtering node UUID ve gizli anahtarı içeren
node.yaml
- Wallarm private key içeren
private.key
- Filtering node UUID ve gizli anahtarı içeren
-
Mount edilmiş yapılandırma dosyasında belirtilen kaynağı korur.
Log Döndürme Yapılandırması (İsteğe Bağlı)¶
Log dosyası döndürme, önceden yapılandırılmış olup varsayılan olarak etkindir. Gerekirse döndürme ayarlarını değiştirebilirsiniz. Bu ayarlar konteynerin /etc/logrotate.d
dizininde yer alır.
Wallarm Node Çalışmasını Test Etme¶
-
Send the request with test Path Traversal attack to a protected resource address:
If traffic is configured to be proxied to
example.com
, include the-H "Host: example.com"
header in the request. -
Open Wallarm Console → Attacks section in the US Cloud or EU Cloud and make sure the attack is displayed in the list.
-
Optionally, test other aspects of the node functioning.