EOL çok kiracılı düğümün yükseltilmesi¶
Bu talimatlar, kullanımdan kaldırılmış (EOL) çok kiracılı düğümü (3.6 ve altı sürümler) en son 6.x sürümüne yükseltme adımlarını açıklar.
Gereksinimler¶
-
teknik kiracı hesabı altında eklenmiş Global administrator rolüne sahip kullanıcı tarafından ilerleyen komutların yürütülmesi
-
US Wallarm Cloud ile çalışıyorsanız
https://us1.api.wallarm.com
adresine veya EU Wallarm Cloud ile çalışıyorsanızhttps://api.wallarm.com
adresine erişim. Lütfen bu erişimin güvenlik duvarı tarafından engellenmediğinden emin olun -
Saldırı tespit kuralları ve API spesifikasyonlarının güncellemelerini indirmek, ayrıca izinli (allowlisted), yasaklı (denylisted) veya gri listeye alınmış (graylisted) ülkeleriniz, bölgeleriniz veya veri merkezleriniz için kesin IP’leri almak amacıyla aşağıdaki IP adreslerine erişim.
Adım 1: Wallarm destek ekibiyle iletişime geçin¶
Çok kiracılı düğüm yükseltmesi sırasında özel kurallar kümesi oluşturma özelliğinin en son sürümünü almak için Wallarm destek ekibi yardımı talep edin.
Engellenmiş yükseltme
Özel kurallar kümesi oluşturma özelliğinin hatalı bir sürümünü kullanmak, yükseltme sürecini engelleyebilir.
Destek ekibi ayrıca çok kiracılı düğüm yükseltmesi ve gerekli yeniden yapılandırmayla ilgili tüm sorularınızı yanıtlamanıza yardımcı olacaktır.
Adım 2: Standart yükseltme prosedürünü izleyin¶
Standart prosedürler şunlardır:
Çok kiracılı düğümün oluşturulması
Wallarm düğümü oluşturma sırasında lütfen Multi-tenant node seçeneğini seçin:
Adım 3: Çok kiracılı yapıyı yeniden yapılandırın¶
Trafiğin kiracılarınız ve onların uygulamalarıyla nasıl ilişkilendirildiğine dair yapılandırmayı yeniden yazın. Aşağıdaki örneği dikkate alın. Örnekte:
-
Kiracı, iş ortağının müşterisini ifade eder. İş ortağının iki müşterisi vardır.
-
tenant1.com
vetenant1-1.com
hedefli trafik 1. müşteriyle ilişkilendirilmelidir. -
tenant2.com
hedefli trafik 2. müşteriyle ilişkilendirilmelidir. -
- müşterinin ayrıca üç uygulaması vardır:
tenant1.com/login
tenant1.com/users
tenant1-1.com
Bu 3 yola hedeflenen trafik ilgili uygulama ile ilişkilendirilmeli; geri kalanlar 1. müşterinin genel trafiği olarak kabul edilmelidir.
Önceki sürüm yapılandırmanızı inceleyin¶
3.6’da bu şu şekilde yapılandırılabilir:
server {
server_name tenant1.com;
wallarm_application 20;
...
location /login {
wallarm_application 21;
...
}
location /users {
wallarm_application 22;
...
}
server {
server_name tenant1-1.com;
wallarm_application 23;
...
}
server {
server_name tenant2.com;
wallarm_application 24;
...
}
...
}
Yukarıdaki yapılandırmaya ilişkin notlar:
-
tenant1.com
vetenant1-1.com
hedefli trafik, bu müşteriyle/v2/partner/111/partner_client
API isteği üzerinden ilişkilendirilen20
ve23
değerleri aracılığıyla 1. müşteriyle ilişkilendirilir. -
Diğer uygulamaları kiracılarla ilişkilendirmek için benzer API istekleri gönderilmiş olmalıdır.
-
Kiracılar ve uygulamalar ayrı varlıklardır, bu nedenle bunları farklı yönergelerle (directive) yapılandırmak mantıklıdır. Ayrıca ek API isteklerinden kaçınmak da kullanışlı olacaktır. Kiracılar ve uygulamalar arasındaki ilişkileri doğrudan yapılandırma üzerinden tanımlamak mantıklıdır. Tüm bunlar mevcut yapılandırmada eksiktir ancak aşağıda açıklanan yeni 6.x yaklaşımıyla mümkün hale gelecektir.
6.x yaklaşımını inceleyin¶
6.x sürümünde, düğüm yapılandırmasında kiracıyı tanımlamanın yolu UUID kullanmaktır.
Yapılandırmayı yeniden yazmak için şunları yapın:
-
Kiracılarınıza ait UUID’leri alın.
-
Kiracıları dahil edin ve NGINX yapılandırma dosyasında uygulamalarını ayarlayın.
Kiracılarınıza ait UUID’leri alın¶
Kiracı listesini almak için Wallarm API’ye kimlik doğrulamalı istekler gönderin. Kimlik doğrulama yaklaşımı, kiracı oluşturma için kullanılan yöntemle aynıdır.
-
İlgili UUID’leri daha sonra bulmak için
clientid
(leri) alın:-
/v2/partner_client
rotasına GET isteği gönderin:Kendi istemcinizden gönderilen istek örneği
Burada
PARTNER_ID
, kiracı oluşturma prosedürünün Adım 2 aşamasında elde edilendir.Yanıt örneği:
-
clientid
(leri) yanıttan kopyalayın.
-
-
Her kiracının UUID’sini almak için
v1/objects/client
rotasına POST isteği gönderin:Kendi istemcinizden gönderilen istek örneği
Yanıt örneği:
-
Yanıttan
uuid
(leri) kopyalayın.
NGINX yapılandırma dosyasında kiracıları dahil edin ve uygulamalarını ayarlayın¶
NGINX yapılandırma dosyasında:
-
Yukarıda aldığınız kiracı UUID’lerini
wallarm_partner_client_uuid
yönergelerinde belirtin. -
Korumalı uygulama kimliklerini
wallarm_application
yönergelerinde ayarlayın.Düğüm 3.6 veya daha düşük sürüm için kullanılan NGINX yapılandırması uygulama yapılandırmasını içeriyorsa, yalnızca kiracı UUID’lerini belirtin ve uygulama yapılandırmasını olduğu gibi bırakın.
Örnek:
server {
server_name tenant1.com;
wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111;
...
location /login {
wallarm_application 21;
...
}
location /users {
wallarm_application 22;
...
}
server {
server_name tenant1-1.com;
wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111;
wallarm_application 23;
...
}
server {
server_name tenant2.com;
wallarm_partner_client_uuid 22222222-2222-2222-2222-222222222222;
...
}
...
}
Yukarıdaki yapılandırmada:
-
Kiracılar ve uygulamalar farklı yönergelerle yapılandırılmıştır.
-
Kiracılar ve uygulamalar arasındaki ilişkiler, NGINX yapılandırma dosyasının ilgili bloklarındaki
wallarm_application
yönergeleri aracılığıyla tanımlanmıştır.
Adım 4: Wallarm çok kiracılı düğümün çalışmasını test edin¶
-
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.