Header'dan öğrenilen kurallar neden sayfa bazında değil, Any Paths kuralına yazılıyor?
Kısa cevap
Çünkü header'lar tek bir sayfayı değil siteyi tanımlar: tarayıcılar ve istemci kütüphaneleri aynı header kümesini her adrese gönderir; bu yüzden izinli header adları ve header denetimleri site geneli tek listede tutulur (Learning Methods). AI Learning, Teacher, Learn Selected ve Allow / Teach, header öğrenmesini Rule Creation Policy ne olursa olsun (Comprehensive dahil) her zaman paylaşılan Any Paths kuralına yazar; path'e uyan bir sayfa tipi olsa da header öğrenmesi oraya yazılmaz. Böylece path başına çoğalan header listeleri yerine tek liste bakımı yapılır ve izleme ekranlarındaki Path kolonunda Default görünür. Sonuç olarak Any paths'e yazılan bir header öğrenmesi bütün path'leri etkiler; Revert Learning onay penceresi bunu ayrıca bildirir. İstenirse header denetimi path bazında elle açılabilir: o path'in sayfa tipinin Header sekmesinde Add Common Rule for Header ile sayfaya özel ortak header denetimi, Add Argument Rule for Header ile belirli bir header'a özel kural tanımlanır (Path'e özel header denetimi); bu denetim kendi path'inde Any paths'in Header denetiminin yerine geçer ve AI learning, Teacher, Learn selected ya da Allow / Teach ona yazmaz. Analysis & Learning de izinli header listesini Any paths kuralında toplar; yalnızca Combine with Old Rules ile çalıştırılan bir analizde, kendi Header denetim alanı tanımlı bir sayfa tipine uyan isteklerin header'ları o sayfa tipinin Header alanına işlenir.
Sonuçları
| Açıklama | |
|---|---|
| Nereye yazılır | Any Paths kuralının Header denetim alanı |
| Politika etkisi | Yok; Page independent, Data based ve Comprehensive'de aynı |
| Etki alanı | Host grubundaki bütün path'ler |
| İzleme ekranlarında | Path kolonu Default (AI Learning Tracking ekranı) |
| Geri alma | Onay penceresi "This learning was written to the "Any paths" rule, which is shared: reverting it affects every path." notunu gösterir (öğrenmeyi geri alma) |
| Sayfaya özel header kuralı | Elle, sayfa tipinin Header sekmesinde (Path'e özel header denetimi; Belirli bir header'ın varlığını zorunlu kılabilir miyim?) |
- Varsayılan header kuralları: Varsayılan header kuralları nelerdir? · Kalıtım: Kurallarda devralma ve "Rule Source" nasıl çalışır?
- Politikanın diğer alanlardaki etkisi: Rule Creation Policy'yi değiştirmek mevcut kuralları değiştirir mi?
Path'e Özel Header Denetimi (Elle)
Header öğrenmesi Any paths'e yazılsa da tek bir path için header denetimi elle açılabilir. Sayfa tipinin kendi Header denetimi, o path'te Any paths'in Header denetiminin yerine geçer. AI learning, Teacher, Learn selected ve Allow / Teach bu denetime yazmaz, bakımı elle yapılır; yalnızca Combine with Old Rules ile uygulanan bir Analysis & Learning sonucu onu genişletebilir (Header · Header nedir).
Left Monitor Panel → WAF-Protected vServices → vService → WAF Management sekmesinde host grubunun mod kartındaki sayfa tipi sayısı satırına tıklanır; grubun Page Types listesi açılır.
Path'e uyan bir sayfa tipi yoksa araç çubuğundaki Add ile Exact ya da Glob path'li sayfa tipi oluşturulup kaydedilir (Yeni bir page type'ı elle nasıl eklerim?).
Listede sayfa tipine tıklanır; sağda açılan detay panelinde Header sekmesi seçilir. Tablonun sonundaki Rule source satırı denetimin şu an hangi kuraldan (ör. Any paths) devralındığını gösterir.
Tablonun üzerindeki Add Common Rule for Header tıklanır; form Any paths'in Header değerleriyle dolu açılır (Add Common Rule for Header ekranı). Header Key Length, Header Key Count, Total Header Size, Allowed Headers, Required Headers, Header Value Length, Header Value Pattern, Header Value Count, OWASP Check ve Detailed Log alanları o path'e göre ayarlanır.
Formdaki Add tıklanır; bu sayfa tipi için devralma sona erer ve Rule Source satırı kalkar. Sayfa tipinin kendi Header denetimi olduğunda buton Edit Common Rule for Header ve Delete Common Rule for Header olarak görünür.
Yalnızca belirli bir header sınırlanacaksa değişken tablosundaki Add Argument Rule for Header ile Argument Name alanına o header'ın adı yazılır; Header Value Length, Header Value Pattern, Header Value Count, OWASP Check ve Detailed Log ayarlanıp Add ile kaydedilir (Değişken kuralları). Allowed Headers ve Required Headers yalnızca ortak kuralda bulunur.
- Ön koşul anahtarları: Header Key Length, Header Key Count, Total Header Size, Header Value Length, Header Value Count ve Header Value Pattern vService genelindeki Structure Checks açıkken; Allowed headers ve Required headers Argument Checks açıkken uygulanır. Anahtar kapalıysa ilgili alanlar uygulanmaz ve panelde görünmez. WAF açıldığında iki anahtar da açıktır; OWASP check bu anahtarlardan bağımsızdır (Structure Checks ve Argument Checks ana anahtarları ne yapar; kapatırsam ne olur?).
- Allowed headers sınırı: Elle girilen Allowed Headers listesi Max. Allowed Arguments değerini (WAF açıldığında 25) aşarsa liste o sayfa tipi için uygulanmaz; kayıtta kalır (Max. Allowed Arguments ne işe yarar; bir sayfanın öğrenilmiş argüman listesi bu sayıyı aşarsa ne olur?).
- Kaldırma: Delete Common Rule for Header onay sormadan ortak denetimi kaldırır; path yeniden Any paths'ten devralır. Any paths kuralının ortak Header denetimi silinemez.
- Değişiklik: Kayıt ayrı bir dağıtım adımı olmadan uygulanır; cluster'da varsayılan auto-sync ile eş cihaza gider. İşlem WAF alanında değiştirme yetkisi ister.
Sık Karıştırılan Noktalar
- "Comprehensive seçilince header'lar da sayfa bazında öğrenilir." Header öğrenmesi her politikada Any Paths'e yazılır.
- "Header öğrenmesini geri almak yalnızca bir sayfayı etkiler." Paylaşılan kural olduğu için bütün path'leri etkiler.
- "Sayfa tipindeki elle yazılmış header kuralı öğrenmeyle güncellenir." AI Learning, Teacher, Learn Selected ve Allow / Teach yalnızca Any paths'e yazar; sayfa tipindeki kural elle bakımda kalır. İstisna, Combine with Old Rules ile uygulanan bir Analysis & Learning sonucudur: sayfa tipinin kendi Header alanı varsa analiz bu alanı genişletebilir.
Dokümantasyonda nasıl yapılır
