WAF kuralları nereden gelir (öğrenme analizi, log üzerinden öğretme, elle tanımlama)?
Kısa cevap
Sayfa tipleri dört yoldan gelir (kurallar nereden gelir). Öğrenme analizi: Analysis & Learning host grubunun öğrenme verisinden sayfa tipi ve kural önerileri üretir, öneriler uygulanınca Page Types listesine yazılır; Conditional Learning kural yazmaz, topladığı kayıtlar bu analizin girdisi olur. Otomatik öğrenme: AI Learning ve Teacher, seçilen dönemde biriken kayıtlardan öğrendiklerini kendiliğinden aynı listeye yazar. Log üzerinden öğretme: Event Logs'taki Allow / Teach öğrenilen değeri isteğin eşleştiği kurala işler; ayrı bir sayfa tipi açılıp açılmayacağını vService'in Rule Creation Policy ayarı belirler, header öğrenmeleri Any Paths'e yazılır (tek istisna Combine With Old Rules ile uygulanan Analysis & Learning'dir). Elle tanımlamada kurallar Page types ekranındaki Add ya da WEB-CLI'daki waf fw-rules add ile tek tek, Import ve Import (OpenAPI) ile dosyadan toplu olarak eklenir. Kaynağı ne olursa olsun her kural aynı ekranlarla düzenlenir ve silinir.
Nasıl Çalışır?
| Kaynak | Nereden | Nereye yazar | Ayrıntı |
|---|---|---|---|
| Öğrenme analizi | Mod kartı altındaki Analysis & Learning → analiz → öneriler → uygulama; girdi, host grubu Learning modundayken ya da Conditional Learning kimliğiyle gelen isteklerin öğrenme kayıtlarıdır | Host grubunun Page types listesi | Analysis & Learning ile geçmiş trafikten nasıl kural üretirim? |
| Otomatik öğrenme | AI Learning, Teacher (Learning Methods) | Aynı liste | Teacher nedir; hangi kaynakları Teacher olarak tanımlayabilirim (IP, header, cookie)? |
| Log üzerinden öğretme | Event Logs → Allow / Teach (Allow / Teach) · Edit Corresponding Rule | İsteğin eşleştiği kural; politikaya göre yeni sayfa tipi | Allow / Teach yaptığımda arka planda hangi kural değişir (Learning Suggestion)? |
| Elle | Add; WEB-CLI waf fw-rules add (waf fw-rules) | Formun ya da komutun hedeflediği host grubu | Yeni bir page type'ı elle nasıl eklerim? |
| Toplu | Import (JSON, tam değiştirme), Import (OpenAPI) (birleştirme) | Seçili host grubu | OpenAPI / Swagger dosyamdan otomatik kural üretebilir miyim? |
- Analiz sonucu uygulanmadan önce sonuçtaki path'ler kontrol edilir; listede yalnız WAF kuralı oluşturulacak path'ler kalmalıdır. Bilinmeyen ya da şüpheli path'lerin, analizin Edit ile açılan Analyze Page Types ekranında seçilip Exclude from Analysis ile analizden elle çıkarılması önerilir (Analiz sonucunu uygulamadan önce inceleyip düzenleyebilir miyim (Analyze Page Types ekranı)?).
- Analiz sonucu uygulanırken yalnızca kurallar yazılır; host grubunun adı, modu ve host desenleri saklı değerleriyle kalır.
- Rule Creation Policy üç seçenek sunar: Page independent (Pages are not learned), Data based (Pages with dynamic data are learned) ve Comprehensive (Each page is learned). Öğrenilen istek Any paths'e düşen bir path'e aitse: Page independent'ta değer Any paths'e yazılır; Data based'de query, JSON, XML, raw ve form öğrenmeleri, Comprehensive'de bunlara ek olarak path bölümünün öğrenmeleri o path için yeni bir exact sayfa tipi açar. Allowed methods öğrenmesi Page independent dışındaki iki politikada Any paths'i genişletmez, o path için exact sayfa tipi açar (Rule Creation Policy'yi değiştirmek mevcut kuralları değiştirir mi?).
- Yeni bir sayfa tipinin eklenmesi, düzenlenmesi ya da silinmesi ayrı bir dağıtım adımı gerektirmez; cluster kurulumunda varsayılan auto-sync ile eş cihaza da gönderilir, Manual Sync Mode açıksa Synchronize ile elle gönderilir.
Sık Karıştırılan Noktalar
- "Öğrenilen kurallar elle yazılanlardan farklı davranır." Kaynak fark etmez; hepsi aynı kural yapısındadır ve aynı ekranlarla düzenlenir.
- "Allow / Teach yeni bir imza yazar." İmzaya dokunulmaz; eşleşen sayfa kuralına istisna ya da izin işlenir.
- "Silinen öğrenilmiş kural bir daha gelmez." Aynı path'e trafik gelmeye devam ederse öğrenme o path için kuralı yeniden önerebilir (Delete · Operasyonel en iyi uygulamalar).
Dokümantasyonda nasıl yapılır
