Hiçbir page type'a uymayan istek nasıl incelenir?
Kısa cevap
Denetimsiz kalmaz: isteğin düştüğü host grubunun Any Paths kuralıyla incelenir (çalışma anı kural eşleşmesi). Varsayılan yapılandırmada bu, metodun GET, OPTIONS, HEAD, POST, PUT, PATCH ve DELETE listesiyle, path'in 1–8192 uzunluk ve en çok 256 derinlik sınırıyla karşılaştırılması, path'in ve Query, Header, JSON, Xml, Form, Raw bölümlerinin imza taramasından geçmesi ve Any paths'in Check Fields denetimlerinin (hazır header kuralları dahil) uygulanması demektir. Learning modunda yapısal denetimler isteği engellemez ve puana eklenmez; Path length ve Path depth ayrıca Structure Checks açıkken uygulanır. Böyle bir istek için Event Logs kaydında Corresponding rule satırında Any paths yazar. Bilinmeyen path'lerin daha sıkı denetlenmesi için Any paths'in ayarları Edit ile sıkılaştırılır; bu, kendi kuralı olmayan bütün path'leri etkiler.
Nasıl Çalışır?
- İstek Host başlığına göre bir host grubuna düşer; hiçbir grubun deseni uymuyorsa varsayılan host grubuna düşer (Bir istek hangi host group'a düşer; hiçbirine uymazsa ne olur?).
- Path, grubun exact ve glob kurallarıyla karşılaştırılır; hiçbiri uymadığında grubun Any paths kuralı seçilir.
- Any paths'in path ayarları ve Check fields denetimleri uygulanır; ihlaller saldırı puanına eklenir.
- Grubun WAF Mode ayarı sonucu belirler: Blocking'de eşiğe ulaşan istek engellenir, Monitor'da engellenmeden kaydedilir, Learning'de istek engellenmez ve öğrenme verisine yazılır.
Any Paths ile Yapılan Denetimler
| Denetim | Any paths varsayılanı | Koşul |
|---|---|---|
| Allowed methods | GET, OPTIONS, HEAD, POST, PUT, PATCH, DELETE | Blocking ve Monitor modunda |
| Path length · Path depth | 1–8192 · en çok 256 | Blocking ve Monitor modunda, Structure checks açıkken |
| Path imza taraması | Açık | Her modda |
| Query, Header, JSON, Xml, Form, Raw imza taraması | Açık (her bölümün ortak kuralında OWASP Check) | Her modda |
| Check fields yapısal denetimleri | Ortak denetimler ve hazır header kuralları (Varsayılan header kuralları nelerdir?) | Blocking ve Monitor modunda; anahtarına göre Structure Checks ya da Argument Checks açıkken |
- Silinen bir sayfa tipinin path'i de aynı yolu izler: uyan glob kural varsa ona, yoksa Any paths'e düşer (silmenin çalışma anı etkisi).
- Öğrenme, Any paths'e düşen path'ler için vService'in Rule Creation Policy ayarına göre ayrı sayfa tipi önerebilir (Rule Creating Mode seçenekleri (Comprehensive, Data Based, Page Independent) arasındaki fark nedir; hangisini seçmeliyim?).
- Any paths'in kendi kuralı olmayan path'leri ne kadar kısıtladığı, son Analysis & Learning uygulamasına da bağlıdır. Analiz Ignore Old Rules açıkken (Create new rules) uygulanırsa Any paths Rule Creating Mode değerine göre kısıtlayıcı bir başlangıçla yeniden kurulur: Comprehensive'de izinli metot listesi kapatılır (None), Data based'de yalnızca GET, HEAD ve OPTIONS bırakılır; ikisinde de JSON, XML ve form gövdeleri engellenir (Block All JSON Contents ve benzerleri) ve sorgu dizesi sınırları sıfıra çekilir. Page independent'ta metotlar GET, HEAD ve OPTIONS ile başlar ve JSON, XML, form gövdeleri engellenir. Öğrenme kaydında Any paths'e düşen istekler bu başlangıç değerlerini genişletir; Combine with old rules ile uygulanan analizde Any paths bu biçimde kısıtlanmaz (Analizde "Create New Rules" ile "Combine with Old Rules" arasındaki fark nedir?).
Sık Karıştırılan Noktalar
- "Bilinmeyen path her zaman engellenir." Any paths'in denetimlerini geçen istek geçer; engelleme denetim sonucuna ve host grubunun moduna bağlıdır.
- "Bilinmeyen path hiç denetlenmez." Any paths metot, path sınırları, imza taraması ve Check fields denetimlerini uygular.
- "Any paths'i sıkılaştırmak yalnızca bilinmeyen path'leri etkiler." Kendi kuralı olmayan path'lerin yanında, exact kuralların tanımlamadığı Check fields bölümleri de Any paths'ten tamamlanır.
Dokümantasyonda nasıl yapılır
