Analysis & Learning ile geçmiş trafikten nasıl kural üretirim?
Kısa cevap
WAF Management sekmesinde host grubunun mod kartındaki Analysis & Learning bağlantısına tıklanır ve açılan New Analyze penceresinde Analyze Date (ilk açılışta son 3 ay), Advanced altındaki Ignore Old Rules anahtarı (Create New Rules / Combine with Old Rules), Rule Creating Mode (ilk açılışta Data based) ve trafik filtreleri seçilip Start Analyzing tıklanır. Analiz learning log'u okuyup sayfa tipi önerisi üretir; bitince mod kartında New rozeti çıkar. Sonuç Edit ile Analyze Page Types ekranında incelenip daraltılır: analiz sonucunda çıkan path'ler kontrol edilir, listede yalnız WAF kuralı oluşturulacak path'ler kalmalıdır; bilinmeyen ya da şüpheli path'lerin Exclude from Analysis ile analizden çıkarılması önerilir. Ardından Apply ile host grubunun kural listesine yazılır. Seçilen dönemde learning log bulunmalıdır: grup Learning modunda olmalı ya da Conditional Learning ile trafik toplanmış olmalıdır. Uygulama geri alınamaz; mevcut kurallar korunacaksa önce Export alınır. WEB-CLI'da analiz komutu yoktur.
Sorun: Kural Seti Elle Yazılamayacak Kadar Büyük
Uygulamanın yüzlerce path'i ve parametresi için kuralları elle yazmak pratik değildir; biriken trafikten sayfa tiplerinin, izinli metotların ve ölçülmüş sınırların üretilmesi gerekir. Analysis & Learning bunu learning log'dan yapar; Learning modunda geçen süre boyunca toplanan kayıtlar kurala dönüştürülür.
Çözüm
Analiz host grubu başına başlatılır. Birden çok host grubunu tek analizde işlemek için Collective Analysis & Learning kullanılır: Birden fazla host group için tek seferde analiz çalıştırabilir miyim (Collective Analysis)?
Analysis & Learning
- Nasıl çalışır Seçilen dönemin learning log'u okunur, sayfa tipi ağacı önerilir; Apply aynı dönemi yeniden okuyup ölçülmüş değerleri host grubunun kural listesine yazar.
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → host grubunun mod kartı → Analysis & Learning
- Gereksinim WAF alanında değiştirme yetkisi · analiz döneminde learning log (grup Learning modunda ya da Conditional learning açık) · mevcut kurallar korunacaksa önceden Export
- vService tipi HTTP
Adım adım yapılandırma
Uygulama geri alınamadığı için mevcut kurallar korunacaksa host grubunun Page types ekranında Export alınır (Bir host group'un kural setini JSON olarak dışa aktarıp başka bir ortama taşıyabilir miyim; hangi ayarlar bu dosyaya girmez?).
İzinli parametre ve header listelerinin öğrenilmesi için Inspection & Blocking bölümündeki Checks kartında Argument Checks açık olmalıdır. Analiz, başlatıldığı andaki ayarı kullanır (Structure Checks ve Argument Checks ana anahtarları ne yapar; kapatırsam ne olur?).
Left Monitor Panel → WAF-Protected vServices → vService → WAF Management sekmesinde host grubunun mod kartındaki Analysis & Learning bağlantısına tıklanır; New Analyze for vService adı başlıklı pencere açılır. vService ve Virtual Host Groups alanları seçili gruba kilitlidir.
Analyze Date alanında okunacak dönem seçilir. İlk açılışta son 3 ay seçilidir; sonraki açılışlarda o vService için son kullanılan değer gelir.
Advanced bölümü açık gelir:
| Alan | Varsayılan | Ayrıntı |
|---|---|---|
| Source (yalnızca cluster'da) | Bu cihaz | İki cihazın kaydı için Both devices |
| Ignore Old Rules | Create New Rules (her açılışta) | Analizde "Create New Rules" ile "Combine with Old Rules" arasındaki fark nedir? |
| Rule Creating Mode | Data based (Pages with dynamic data are learned) | Rule Creating Mode seçenekleri (Comprehensive, Data Based, Page Independent) arasındaki fark nedir; hangisini seçmeliyim? |
| Country Filter | Use selected: Local networks, Turkey | Yurt dışı kullanıcılar varsa ülkeleri eklenir |
| Only Domains · Only Browsers · Skip Blacklist IPs | İşaretli | "Only Domains" ve "Only Browsers" filtreleri ne işe yarar? |
| Status Code Filter | Use selected: 400'ün altındaki kodlar | - |
| Bot Filter | Eliminate selected: bütün bot kategorileri | - |
| Source IP Filter · Host Filter | No filter | Analize saldırı trafiğinin karışmasını nasıl önlerim (ülke, kara liste, bot, durum kodu, kaynak IP filtreleri)? |
Ignore Old Rules ve Host filter dışındaki seçimler kullanıcı ve vService bazında hatırlanır.
Start Analyzing tıklanır. Mod kartında yüzde ve okunan satır sayısını gösteren ilerleme çubuğu görünür; çubuğa tıklanınca ayrıntı penceresi (Task type, Parsed raw data, Used logs, Filter reasons) ve Stop Process butonu açılır (Çalışan bir analizi durdurabilir miyim; en fazla kaç analiz saklanabilir?).
Analiz bitince mod kartında New rozeti çıkar; rozete tıklanınca Edit, Apply, Delete ve Ignore butonlarını taşıyan pencere açılır.
Edit tıklanır; Analyze Page Types sekmesi açılır. Analizde bu host grubuna hiç log düşmemişse (Used logs 0) sekme açılmaz; "No logs found in analysis. Would you like to delete the analysis?" sorusu gelir.
Analiz sonucunda çıkan path'ler ağaçta tek tek kontrol edilir; listede yalnız WAF kuralı oluşturulacak path'ler kalmalıdır. Bilinmeyen ya da şüpheli path'lerin analizden elle çıkarılması önerilir: satırlar işaretlenir ve Exclude from Analysis tıklanır (ağaçtaki bir dala sağ tıklanarak da yapılır). Çıkarılan adresler Excluded paths listesine eklenir ve kural üretmez.
Benzer adresler glob ile toplanır; Current Page Count 500'ü aşmamalıdır (Analiz sonucunu uygulamadan önce inceleyip düzenleyebilir miyim (Analyze Page Types ekranı)?).
Araç çubuğundaki Apply tıklanır; Are you sure? sorusu açılır.
Are you sure? sorusu Yes ile onaylanır. Mod kartında Applying Rules görev tipiyle bir ilerleme çubuğu görünür; uygulama bitince ekranda "Rules applied" bildirimi çıkar ve mod kartında 5 dakika boyunca Applied rozeti kalır. Kural yazımı ayrı bir dağıtım adımı istemez; cluster'da değişiklik varsayılan auto-sync ile eş cihaza gider, Manual Sync Mode açıksa elle gönderilir (Analiz sonucunu uyguladığımda ne olur?).
Doğrulama
Mod kartındaki sayfa tipi sayısı satırına tıklanır ve host grubunun Page types listesine bakılır.
Analizden gelen sayfa tipleriLearning methods kartındaki kural politikası cümlesine bakılır; uygulama politikayı analizde seçilen moda eşitler.
Rule policy is Data based — unlearned accesses carrying data are blockedSık Yapılan Hatalar
- Learning log olmayan dönemi analiz etmek. Grup Monitor ya da Blocking modundaysa ve Conditional learning açık değilse kayıt oluşmaz; Used logs 0 gelir.
- Ülke filtresini kontrol etmemek. İlk açılışta yalnızca Local networks ve Turkey seçilidir; başka ülkelerden gelen kullanıcıların trafiği analize girmez.
- Create new rules ile mevcut kuralları kaybetmek. Anahtar her açılışta Create New Rules konumundadır ve mevcut kural listesini yok sayar; korunacaksa Combine with Old Rules seçilir.
- Analizden sonra kuralları elle düzenleyip sonra uygulamak. Uygulama, analizin başladığı andaki kural kopyasını temel alır; aradaki elle düzenlemeler kaybolur.
- Cluster'da Source alanını gözden kaçırmak. Varsayılan yalnızca bu cihazın learning log'udur; trafik iki cihaza dağılıyorsa Both devices seçilir.
- Analiz sonucundaki path'leri kontrol etmeden uygulamak. Analize karışmış bilinmeyen ya da şüpheli adresler de sayfa tipi olarak yazılır; bu path'ler uygulamadan önce Exclude from Analysis ile analizden çıkarılır.
- Sonucu doğrudan Blocking'e almak. Önce sonuç Monitor modunda izlenerek doğrulanır (Learning modundan Monitor'a, Monitor'dan Blocking'e ne zaman geçmeliyim?).
Dokümantasyonda nasıl yapılır
