Analiz çok az page type üretti / hiç üretmedi; hangi filtreleri kontrol etmeliyim?
Kısa cevap
Önce analizin kaç satır okuyup kaçını kullandığına bakılır: analizin ayrıntı penceresindeki Parsed Logs, Used logs, Filter reasons ve Static requests alanları kaybın nerede olduğunu gösterir. Parsed logs sıfırsa seçilen dönemde öğrenme kaydı yoktur; öğrenme kaydı yalnızca Learning Mode'daki host group'a gelen isteklerden ve Conditional Learning kimliğiyle gelen isteklerden yazılır. Satırlar filtrelerde eleniyorsa varsayılanlar kontrol edilir: Country Filter yalnızca Local networks ve Turkey'i alır; Only Domains port ya da büyük harf içeren Host başlıklarını, Only Browsers tarayıcı olmayan istemcileri, Status Code Filter 400 ve üzeri yanıtları, Bot Filter bütün bot kategorilerini ve User-Agent taşımayan istekleri dışarıda bırakır. Satırlar kullanıldığı hâlde sayfa tipi çıkmıyorsa Rule Creating Mode belirleyicidir: Page independent hiç sayfa tipi üretmez; Data based sorgu, gövde ya da GET, HEAD, OPTIONS dışında bir metot taşımayan istekleri sayfa tipi yapmaz ve bunları Static requests olarak sayar. Sonuç ekranında Advanced Settings altındaki Min requests, Min visitors, Min Ips ve Country limit eşikleri ile Excluded paths ve Dynamic paths listeleri sayfa sayısını ayrıca azaltır.
Sorun: Analiz Beklenenden Az Sayfa Tipi Önerdi
Analysis & Learning tamamlandı, ancak sonuç sitenin gerçek sayfa sayısının çok altında kaldı ya da hiç sayfa tipi önermedi; açılan sonuç yerine "No logs found in analysis. Would you like to delete the analysis?" uyarısı da görülebilir. Analiz, öğrenme kaydını birkaç elemeden geçirerek okur ve her eleme sonucu küçültür; hangisinin devrede olduğu analizin ayrıntısından okunur (Analysis & Learning ile geçmiş trafikten nasıl kural üretirim?).
Analiz Hangi Kayıtları Kullanır?
- Kaynak: Yalnızca öğrenme kaydı okunur. Bir istek bu kayda, host group Learning mode'dayken ya da Conditional learning kimliğiyle geldiğinde yazılır; Monitor mode ve Blocking mode'daki istekler, Event Logs kayıtları, Whitelist Condition'a uyan istekler ve statik içerik sayılan istekler okunmaz. Smart Sampling (learning log) açıkken aynı şekildeki isteklerin yalnızca bir kısmı yazıldığından analiz örneklenmiş kümeyi görür.
- Dönem ve kaynak cihaz: Analyze Date aralığındaki kayıtlar okunur; cluster kurulumunda Source alanında seçilen cihazın kaydı okunur (varsayılan üzerinde çalışılan cihaz). Okunan satır sayısı Parsed logs'ta görünür.
- Host group: Her satır Host başlığına göre bir host group'a eşlenir; Virtual Host Groups alanında seçilmemiş host group'ların satırları Parsed logs'ta sayılır ama Used logs'a ve Filter reasons'a girmez.
- Filtreler: Satır, şu sırayla filtrelerden geçer: Country filter, Only domains, Only browsers, Skip Blacklist IPs, Status Code Filter, Bot filter, Source IP Filter, Host filter. Satır ilk takıldığı filtrenin adıyla Filter Reasons kırılımına yazılır; bu yüzden yurt dışından gelen bir bot isteği Bot filter'da değil Country filter'da sayılır.
- Statik istekler: Rule Creating Mode Comprehensive değilse, sorgu ve gövde taşımayan, metodu GET, HEAD ya da OPTIONS olan istekler Static Requests olarak sayılır ve sayfa tipi üretmez. Bu satırlar Used Logs'a dahildir.
- Sayfa tipine dönüşme: Kalan istekler path ağacına yerleşir. Page independent'ta hiçbir path sayfa tipi olmaz. Sonuç ekranındaki eşikler ve Dynamic paths desenleri Analysis Page Count'u Current page count'a indirir.
Olası Nedenler
| Belirti | Neden | Düzeltme |
|---|---|---|
| Parsed logs 0 ya da "No logs found in analysis" uyarısı | Seçilen dönemde host group Learning mode'da değildi ve Conditional learning kimliğiyle trafik gelmedi; ya da cluster'da trafiği almayan cihaz Source olarak seçildi | Dönem, öğrenmenin yapıldığı aralığa çekilir; Blocking mode'daki host group için önce Conditional learning ile kayıt toplanır (Blocking modundayken belirli trafiği yine de öğrenmeye devam ettirebilir miyim (Conditional Learning)?); Source'ta Both Devices seçilir |
| Parsed logs yüksek, Used logs düşük, Filter reasons'ta Country Filter baskın | Country Filter Use selected, yalnızca Local networks ve Turkey seçili; ya da TR7 bir CDN arkasında ve Trusted Proxy olmadığı için istemciler CDN'in ülkesinden görünüyor | Kullanıcıların ülkeleri eklenir ya da No filter seçilir; CDN için Loglarda istemci IP'si yerine proxy / CDN IP'si görünüyor; ne yapmalıyım? |
| Filter reasons'ta Only Domains | Host başlığı port (www.example.com:8443), büyük harf ya da IPv6 adresi taşıyor; yalnızca IPv4 adresinden oluşan Host geçerli sayılır | Only Domains işareti kaldırılır |
| Filter reasons'ta Only Browsers | İstemciler mobil uygulama, API istemcisi ya da entegrasyon; tarayıcı olarak tanınmıyor | Only Browsers işareti kaldırılır ("Only Domains" ve "Only Browsers" filtreleri ne işe yarar?) |
| Filter reasons'ta Skip Blacklist IPs | İstemci adresleri IP Intelligence & Reputation kara listesinde tek adres olarak yer alıyor | Gerekmedikçe işaretli bırakılır; kara listedeki kaynakların trafiğinden kural öğrenilmesi istenmez |
| Filter reasons'ta Status Code Filter | Uygulama isteklerin çoğuna 4xx/5xx dönüyor ya da yönlendirmeler seçilmemiş | Status Code Filter varsayılanında 400'ün altındaki kodlar seçilidir; uygulama hataları giderilir |
| Filter reasons'ta Bot Filter | Bot Filter Eliminate selected ve bütün kategoriler seçili; Only browsers işaretli değilken test araçları (curl, Postman), izleme istemcileri ve User-Agent taşımayan istekler bu filtrede eleniyor | Analize girmesi gereken kategori seçimden çıkarılır |
| Filter reasons'ta Source IP Filter ya da Host Filter | Use selected seçilip liste boş bırakılmış ya da desen hatalı | Source IP Filter ve Host Filter No filter yapılır ya da liste düzeltilir |
| Used logs yüksek, Static Requests de yüksek | Rule Creating Mode Data based; veri taşımayan sayfa erişimleri sayfa tipi üretmiyor | Her sayfanın ayrı kural alması isteniyorsa Comprehensive seçilir (Rule Creating Mode seçenekleri (Comprehensive, Data Based, Page Independent) arasındaki fark nedir; hangisini seçmeliyim?) |
| Hiç sayfa tipi yok, Used logs yüksek | Rule Creating Mode Page independent | Data based ya da Comprehensive seçilir |
| Analysis Page Count yüksek, Current Page Count düşük | Sonuç ekranındaki Min Requests, Min Visitors, Min Ips, Country Limit eşikleri ya da geniş Dynamic Paths ve Excluded Paths desenleri | Eşikler boşaltılır, desenler gözden geçirilir (Min Requests, Min Visitors, Min Ips, Country Limit filtreleri neden var?, Dynamic Paths, Excluded Paths ve Dynamic Path Exclusions ne işe yarar?) |
| Bir host group'un sonucu yok | Virtual Host Groups alanında o grup seçilmemiş ya da trafiğin Host başlığı başka bir gruba düşüyor | Grup seçilir; host group desenleri kontrol edilir |
Nereden İzlenir?
| Ekran | Yol | Ne gösterir |
|---|---|---|
| Analizin ayrıntı penceresi (çalışan analizin ayrıntıları) | WAF Management → mod kartındaki ilerleme çubuğu | Analiz sürerken Parsed Logs, Used Logs, kullanılan filtreler ve Filter Reasons |
| Analiz önizlemesi (seçilen analizin önizlemesi) | WAF Management → mod kartındaki Analysis & Learning satırının başındaki ev ikonu → analiz listesi → satır; ya da satırdaki New rozeti | Biten analizin bütün parametreleri, Filter Reasons, Static Requests, Analysis Page Count / Current Page Count |
| Analyze Page Types | Analiz önizlemesi → Edit | Path ağacı, eşikler ve path listeleri |
| Learning Log Sampling | WAF-Protected vServices → vService → Dashboard → Learning | Öğrenme kaydına yazılan satırların akıp akmadığı |
Nasıl Teşhis Edilir?
- Left Monitor Panel → WAF-Protected vServices → vService → WAF Management açılır.
- Host group'un mod kartındaki Analysis & Learning satırının başındaki ev ikonuna tıklanır; analiz listesi açılır. Satıra tıklanır ve sağdaki önizleme okunur. Analiz sürüyorsa mod kartındaki ilerleme çubuğuna tıklanarak aynı alanlar görülür.
- Parsed Logs değerine bakılır. Sıfırsa dönemde öğrenme kaydı yoktur: Analyze date aralığı, host group'un o dönemdeki modu ve cluster'da Source alanı kontrol edilir.
- Used Logs ile Parsed logs karşılaştırılır. Fark büyükse Filter Reasons kırılımında en yüksek değerli filtre bulunur; filtrelerin sırası nedeniyle kırılım, satırın takıldığı ilk filtreyi gösterir.
- Static Requests değeri Used logs'un büyük kısmını oluşturuyorsa Rule Creating Mode Data based'dir ve veri taşımayan sayfalar sayfa tipi üretmemiştir; önizlemedeki Ignore Old Rules satırı seçilen Rule Creating Mode'u da gösterir.
- Analysis Page Count ile Current Page Count karşılaştırılır. Current Page Count belirgin biçimde düşükse sonuç ekranındaki eşikler ve path listeleri sayfaları elemiştir.
Çözüm
Filtre, dönem ve Rule Creating Mode kaynaklı kayıplar analizin yeniden çalıştırılmasını gerektirir; sonuç ekranındaki eşik ve path listesi kaynaklı kayıplar ise mevcut analiz üzerinde düzeltilir.
| Durumunuz | Uygun yöntem |
|---|---|
| Parsed logs düşük, Filter reasons'ta bir filtre baskın, Static requests yüksek ya da yanlış Rule Creating Mode | Yöntem 1: Analizi düzeltilmiş ayarlarla yeniden çalıştırmak |
| Analysis Page Count yüksek ama Current Page Count düşük | Yöntem 2: Analyze Page Types eşiklerini ve path listelerini düzeltmek |
| Seçilen dönemde öğrenme kaydı hiç yok; host group Blocking mode'da | Blocking modundayken belirli trafiği yine de öğrenmeye devam ettirebilir miyim (Conditional Learning)? |
Yöntem 1: Analizi Düzeltilmiş Ayarlarla Yeniden Çalıştırmak Önerilen
- Nasıl çalışır Aynı öğrenme kaydı, sitenin trafiğine uygun dönem, filtre ve Rule Creating Mode ile yeniden okunur; yeni bir analiz kaydı oluşur (yeni analiz oluşturma).
- Nerede açılır WAF-Protected vServices → vService → WAF Management → mod kartı → Analysis & Learning
- Gereksinim WAF alanında değiştirme yetkisi; dönemde öğrenme kaydı
- Kapsam Seçilen host group'lar; analiz canlı kural setine dokunmaz, yalnızca Apply ile uygulanır
Adım adım yapılandırma
Left Monitor Panel → WAF-Protected vServices → vService → WAF Management açılır.
Host group'un mod kartındaki Analysis & Learning metnine tıklanır; New Analyze for vService adı başlıklı pencere açılır. Pencere, bu vService için en son başlatılan analizin filtre değerleriyle açılır; Host filter, Ignore Old Rules ve host group seçimi her açılışta varsayılan değerine döner.
Analyze Date alanında öğrenme kaydının bulunduğu aralık seçilir (varsayılan Last 3 month(s)); hazır aralıkların yanında Custom Duration ve Custom Date Range kullanılabilir.
Cluster kurulumunda Advanced bölümündeki Source alanında Both Devices seçilir; tek cihaz seçilirse eş cihazdan geçen trafik analize girmez.
Ignore Old Rules anahtarı her açılışta Create new rules ile gelir ve mevcut kural listesini yok sayar. Mevcut kurallar korunacaksa anahtar Combine with old rules konumuna getirilir (Analizde "Create New Rules" ile "Combine with Old Rules" arasındaki fark nedir?).
Rule Creating Mode listesinden Comprehensive (Each page is learned), Data based (Pages with dynamic data are learned) ya da Page independent (Pages are not learned) seçilir; varsayılan Data based'dir. Analiz uygulandığında Learning methods'taki Rule Creation Policy de bu değere güncellenir.
Filter reasons'ta baskın çıkan filtre gevşetilir: Country Filter'a kullanıcıların ülkeleri eklenir ya da No filter seçilir (yerel ve özel adresler için Local networks seçili kalır); API ve mobil trafik için Only Browsers, port taşıyan Host'lar için Only Domains işareti kaldırılır; Bot Filter'da analize girmesi gereken kategoriler seçimden çıkarılır. Status Code Filter'ın 400'ün altındaki kodları alan varsayılanı korunur; Skip Blacklist IPs işaretli bırakılır.
Start Analyzing tıklanır; pencere kapanır ve ilerleme mod kartındaki çubuktan izlenir. Analiz tamamlandığında Analysis & Learning satırında New rozeti belirir; sonuç Edit ile incelenir ve Apply ile uygulanır (analiz sonucunun uygulanması). Apply'dan önce 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 ağaçta seçilip Exclude from Analysis ile analizden çıkarılması önerilir; bu path'ler Excluded paths listesine eklenir ve kural üretmez. Uygulama geri alınamadığından öncesinde Page types ekranından Export ile yedek alınır.
Doğrulama
Mod kartındaki ilerleme çubuğuna ya da analiz bitince New rozetine tıklanır; Used logs ve Filter reasons okunur.
Used logs arttı, Filter reasons'taki baskın filtre azaldıAnaliz önizlemesinde Analysis Page Count / Current Page Count değerine bakılır.
Önceki analizden yüksek değerYöntem 2: Analyze Page Types Eşiklerini ve Path Listelerini Düzeltmek
- Nasıl çalışır Analiz yeniden çalıştırılmadan, sonuç ağacını daraltan eşikler boşaltılır ve path listeleri gözden geçirilir; ağaç her değişiklikte yeniden hesaplanır (Advanced Settings).
- Nerede açılır Analiz önizlemesi → Edit → Analyze Page Types sekmesi → Advanced Settings
- Gereksinim WAF alanında değiştirme yetkisi; uygulanmamış bir analiz sonucu
- Kapsam Seçilen analiz sonucu; canlı kural seti Apply'a kadar değişmez
Adım adım yapılandırma
WAF Management'ta mod kartındaki Analysis & Learning satırının başındaki ev ikonuna tıklanır, analiz listesinde satır seçilip Edit tıklanır; Analyze Page Types sekmesi açılır. İlgili host group için analizde işlenmiş kayıt yoksa sekme açılmaz ve analizin silinmesi önerilir.
Araç çubuğundaki Advanced Settings tıklanır; Advanced Settings penceresi açılır.
Pencerenin üstündeki gruplardan Filter seçilir; Min Requests, Min Visitors, Min Ips ve Country Limit alanları boşaltılır ya da düşürülür (en küçük değer 2'dir; boş alan için eşik uygulanmaz). Max Logs per Path ve Don't Learn OWASP Exclusions değiştirilmez.
Aynı pencerede Excluded Paths ve Dynamic Paths grupları açılır; analiz dışında kalmaması gereken path'ler Excluded paths'ten, birbirinden farklı sayfaları tek sayfa tipine toplayan geniş desenler Dynamic paths'ten silinir. Ayrı kalması gereken path'ler Dynamic Path Exclusions'a eklenir.
Accept tıklanır; ağaç yeniden hesaplanır ve değişiklik ayrı bir kaydetme adımı olmadan analiz kaydına yazılır. Uygulamadan önce 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 ağaçta seçilip Exclude from Analysis ile analizden çıkarılması önerilir; bu path'ler Excluded paths listesine eklenir ve kural üretmez. Canlı kural seti ancak Apply ile değişir; Current Page Count 500'ü aşarsa uygulama reddedilir.
Doğrulama
Analyze Page Types sekmesindeki özet penceresinde ya da analiz listesinde Current Page Count okunur.
Analysis page count'a yaklaşan değerSık Yapılan Hatalar
- Blocking mode'daki host group'un trafiğini analiz etmek. Monitor mode ve Blocking mode'daki istekler öğrenme kaydına yazılmaz; Conditional learning kimliği olmadan analiz bu dönemde satır bulamaz.
- Country filter varsayılanını yurt dışına hizmet veren sitede bırakmak. Varsayılan yalnızca Local networks ve Turkey'i alır; diğer ülkelerden gelen trafiğin tamamı analiz dışında kalır.
- Only domains'in yalnızca IP ile gelen istekleri elediğini sanmak. Yalnızca IPv4 adresinden oluşan Host geçerli sayılır; port numarası, büyük harf ya da IPv6 adresi içeren Host başlıkları elenir.
- Test araçlarıyla üretilen trafiği analiz etmek. Varsayılan ayarlarda curl, Postman ve benzeri araçların istekleri ile User-Agent taşımayan istekler Only browsers'a, bu işaret kaldırılırsa Bot filter'a takılır; test trafiği tarayıcıyla üretilir ya da filtreler buna göre ayarlanır.
- Ignore old rules'u kontrol etmeden analiz başlatmak. Anahtar her açılışta Create New Rules ile gelir; uygulandığında mevcut kural listesi analiz sonucuyla değiştirilir.
- Cluster'da tek cihazı Source seçmek. Her cihaz yalnızca kendi öğrenme kaydını okur; Source'ta Both Devices seçilir.
Dokümantasyonda nasıl yapılır
İlgili sorular
- Analize saldırı trafiğinin karışmasını nasıl önlerim (ülke, kara liste, bot, durum kodu, kaynak IP filtreleri)?
- "Only Domains" ve "Only Browsers" filtreleri ne işe yarar?
- Rule Creating Mode seçenekleri (Comprehensive, Data Based, Page Independent) arasındaki fark nedir; hangisini seçmeliyim?
- Min Requests, Min Visitors, Min Ips, Country Limit filtreleri neden var?
