Blocking modundayken belirli trafiği yine de öğrenmeye devam ettirebilir miyim (Conditional Learning)?
Kısa cevap
Evet. Learning Methods kartında Conditional Learning açılıp analistin IPv4 adresi ya da TR7-ANALYZE adlı çerezin veya başlığın değeri tanımlandığında, bu kimliği taşıyan istekler Virtual Host Group Blocking Mode'da olsa bile Learning Mode'daki gibi işlenir: imza taraması sürer ama yapısal denetim ve puanlama yapılmaz, istek engellenmez, Event Logs'a yazılmaz ve öğrenme günlüğüne eklenir. Diğer istekler için Blocking davranışı değişmez. Conditional learning kendi başına kural üretmez; toplanan kayıtlar Analysis & Learning ile analiz edilip sonucu uygulandığında kurala dönüşür ve mevcut kuralların korunması için analizde Combine with Old Rules seçilir. İş bitince önce kimlik alanları boşaltılıp kaydedilir, anahtar ardından ayrı bir kayıtla kapatılır; anahtarın kapatılması kayıtlı kimliği devre dışı bırakmaz.
Sorun: Blocking Modundaki Sitede Yeni Sayfalar Öğrenilemiyor
Blocking Mode'daki grupta yeni eklenen sayfalar henüz Page Type olarak öğrenilmediği için meşru istekleri engellenebilir; bu modda istekler öğrenme günlüğüne de yazılmaz. Bütün grubu Learning Mode'a döndürmek ise o gruptaki bütün trafiği korumasız bırakır. Conditional Learning, yalnızca tanımlı kimliği taşıyan istekleri öğrenme kapsamına alır.
Çözüm: İki Yöntem
İki yöntem kimliği tanımlamanın iki yoludur; kurala dönüştürme her iki durumda da arayüzdeki Analysis & Learning ile yapılır.
| Durumunuz | Uygun yöntem |
|---|---|
| Arayüzden | Yöntem 1: Learning methods kartı |
| Kimliği komut satırından tanımlamak istiyorum | Yöntem 2: WEB-CLI |
| Kimliği bilinen bir test kaynağının false positive'leri kendiliğinden öğretilsin | Ayrı bir yöntem olan Teacher kullanılır: Conditional Learning ile Teacher arasındaki fark nedir; hangisini ne zaman kullanmalıyım? |
Yöntem 1: Learning Methods Kartı Önerilen
- Nasıl çalışır Tanımlı kimliği taşıyan istekler engellenmeden öğrenme günlüğüne yazılır; Analysis & Learning bu kayıtlardan Page type üretir.
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → Learning & Reporting → Learning Methods kartı
- Gereksinim WAF'ın vService'te açık olması (Bir vService'te WAF korumasını nasıl etkinleştiririm?) · WAF alanında değiştirme yetkisi · analistin IPv4 adresi ya da
TR7-ANALYZEçerezini veya başlığını gönderebilen bir istemci - vService tipi HTTP
Adım adım yapılandırma
Left Monitor Panel'de WAF-Protected vServices kategorisi seçilir, vService'e tıklanır ve WAF Management sekmesi açılır (ekrana erişim).
Learning & Reporting bölümündeki Learning Methods kartının kalem ikonu tıklanır; Learning methods başlıklı pencere açılır.
Conditional Learning anahtarı açılır (varsayılan kapalı); üç kimlik alanı görünür.
En az bir kimlik alanı doldurulur:
| Alan | Değer |
|---|---|
| Conditional Learning IP | Analistin IPv4 adresleri ya da IPv4 blokları, boşlukla ayrılarak (ör. 198.51.100.25); IPv6 adresleri yok sayılır |
| Conditional Learning Cookie | Analistin göndereceği TR7-ANALYZE adlı çerezin değeri |
| Conditional Learning Header | Analistin göndereceği TR7-ANALYZE adlı HTTP başlığının değeri |
Çerez ve başlığın adı sabittir; alana yalnızca değer yazılır. Alanlar biçim açısından denetlenmez: geçersiz bir adres kaydedilir ama hiçbir istekle eşleşmez.
Penceredeki Edit butonu tıklanır; kimlik ayrı bir dağıtım adımı olmadan geçerli olur. Cluster kurulumunda varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa eş cihaza elle gönderilir.
Analist yeni sayfaları tanımlı adresten ya da TR7-ANALYZE çerezini veya başlığını göndererek gezer. Bu istekler engellenmez.
Grubun mod kartındaki N page types satırının kalem ikonu tıklanır; grubun Page Types görünümü açılır.
Analiz sonucunun uygulanması geri alınamadığından araç çubuğundaki Export tıklanır; grubun bütün kuralları JSON dosyası olarak indirilir.
Grubun mod kartındaki Analysis & Learning metni tıklanır; New analyze for … başlıklı yeni analiz penceresi açılır (yeni analiz oluşturma).
Analyze Date aralığı analistin gezdiği zamanı kapsayacak biçimde seçilir (varsayılan son 3 ay).
Varsayılan olarak açık gelen Advanced bölümünde Ignore Old Rules anahtarı Combine with old rules konumuna getirilir. Varsayılan Create new rules konumunda grubun mevcut kural listesi atılır ve kural seti yalnızca analizin ürettiği kurallardan oluşur. Aynı bölümdeki Rule Creating Mode vService'in mevcut politikasıyla aynı bırakılır; uygulama, Learning methods'taki Rule Creation Policy ayarını bu değerle günceller.
Start Analyzing tıklanır; analiz arka planda çalışır ve ilerlemesi mod kartında görünür.
Analiz bitince Analysis & Learning satırında New rozeti görünür; rozete tıklanır ve analizin özeti açılır (analizin tamamlanması).
Özetteki Edit tıklanır; Analyze Page Types sekmesi açılır. Solda öğrenilen dizinlerin ağacı, sağda seçili dizindeki path'ler listelenir.
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 analizden elle çıkarılması önerilir: satırlar seçilip Exclude from Analysis tıklanır; bu path'ler Excluded paths listesine eklenir ve kural üretmez. Düzenlemeler ayrı bir kaydetme adımı olmadan analiz kaydına yazılır; canlı kurallar yalnızca Apply ile değişir.
Analyze Page Types sekmesindeki Apply tıklanır ve Are you sure? onayı verilir. Ayrıntılar: Analiz sonucunu uyguladığımda ne olur?
İş bitince Learning Methods kartının kalem ikonu yeniden tıklanır.
Conditional Learning anahtarı açık bırakılır ve üç kimlik alanı boşaltılır. Anahtar kapalıyken alanlar formdan gizlenir ve kayda gönderilmez; alanlar boşaltılıp anahtar aynı kayıtta kapatılırsa kayıtlı değerler silinmez ve bu kimliği taşıyan istekler engellenmeden işlenmeye devam eder. Bu nedenle boşaltma ve kapatma iki ayrı kayıtla yapılır.
Penceredeki Edit butonu tıklanır.
Learning Methods kartının kalem ikonu yeniden tıklanır.
Conditional Learning anahtarı kapatılır.
Penceredeki Edit butonu tıklanır.
Doğrulama
WAF Management'taki Learning methods kartının cümlesine bakılır.
Conditional learning is on — the analyst is recognised by IPAnalist gezdikten sonra Dashboard'daki WAF Inspection Distribution panelinde Learning serisine bakılır; Event Logs'ta analistin isteği görünmez.
Blocking modundaki vService'te Learning serisi artarYöntem 2: WEB-CLI
- Nasıl çalışır Conditional learning anahtarı ve kimlik alanı WEB-CLI komutuyla yazılır; analiz ve uygulama Yöntem 1'deki gibi arayüzden yapılır.
- Nerede açılır WEB-CLI →
waf options update - Gereksinim WEB-CLI erişimi · WAF alanında değiştirme yetkisi
- vService tipi HTTP
Adım adım yapılandırma
--analyze_ip, --analyze_cookie ve --analyze_header alanları yalnızca --analyze true ile birlikte açılır (analiz alanları). Çerez ve başlık alanlarına TR7-ANALYZE çerezinin ya da başlığının değeri yazılır. --syncWithDefaultFwRules saklanan bir ayar değil, bir yazma tetiğidir: yalnızca true yazıldığında grupların Any paths kuralı varsayılan tanımıyla yeniden kurulur; komutta yazılmazsa kural setine dokunulmaz. Komuttaki false bunu açıkça belirtir:
waf options update poolId <vService> --analyze true --analyze_ip 198.51.100.25 --syncWithDefaultFwRules falsewaf options show poolId <vService>Çıktıda analyze değeri true, analyze_ip değeri tanımlı adrestir. Analiz, uygulama ve kapatma Yöntem 1'deki 6–22. adımlarla arayüzden yapılır.
Doğrulama
WAF Management'taki Learning methods kartının cümlesine bakılır.
Conditional learning is on — the analyst is recognised by IPSık Yapılan Hatalar
Kimlik değeri gizli tutulur
TR7-ANALYZE çerezinin ya da başlığının değerini bilen her istemcinin istekleri engellenmeden işlenir. Değer tahmin edilemeyecek biçimde seçilir ve paylaşılmaz; iş bitince kimlik alanları boşaltılır.
- Anahtarı kapatıp kimlik alanlarını dolu bırakmak. Conditional Learning anahtarı kapalıyken de kayıtlı kimliği taşıyan istekler engellenmeden işlenir. Alanlar anahtar açıkken boşaltılıp kaydedilir, anahtar ardından ayrı bir kayıtla kapatılır; ikisi aynı kayıtta yapılırsa kayıtlı değerler silinmez.
- Analizi varsayılan Create new rules ile uygulamak. Ignore Old Rules varsayılanı Create New Rules'tur ve grubun mevcut kurallarını atar; yeni sayfalar eklenirken Combine with Old Rules seçilir.
- Uygulamadan önce kuralları dışa aktarmamak. Analiz sonucunun uygulanması Revert Learning ile geri alınamaz; geri dönüş için önceden Export alınır.
- Kimlik olarak IPv6 adresi yazmak. Conditional Learning IP yalnızca IPv4 adres ve bloklarını tanır.
- Çerez ya da başlık adını alana yazmak. Ad her zaman
TR7-ANALYZE'dır; alana değer yazılır. - Conditional learning'in kural ürettiğini sanmak. Kurallar Analysis & Learning sonucu uygulanınca oluşur.
- Teacher ile karıştırmak. Teacher kimliğiyle gelen istekler denetlenir ve engellenmez, puanı eşiğe ulaşırsa ya da Monitor durumundaki bir imzaya takılırsa Event Logs'a Not blocked — Teacher IP matched (kimliğe göre Teacher cookie ya da Teacher header) olarak yazılır ve false positive temizliğini besler; öğrenme günlüğüne yazılmaz, ancak Learning modundaki gruba düşen Teacher isteği öğrenme günlüğüne gider. Conditional learning istekleri ise öğrenme günlüğüne yazılır.
Dokümantasyonda nasıl yapılır
