WAF, Load Balancer ile nasıl bir arada çalışır?
Kısa cevap
WAF ayrı bir cihaz ya da araya giren ayrı bir proxy değildir. TR7'nin dört ürününden biri olan WAF - WAAP (TR7 WAAP), Load Balancer - ADC ürününün HTTP vService'i üzerinde çalışır ve vService formunun Details listesindeki WAF kutusuyla ya da WAF-Protected vService List ekranından açılır. İstek önce vService'te karşılanır, HTTPS ise TLS burada çözülür ve önde bir CDN varsa Trusted Proxies profiliyle gerçek istemci IP'si belirlenir; ardından WAF isteği orijinal hâliyle tarar. WAF engellemezse istek vService'in Actions listesinden, hedef seçiminden, algoritma ve persistence adımlarından geçerek Kurum Servisine gider; engellerse hiçbir Kurum Servisine ulaşmadan engelleme yanıtı (Blocking Page) döner. Yanıt sırasında L7 DDoS & Threat Protection'ın ve isteği sonlandıran bir action'ın yanıtı WAF'ın engelleme sayfasından önce gelir. Whitelist Condition'a uyan, Do Not WAF Static Contents ile atlanan statik içerik ve AGS Root Path ile başlayan istekler WAF'ta taranmaz. İki ürün nesne paylaşır: WAF'ın Whitelist Condition, WAF Log Suppression Condition ve Conditional Blocking Pages alanları Load Balancer koşullarını (Conditions), engelleme sayfaları Content Pages profillerini kullanır. Load Balancer koşulları da WAF'ın sonucunu (WAF Attack Signature, WAF Attack Signature Group, If is a WAF block) okuyabilir. WAF yalnızca istek yönünü denetler; yanıt tarafındaki değişiklikler Load Balancer action'larıyla yapılır.
Nasıl Çalışır?
WAF açık bir HTTP vService'te istek şu sırayla işlenir. Tablo WAF'ın yerini gösterir; bütün aşamalar Bir istek TR7 içinde hangi aşamalardan geçerek backend'e ulaşır? sayfasındadır.
| # | Aşama | WAF açısından anlamı |
|---|---|---|
| 1 | Karşılama ve TLS | İstek vService'in dinlediği IP:port'ta alınır. HTTPS'te TLS TR7'de çözüldüğü için WAF şifresiz içeriği görür (WAF, HTTPS trafiğinin içeriğini görebilir mi; bunun için ne gerekir?). |
| 2 | Gerçek istemci IP'si | vService'e Trusted Proxies profili atanmışsa güvenilen ağdan gelen istekte istemci adresi header'dan çözülür. WAF'ın kara liste, öğrenme ve log kayıtları bu adresi kullanır (TR7 önünde CDN / proxy varsa WAF gerçek istemci IP'sini nasıl görür?). |
| 3 | Ölçüm, bot skoru ve AGS oturumu | vService'te L7 DDoS & Threat Protection açıksa sayaçlar güncellenir ve Bot Protection bot skorunu hesaplar; AGS açıksa istemcinin AGS oturumu doğrulanır ve bot skoru, L7 DDoS & Threat Protection kapalı olsa da AGS politikaları için hesaplanır. Bu aşamalar isteği değiştirmez ve yanıt vermez; yaptırım ve AGS yönlendirmesi WAF taramasından sonra gelir (WAF ile AGS birlikte kullanıldığında sıralama nasıldır?). |
| 4 | WAF taraması | İstek, Load Balancer action'larının değişikliklerinden önce, orijinal hâliyle taranır ve karar verilir. Whitelist Condition'a uyan istekler, Do Not WAF Static Contents açıkken (varsayılan) statik içerik istekleri (uzantısı statik olan, sorgu ve gövde taşımayan GET istekleri) ve AGS Root Path ile başlayan istekler taranmaz; bu istekler Live Stats'ta Whitelisted olarak sayılır. |
| 5 | L7 DDoS & Threat Protection yaptırımı | vService'te açıksa engelleme, CAPTCHA ya da karantina gibi yaptırımlar burada yanıt verir; WAF'ın engelleyeceği istekte de istemciye bu yanıt gider. |
| 6 | Actions | vService'in Actions listesi yukarıdan aşağıya çalışır. İsteği sonlandıran bir action (ör. Block, Show content, Location redirection) WAF'ın engelleme sayfası yerine kendi yanıtını döndürür. |
| 7 | WAF engelleme yanıtı | WAF'ın engellediği istek, varsa koşula uyan Conditional Blocking Pages satırının, yoksa varsayılan engelleme sayfasının yanıtını alır; Kurum Servisine gitmez. |
| 8 | Hedef ve Kurum Servisi seçimi | Engellenmeyen istek AGS, Conditional Backend Services ya da Default Backend Services üzerinden hedefine, LB Algorithm ve persistence'a göre bir Kurum Servisine gider. |
| 9 | Yanıt yolu | Kurum Servisinin yanıtı WAF'ta taranmaz; yanıt tarafı action'ları (On response) ve compression uygulanır. |
TR7'de Ortak Kullanılan Nesneler
Ters yönde, Load Balancer kuralları WAF'ın sonucunu koşul olarak okur:
| Koşul | Ne zaman eşleşir | Kullanım |
|---|---|---|
| WAF Attack Signature | Seçilen imzalardan biri, WAF'ın o istek için ürettiği saldırı kaydında yer aldığında | Belirli imzalara farklı action (WAF'ın tespit ettiği saldırıya göre Load Balancer tarafında farklı aksiyon alabilir miyim (WAF Attack Signature / Signature Group condition)?) |
| WAF Attack Signature Group | Seçilen kategorilerdeki bir imza saldırı kaydında yer aldığında | Saldırı kategorisine göre action |
| If is a WAF block (hazır koşul) | WAF isteği engellediğinde | WAF engellemesine bağlı action; olumsuz hâli Unless is a WAF block |
Bu koşullar yalnızca HTTP vService'te ve WAF açıkken anlam taşır. WAF'ın sonucu Smart Variable'larla (ör. %WAFSCORE, %ISWAFBLOCKED) action'larda da kullanılabilir.
Nereden İzlenir?
- WAF tarafı: vService'in WAF Dashboard'undaki akış şemasının üst bölümü vService'in giriş katmanını (tip, dinleyici adresleri, TLS), alt bölümü WAF denetimlerini gösterir.
- Load Balancer tarafı: Load Balancer Management ekranının Security Modules bölümündeki WAF kartı, host gruplarının baskın modunu gösterir.
- İstek bazında: vService'te Debug açıksa Debug Mode Logs kaydının Security Action hücresi isteği WAF'ın mı yoksa L7 DDoS & Threat Protection'ın mı sonlandırdığını yazar.
Sık Karıştırılan Noktalar
- "WAF, Load Balancer'ın önünde ayrı bir katmandır." WAF aynı vService'in içinde çalışır; trafiğe ek bir ağ durağı eklemez ve ayrı bir IP adresi gerektirmez.
- "WAF, Load Balancer'ın bir parçasıdır." WAF - WAAP, TR7'nin ayrı lisanslanan dört ürününden biridir (Load Balancer - ADC, WAF - WAAP, AGS - AAM, GTM); trafiği karşılayan HTTP vService'i Load Balancer - ADC ile paylaşır (Products & Licensing · Ürünler).
- "WAF, action'ların değiştirdiği isteği görür." WAF isteği action'lardan önce, orijinal hâliyle tarar; bir action'la eklenen header WAF'ın gördüğü isteği değiştirmez.
- "WAF engellediğinde istemci her zaman WAF'ın engelleme sayfasını görür." L7 DDoS & Threat Protection yaptırımı ya da isteği sonlandıran bir action varsa istemciye onların yanıtı gider; WAF'ın saldırı kaydı yine oluşur.
- "WAF yanıtları da tarar." WAF yalnızca istek yönünü denetler; yanıtta header ekleme, silme ya da içerik değiştirme On response action'larıyla yapılır.
- "WAF L7 TCP vService'te de açılabilir." WAF yalnızca HTTP vService'te çalışır (TR7 WAF hangi vService türlerinde çalışır; L7 TCP veya Network vService'te kullanabilir miyim?).
Dokümantasyonda nasıl yapılır
