Bir istek birden fazla page type'a uyarsa kurallar nasıl uygulanır (exact path önceliği, glob kurallarının Any Paths ile birleşmesi)?
Kısa cevap
Sıra sabittir ve listedeki yerden bağımsızdır: isteğin path'iyle birebir aynı exact kural varsa o kural esas alınır; exact kural yoksa path'e uyan bütün glob kurallar birlikte alınır; hiçbiri uymuyorsa Any Paths tek başına uygulanır (çalışma anı kural eşleşmesi). Path ayarları (Allowed Methods, Path Length, Path Depth, path OWASP) devralınmaz: exact kural eşleşmişse onunkiler, glob kurallar eşleşmişse önce tanımlanmış eşleşen glob kuralınkiler uygulanır. Exact kuralın tanımlamadığı Check Fields bölümleri ve argüman kuralları önce uyan glob kurallardan, onlarda da yoksa Any paths'ten tamamlanır. Glob kurallar ve Any paths birleştirilirken her bölümün ve argümanın ayarı onu ilk tanımlayan kuraldan gelir; birden çok glob aynı bölümü ya da argümanı tanımlıyorsa önce tanımlanmış (önce eklenen) glob kazanır.
Nasıl Çalışır?
| Adım | Koşul | Uygulanan |
|---|---|---|
| 1 | Path'le birebir aynı exact kural var | Path ayarları exact kuraldan; tanımlamadığı bölüm ve argümanlar uyan glob kurallardan (tanımlanma sırasıyla), sonra Any paths'ten |
| 2 | Exact kural yok, uyan glob kural(lar) var | Uyan glob kurallar tanımlanma sırasıyla, sonuna Any paths eklenerek birleşir; path ayarları ilk glob kuraldan |
| 3 | Hiçbir kural uymuyor | Yalnızca Any paths (Hiçbir page type'a uymayan istek nasıl incelenir?) |
Eşleştirmede isteğin path'i kullanılır: sorgu dizesi dahil edilmez, sondaki / atılır, büyük/küçük harf ayrımı yapılır.
Ne Nereden Gelir?
| Ayar | Kaynağı |
|---|---|
| Allowed methods, Path length, Path depth, path OWASP | Exact kural ya da önce tanımlanmış eşleşen glob kural; Any paths'ten devralınmaz |
| Check fields bölümü (Query, Header, JSON, Xml, Form, Raw) | Bölümü ilk tanımlayan kural |
| Bölüm içindeki tek argüman kuralı | Argümanı ilk tanımlayan kural |
- Glob kurallar listede exact kuralların altında, eklenme sırasıyla durur; Merge ile üretilen glob kural ya da sonradan eklenen glob kural listenin glob bölümünün sonuna eklenir.
- Exact kuralın detay panelinde devralınan bölüm ve argümanlar italik görünür ve Rule Source satırı alanın hangi kuraldan geldiğini gösterir; glob kuralın panelinde devralınan ayarlar listelenmez (Kurallarda devralma ve "Rule Source" nasıl çalışır?).
- Event Logs kaydında Request & Location sekmesindeki Matching Path Rules satırı isteğin eşleştiği kuralları, Attacks sekmesindeki Corresponding Rule satırı saldırının eşleştiği kuralı gösterir (seçilen logun önizlemesi).
Glob kuralda kritik bölümleri kuralın kendisinde tanımlamak
Bir glob kuralın kapsadığı path'lerde belirli bir bölümün (ör. Query ya da Header) ortak kuralı ve OWASP Check ayarı kesin olarak bilinmek isteniyorsa o bölüm glob kuralın kendisinde tanımlanır (detay panelinde ilgili sekme → Add Common Rule for …). Böylece denetim, birleşimdeki sıradan bağımsız olarak kuralın kendi ayarıyla yapılır.
Sık Karıştırılan Noktalar
- "En özel glob kazanır." Özgüllük değil tanımlanma sırası belirler; aynı bölümü tanımlayan glob'lardan önce tanımlanmış olan kazanır.
- "Exact kural Any paths'in metot listesini devralır." Path ayarları devralınmaz; exact kural Any Methods ile bırakıldıysa o path'te metot kısıtı yoktur.
- "Listede üstte duran kural her zaman önce uygulanır." Exact, glob ve Any paths arasındaki öncelik listeden bağımsızdır; tanımlanma sırası yalnızca glob kurallar arasında önemlidir.
Dokümantasyonda nasıl yapılır
