Canlıdaki bir siteye WAF'ı kesinti riski olmadan nasıl devreye alırım?
Kısa cevap
WAF'ı açmak tek başına trafiği kesmez; ilk kez açılan vService Learning Mode'da başlar ve WAF kararıyla istek engellemez (önerilen yaşam döngüsü). Güvenli sıra: Trusted Proxy ve TLS sonlandırma kontrol edilir, WAF açılır, Learning Coverage düzleşene kadar öğrenilir, Analysis & Learning sonucu bilinmeyen ya da şüpheli path'ler analizden çıkarıldıktan sonra uygulanır, Monitor Mode'da kural seti gerçek trafikte engelleme yapmadan izlenip Event Logs'taki false positive'ler Allow / Teach ile öğretilir ve yeni false positive gelmediğinde Blocking Mode'a geçilir. Mod değişiklikleri ayrı dağıtım adımı olmadan, açık bağlantılar kopmadan uygulanır. Birden çok alan adı varsa olgunlaşanlar ayrı Virtual Host Group'larla kademeli olarak Blocking mode'a alınır. Gövde varsayılan olarak denetimden önce tamamen alınır (Wait for body for a time kapalı); büyük yükleme yapan sayfalar ayrıca izlenir.
Sorun: Canlı Sitede Yanlış Engelleme Riski
WAF'ın doğrudan Blocking Mode'da devreye alınması, kural setinde henüz karşılığı olmayan sayfaları ve meşru istekleri engelleyebilir. Ürün bu nedenle Learning mode'dan Monitor mode'a, Monitor mode'dan Blocking mode'a geçen bir sıra önerir (önerilen yaşam döngüsü). Bu sıra izlenirken de aşağıdaki durumlar kullanıcıyı etkileyebilir:
| Durum | Etkisi ve önlem |
|---|---|
| WAF taraması 2 saniyelik süre sınırı içinde tamamlanamaz | Learning ve Monitor mode'da istek geçirilir (tarama kurallar yüklenirken ve host grubu belirlenmeden kesildiyse ve vService'te Blocking mode'da bir grup varsa engellenir); Blocking mode'a geçildiğinde istek engellenir ve Blocking Page ile yanıtlanır, Fail-open açıksa taranmadan geçirilir (Tarama belirli bir süreyi aşarsa istek ne olur (2 saniyelik tarama sınırı)?) |
| İstek gövdesi denetimden önce tamamen alınır | Çok yavaş büyük yüklemeler zaman aşımına uğrayabilir (Büyük dosya yüklemeleri başarısız oluyor; neden?) |
| vService'te WAF daha önce açılıp kapatılmış | Virtual Host Group'lar kayıtlı modlarıyla, örneğin Blocking mode'da döner (WAF korumasını kaldırırsam öğrenilen kurallar ve ayarlar silinir mi?) |
| Engelleme yanıtı | Blocking Status Code varsayılan 418'dir; istemci ve izleme araçları bunu hata olarak görür, gerekirse değiştirilir |
Çözüm: İki Yöntem
İki yöntem aynı sırayı izler; ikincisi, aynı vService'teki alan adlarını ayrı gruplarda ayrı hızda ilerletir.
| Durumunuz | Uygun yöntem |
|---|---|
| Tek alan adı ya da vService'in bütünü | Yöntem 1: Aşamalı mod geçişi |
| Aynı vService'te birden çok alan adı; olgun olanlar önce korunsun | Yöntem 2: Alan adına göre kademeli geçiş |
Yöntem 1: Aşamalı Mod Geçişi Önerilen
- Nasıl çalışır Virtual Host Group Learning Mode, Monitor Mode ve Blocking Mode'dan sırayla geçirilir. Monitor mode'da denetim Blocking mode ile birebir aynıdır; engelleme kararı hesaplanır ama uygulanmaz.
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management · Dashboard · Event Logs
- Gereksinim HTTP vService; WAF - WAAP lisansı; WAF alanında değiştirme yetkisi
- vService tipi HTTP
Adım adım yapılandırma
TR7'nin önünde CDN ya da proxy varsa vService'e Trusted Proxy profili atanır (TR7'nin önünde Cloudflare / Akamai gibi bir CDN var; gerçek istemci IP'sini nasıl alırım (Trusted Proxy)?); HTTPS içerik için TLS vService'te sonlandırılır (WAF, HTTPS trafiğinin içeriğini görebilir mi; bunun için ne gerekir?).
WAF, vService formundaki WAF kutusuyla ya da WAF-Protected vService List ekranındaki Enable ile açılır (Bir vService'te WAF korumasını nasıl etkinleştiririm?). Açılış açık bağlantıları koparmaz (etkinleştirildikten sonra ne oluşur).
vService'in Dashboard sekmesinde Learning görünümü açılır; Learning Coverage %100'e yaklaşıp düzleşene, Learning Discovery Rate'teki New shapes (accepted) sıfıra yaklaşana kadar beklenir.
WAF Management sekmesinde mod kartındaki Analysis & Learning metnine tıklanır; yeni analiz penceresi açılır (yeni analiz oluşturma).
Start Analyzing tıklanır; ilerleme mod kartındaki çubukta izlenir.
Analiz bitince Analysis & Learning satırında beliren New rozetine tıklanır; analizin özeti açılır (analizin tamamlanması).
Özetteki Edit tıklanır; Analyze Page Types sekmesi açılır. Solda öğrenilen dizinlerin ağacı, sağda seçili dizindeki path'ler listelenir.
Analiz sonucunda çıkan path'ler kontrol edilir; listede yalnızca WAF kuralı oluşturulacak path'ler kalmalıdır. Bilinmeyen ya da şüpheli path'lerin analizden elle çıkarılması önerilir: satırlar seçilip Exclude from Analysis tıklanır; bu path'ler Excluded paths listesine eklenir ve kural üretmez. Düzenlemeler ayrı bir kaydetme adımı olmadan analiz kaydına yazılır; canlı kurallar yalnızca Apply ile değişir.
Analyze Page Types sekmesindeki Apply tıklanır ve Are you sure? sorusu onaylanır (analiz sonucunun uygulanması).
Mod kartının başlık şeridindeki Edit tıklanır (WAF Mode Edit ekranı).
WAF Mode alanında Monitor mode seçilir.
Pencerenin altındaki Edit tıklanır; değişiklik ayrı bir dağıtım adımı olmadan uygulanır. Cluster kurulumunda varsayılan auto-sync ile değişiklik eş cihaza da otomatik gönderilir; Manual Sync Mode açıksa eş cihaza elle gönderilir.
Event Logs sekmesinde kayıtlar incelenir. Monitor mode'daki grupta kayıtların hepsi Not blocked — Monitor mode olarak görünür: puanı eşiğe ulaşan istekler Blocking mode'da engellenir; yalnızca State = Monitor olan bir imzaya takılıp eşiğin altında kalan istekler ise Blocking mode'da da geçer. Bu ikinci tür, sunucu filtresindeki Log Filter'da Monitor only alanıyla ayrılır.
Meşru olduğu bilinen isteklerin satırları onay kutularıyla seçilir.
Araç çubuğundaki Allow / Teach tıklanır ve Are you sure? sorusu onaylanır; seçili isteklerin tetiklediği imzalar kural setine öğretilir.
Event Logs'a yeni false positive gelmediği görülünce 10–12. adımlar tekrarlanır ve WAF Mode alanında Blocking Mode seçilip Edit ile kaydedilir. Geçiş ölçütleri: Learning modundan Monitor'a, Monitor'dan Blocking'e ne zaman geçmeliyim?
Doğrulama
Blocking mode'a geçtikten sonra Event Logs kayıtlarının önizlemesine bakılır.
Attack blocked yalnızca saldırı isteklerindeDashboard'daki WAF Inspection Distribution panelinde serilere bakılır.
Blocked serisi yalnızca saldırı isteklerinde artarYöntem 2: Alan Adına Göre Kademeli Geçiş
- Nasıl çalışır Mod vService'e değil Virtual Host Group'a atanır. Olgunlaşan alan adları kendi gruplarında Blocking mode'a alınırken diğerleri Learning ya da Monitor mode'da kalır. Yeni grup kendi kural setiyle tek kuralla (Any paths) başlar ve kendi trafiğinden öğrenir.
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → Virtual Host Groups bandı
- Gereksinim WAF açık HTTP vService; WAF alanında değiştirme yetkisi
- vService tipi HTTP
Adım adım yapılandırma
WAF Management sekmesinin en altındaki Virtual host groups bandının başlık şeridindeki artı (+) ikonuna tıklanır; Add başlıklı pencere açılır (host grubu ekleme).
Virtual Host Group Name girilir. Virtual Host Patterns alanına alan adı yazılır (ör. api.example.com ya da *.example.com); desen Host başlığıyla büyük/küçük harf ve port dahil olduğu gibi karşılaştırılır. WAF Mode alanı vService'in varsayılan moduyla önseçili gelir; grubun bulunduğu aşamaya göre seçilir.
Pencerenin altındaki Add tıklanır; grup için ayrı bir mod kartı görünür. Cluster kurulumunda varsayılan auto-sync ile değişiklik eş cihaza da otomatik gönderilir; Manual Sync Mode açıksa eş cihaza elle gönderilir.
Her grup, kendi mod kartından Yöntem 1'deki sırayla (3–16. adımlar) ayrı ayrı Monitor mode'a ve Blocking mode'a alınır. Ayrıntı: Aynı vService'te farklı domainler için farklı modlar kullanabilir miyim?
Doğrulama
WAF Management'taki mod kartlarına bakılır.
Her grup kendi modunda; Requests to … are handled by this groupSık Yapılan Hatalar
- Monitor mode aşamasını atlamak. Kural setinin gerçek trafikteki etkisi görülmeden kullanıcılar engellenebilir (WAF Mode Edit ekranı).
- Learning Coverage düşükken Blocking mode'a geçmek. Kural setinde karşılığı olmayan sayfalar ve parametreler yapısal ihlal sayılıp engellenebilir (Learning Coverage).
- Learning mode kayıtlarını Blocking mode davranışı sanmak. Learning mode'da imza taraması istisnaları yok sayarak çalışır; Blocking mode'da ne olacağını Monitor mode kayıtları gösterir (modların çalışma anı davranışı).
- Monitor mode'daki her kaydı engellenecek istek sanmak. Yalnızca State = Monitor olan imzaya takılıp eşiğin altında kalan istekler de Not blocked — Monitor mode olarak görünür ve Blocking mode'da da geçer; bu kayıtlar Log Filter'daki Monitor only alanıyla ayrılır.
- Daha önce WAF'ı açık olan vService'in Learning mode'da başlayacağını sanmak. Kayıtlı mod geri gelir (WAF korumasını kaldırırsam öğrenilen kurallar ve ayarlar silinir mi?).
- Teacher ya da Conditional learning kimliklerini yayından sonra açık bırakmak. Teacher kimliği taşıyan istekler hiçbir modda WAF kararıyla engellenmez, Conditional Learning kimliği taşıyanlar öğrenme kapsamında işlenir; kimlik alanları işi bitince boşaltılır.
Dokümantasyonda nasıl yapılır
