Ömrünü Tamamlamış (EOL) Çok Kiracılı Node'un Güncellenmesi¶
Bu talimatlar, ömrünü tamamlamış (sürüm 3.6 ve altı) çok kiracılı node'un 5.0 sürümüne kadar güncellenmesi için izlenecek adımları açıklar.
Gereksinimler¶
-
technical tenant account altında eklenmiş Global administrator rolüne sahip kullanıcı tarafından sonraki 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 erişimin bir güvenlik duvarı tarafından engellenmediğinden emin olun. -
Saldırı tespit kuralları güncellemeleri ve API spesifikasyonlarına erişim sağlamak, ayrıca beyaz listeye alınmış, kara listeye alınmış veya gri listeye alınmış ülkeler, bölgeler ya da veri merkezlerine ilişkin kesin IP'leri almak için aşağıdaki IP adreslerine erişim.
Adım 1: Wallarm destek ekibi ile iletişime geçin¶
Çok kiracılı node güncellemesi sırasında custom ruleset building özelliğinin en son sürümünü almak için Wallarm destek ekibi ile iletişime geçin.
Engellenmiş güncelleme
Yanlış bir custom ruleset building sürümünün kullanılması güncelleme sürecini engelleyebilir.
Destek ekibi ayrıca çok kiracılı node'un güncellenmesiyle ve gerekli yeniden yapılandırmayla ilgili tüm sorularınızı yanıtlamanıza yardımcı olacaktır.
Adım 2: Standart güncelleme prosedürünü uygulayın¶
Standart prosedürler aşağıdakilerdir:
Çok kiracılı node oluşturulması
Wallarm node oluşturulurken, lütfen Multi-tenant node seçeneğini seçin:
Adım 3: Çok kiracılılık yeniden yapılandırması¶
Trafiğin kiracılarınız ve onların uygulamalarıyla nasıl ilişkilendirileceğine dair yapılandırmayı yeniden yazın. Aşağıdaki örneğe göz atın. Örnekte:
-
Tenant, partnerin müşterisini temsil eder. Partnere ait iki müşteri bulunmaktadır.
-
tenant1.com
vetenant1-1.com
hedefli trafik, müşteri 1 ile ilişkilendirilmelidir. -
tenant2.com
hedefli trafik, müşteri 2 ile ilişkilendirilmelidir. -
Müşteri 1'in ayrıca üç uygulaması bulunmaktadır:
tenant1.com/login
tenant1.com/users
tenant1-1.com
Bu 3 yol hedefli trafik, ilgili uygulama ile ilişkilendirilmelidir; kalan trafik müşteri 1’in genel trafiği olarak kabul edilmelidir.
Önceki sürüm yapılandırmanızı inceleyin¶
3.6 sürümünde, bu aşağıdaki gibi yapılandırılabilirdi:
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ırma ile ilgili notlar:
-
tenant1.com
vetenant1-1.com
hedefli trafik, bu müşteriye API request aracılığıyla20
ve23
değerleriyle ilişkilendirilmiştir. -
Diğer uygulamaları kiracılara bağlamak için benzer API istekleri gönderilmiş olmalıdır.
-
Kiracılar ve uygulamalar ayrı varlıklar olduğundan, bunları farklı direktiflerle yapılandırmak mantıklıdır. Ek API isteklerinden kaçınmak da pratik olacaktır. Kiracılar ile uygulamalar arasındaki ilişkilerin yapılandırma üzerinden tanımlanması mantıklıdır. Mevcut yapılandırmada bu eksik olmakla birlikte, aşağıda açıklanan yeni 5.x yaklaşımında yer alacaktır.
5.x Yaklaşımını İnceleyin¶
5.x sürümünde, node yapılandırmasında tenant tanımlamanın yolu UUID kullanımıdır.
Yapılandırmayı yeniden yazmak için aşağıdakileri yapın:
-
Kiracılarınızın UUID'lerini edinin.
-
Kiracıları dahil edip, uygulamalarını NGINX yapılandırma dosyasına ekleyin.
Kiracılarınızın UUID'lerini Edinin¶
Kiracı listesini almak için, authenticated istekleri Wallarm API'ye gönderin. Kimlik doğrulama yöntemi, tenant creation sırasında kullanılan yöntemle aynıdır.
-
Daha sonra UUID ile ilişkili olan
clientid
(leri) bulmak için alın:-
/v2/partner_client
yoluna GET isteği gönderin:Kendi client'ınızdan gönderilen isteğe örnek
Burada
PARTNER_ID
, tenant oluşturma prosedüründeki Adım 2'de elde edilen değerdir.Yanıt örneği:
-
Yanıt içerisinden
clientid
(leri) kopyalayın.
-
-
Her kiracının UUID'sini almak için,
v1/objects/client
yoluna POST isteği gönderin:Kendi client'ınızdan gönderilen isteğe örnek
Yanıt örneği:
-
Yanıttan,
uuid
(leri) kopyalayın.
Kiracıları Dahil Edin ve Uygulamalarını NGINX Yapılandırma Dosyasında Ayarlayın¶
NGINX yapılandırma dosyasında:
-
Yukarıda aldığınız tenant UUID'lerini
wallarm_partner_client_uuid
direktiflerinde belirtin. -
Korunan uygulama ID'lerini
wallarm_application
direktiflerinde ayarlayın.Node 3.6 veya daha düşük için kullanılan NGINX yapılandırması uygulama yapılandırmasını içeriyorsa, sadece tenant UUID'lerini belirtip uygulama yapılandırmasını değiştirmeden 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ı direktiflerle yapılandırılmıştır.
-
Kiracılar ile uygulamalar arasındaki ilişkiler, ilgili NGINX yapılandırma bloklarındaki
wallarm_application
direktifleri ile tanımlanmıştır.
Adım 4: Wallarm çok kiracılı node işleyişini 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.