Uygulama güncellemesinden sonra false positive'ler arttı; ne yapmalıyım?
Kısa cevap
Host grubu bütünüyle Learning moduna alınmaz; önce artışın kaynağı WAF Event Logs ekranında ayrılır. Filtre şeridinde güncelleme sonrası dönem için Learn Status = No seçilip Path, Category ve Signature sekmelerine bakılır: Structure Limits ve Structure Policies kategorileri yeni ya da değişen sayfaların öğrenilmiş sınırları (izinli metotlar, izinli parametreler, uzunluklar) aştığını, imza kategorileri yeni içeriğin imzalarla eşleştiğini gösterir. Az sayıda sayfa etkilendiyse kayıtlar Path seçimiyle toplu olarak Allow / Teach butonuyla öğretilir (butonun adı seçime göre Allow, Teach ya da Allow / Teach olur); öğretme gerektiğinde yeni sayfa için kural açar (New rule will be created). Değişiklik büyükse test ekibine Conditional Learning kimliği verilir, yeni sürüm engellenmeden gezilir ve Analysis & Learning Combine with Old Rules ile çalıştırılır; sonuçta yalnız kural oluşturulacak path'ler bırakılır, bilinmeyen ya da şüpheli path'ler Exclude from Analysis ile analizden çıkarılır ve ardından analiz uygulanır. Analizin uygulanması geri alınamadığı için önce kural seti Export ile yedeklenir. Test ekibi kural setini kendisi öğretecekse Teacher açılır. Yeni bölüm ayrı bir alan adında yayınlandıysa yalnızca o alan adı için bir Virtual Host Group açılıp Learning modunda öğretilir. Temizlik sürerken meşru kullanıcıların engellenmesi kabul edilemiyorsa host grubu geçici olarak Monitor moduna alınabilir.
Sorun: Yeni Sürümden Sonra False Positive'ler Arttı
Uygulama güncellendikten sonra yeni ya da değişen sayfalarda engellemeler başladı (Yeni sürüm yayınladıktan sonra yeni sayfalar engelleniyor; ne yapmalıyım?). Korumayı kapatmadan kural setinin yeni sürüme uyarlanması gerekiyor.
Çözüm: 4 Yöntem
| Durumunuz | Uygun yöntem |
|---|---|
| Az sayıda yeni ya da değişen sayfa | Yöntem 1: Toplu Allow / Teach |
| Uygulamanın yapısı büyük ölçüde değişti | Yöntem 2: Conditional Learning + Analysis & Learning |
| Test ekibi yeni sürümü gezecek ve kuralları kendisi öğretecek | Yöntem 3: Teacher |
| Yeni bölüm ayrı bir alan adında | Yöntem 4: Ayrı Virtual Host Group |
Yöntem 1: Toplu Allow / Teach Önerilen
- Nasıl çalışır Güncelleme sonrası kayıtlar sayfa sayfa seçilip toplu öğretilir; eşleşen kural Any Paths ise ve Rule Creation Policy alanı kapsıyorsa isteğin path'i için yeni kural açılır (Allow / Teach yaptığımda arka planda hangi kural değişir (Learning Suggestion)?).
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → Event Logs sekmesi
- Gereksinim WAF alanında değiştirme yetkisi; host grubu Monitor ya da Blocking modunda
- vService tipi HTTP
Adım adım yapılandırma
Event Logs sekmesinde sunucu filtresinin Date Range alanı güncelleme sonrası dönemi kapsayacak biçimde seçilir ve Save & Get Logs tıklanır.
Filtre şeridinin Learn Status sekmesinde No seçilir.
Path sekmesi en çok etkilenen sayfaları, Category sekmesi ihlal türünü, Signature sekmesi tetiklenen imzaları gösterir (filtrelenebilir bilgiler).
Path sekmesinde bir sayfa seçilir; birkaç kaydın Attacks sekmesinde Description ve Learning Suggestion okunur.
Sayfanın öğretilecek kayıtlarının satır başındaki kutuları işaretlenir.
Araç çubuğundaki öğretme butonu (seçime göre Allow, Teach ya da Allow / Teach) tıklanır ve Are you sure? penceresinde Yes seçilir (Birden fazla logu tek seferde Allow / Teach yapabilir miyim; filtreyle gizlenen saldırılar da öğretilir mi?). Learning Suggestion bir değer desenini kaldıracaksa (will be disabled) desen öğretmek yerine elle düzeltilir ("Edit Corresponding Rule" ile eşleşen kuralı log üzerinden nasıl düzenlerim?).
4–6. adımlar etkilenen diğer sayfalar için tekrarlanır.
Doğrulama
Öğretilen satırların Attacks kolonuna bakılır.
0 / N · satır soluk yeşilYöntem 2: Conditional Learning + Analysis & Learning
- Nasıl çalışır Conditional Learning kimliğiyle gelen istekler engellenmez ve öğrenme kaydına yazılır; Analysis & Learning bu kaydı okuyup mevcut kural setini yeni sürümün sayfalarıyla genişletir (Analizde "Create New Rules" ile "Combine with Old Rules" arasındaki fark nedir?). Host grubu Blocking modunda kalır; diğer kullanıcılar korunmaya devam eder.
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → Learning Methods kartı · host grubunun mod kartındaki Analysis & Learning
- Gereksinim WAF alanında değiştirme yetkisi; test ekibinin sabit bir IPv4 adresi ya da
TR7-ANALYZEheader'ını veya cookie'sini ekleyebilen bir istemcisi - vService tipi HTTP
Adım adım yapılandırma
WAF Management sekmesinde host grubunun mod kartındaki N page types satırına tıklanır ve Export ile kural seti dışa aktarılır (Bir host group'un kural setini JSON olarak dışa aktarıp başka bir ortama taşıyabilir miyim; hangi ayarlar bu dosyaya girmez?). Analiz uygulaması geri alınamaz.
WAF Management sekmesinde Learning Methods kartının sağ üstündeki kalem ikonu tıklanır.
Conditional Learning anahtarı açılır.
Conditional Learning IP alanına test ekibinin adresi (ör. 198.51.100.25) girilir ya da Conditional Learning Cookie / Conditional Learning Header alanına TR7-ANALYZE cookie'sinin veya header'ının değeri yazılır (Conditional Learning ile Teacher arasındaki fark nedir; hangisini ne zaman kullanmalıyım?).
Penceredeki Edit tıklanır.
Test ekibi yeni sürümün bütün sayfalarını ve akışlarını gerçek verilerle gezer.
Host grubunun mod kartındaki Analysis & Learning metnine tıklanır; New Analyze for <vService> penceresi açılır (yeni analiz oluşturma).
Virtual Host Groups alanında güncellenen grup, Analyze Date alanında gezinti dönemi seçilir. Ignore Old Rules anahtarı varsayılan Create New Rules konumundan Combine with Old Rules konumuna getirilir; Rule Creating Mode mevcut Rule Creation Policy ile aynı bırakılır (seçilen değer kalıcı politikayı da günceller).
Start Analyzing tıklanır; ilerleme mod kartındaki çubuktan izlenir.
Analiz bitince mod kartındaki ev ikonuyla geçmiş analizler listesi açılır; analiz seçilip Edit ile Analyze Page Types sekmesinde üretilen sayfalar incelenir (Analiz sonucunu uygulamadan önce inceleyip düzenleyebilir miyim (Analyze Page Types ekranı)?).
Analiz sonucunda çıkan path'ler kontrol edilir; listede yalnız WAF kuralı oluşturulacak path'ler kalmalıdır. Bilinmeyen ya da şüpheli path'lerin analizden elle çıkarılması önerilir: bu path'ler Analyze Page Types ekranının sağ bölmesinde seçilip Exclude from Analysis tıklanır; çıkarılan path'ler ağaçtan kalkar ve kural üretmez.
Analyze Page Types ekranındaki Apply tıklanır ve Are you sure? onaylanır.
Learning Methods penceresinde önce kimlik alanları boşaltılıp Edit ile kaydedilir; pencere yeniden açılıp Conditional Learning anahtarı kapatılır ve Edit tıklanır. Kapatma kimlikleri kendiliğinden silmez ve alanlarda kalan kimlik anahtar kapalıyken de eşleşmeye devam eder; anahtar kapatıldığında alanlar formdan gizlendiği ve gizli alanlardaki değişiklik kaydedilmediği için boşaltma ayrı bir kayıtla, anahtar kapatılmadan önce yapılır.
Doğrulama
Host grubunun Page Types listesine bakılır.
Eski kurallar korunmuş · yeni sürümün sayfaları eklenmişYöntem 3: Teacher
- Nasıl çalışır Test ekibinin Teacher kimliğiyle gelen istekleri engellenmez (taraması süre sınırını aşan istek de geçirilir); engelleme eşiğine ulaşan ya da durumu Monitor olan bir imzayı tetikleyen istekler dönem sonunda kural setine öğretilir (Teacher, false positive'leri azaltmak için nasıl kullanılır?).
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → Learning Methods kartı
- Gereksinim WAF alanında değiştirme yetkisi; host grubu Monitor ya da Blocking modunda
- vService tipi HTTP
Adım adım yapılandırma
WAF Management sekmesinde Learning Methods kartının sağ üstündeki kalem ikonu tıklanır.
Pencerenin sonundaki Teacher anahtarı açılır.
Teacher IP alanına test ekibinin adresi girilir ya da Teacher Cookie / Teacher Header alanına TR7-LEARN cookie'sinin veya header'ının değeri yazılır.
Teaching Frequency listesinden işlenme dönemi seçilir (ör. 5 minutes).
Penceredeki Edit tıklanır.
Test ekibi yeni sürümü gezer. vService'in Teacher Tracking sekmesinde (AI Learning da açıksa adı AI Learning & Teacher Tracking) Teacher Tracking görünümü Refresh ile sıradaki öğrenmeleri, Teacher History görünümü uygulananları gösterir.
İş bitince Teacher anahtarı kapatılır ve Edit tıklanır; anahtar kapalıyken kayıtlı Teacher kimlikleri eşleşmez. Kimliklerin kayıttan da silinmesi için alanlar, anahtar kapatılmadan önce ayrı bir kayıtla boşaltılır.
Doğrulama
Dönem geçtikten sonra Teacher History görünümüne bakılır.
Yeni sayfalara ait öğrenme satırlarıYöntem 4: Ayrı Virtual Host Group
- Nasıl çalışır Yeni alan adı kendi host grubunda Learning modunda öğrenir; diğer alan adları kendi gruplarının modunda korunmaya devam eder (Aynı vService'te farklı domainler için farklı modlar kullanabilir miyim?).
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → Virtual Host Groups bandı
- Gereksinim WAF alanında değiştirme yetkisi; yeni bölümün ayrı bir alan adında (ör.
app.example.com) yayınlanması - vService tipi HTTP
Adım adım yapılandırma
WAF Management sekmesinde Virtual Host Groups bandının sağ üstündeki ikonla yeni grup penceresi açılır (Host Group nasıl eklenir; Virtual Host Patterns alanına ne yazılır?).
Virtual Host Group Name girilir, WAF Mode = Learning Mode seçilir ve Virtual Host Patterns alanına yeni alan adı yazılır.
Add tıklanır. Yeni grup başka bir grubun kurallarını almaz; varsayılan kural setiyle başlar ve sıfırdan öğrenir.
Doğrulama
WAF Management sekmesinde yeni grubun mod kartına bakılır.
Learning Mode · mavi kartSık Yapılan Hatalar
- Host grubunu bütünüyle Learning moduna almak. Learning modunda engelleme ve yapısal denetimler durur; yalnızca yeni sayfalar için korumanın tamamı kalkar.
- Analizi Create New Rules ile çalıştırmak. Mevcut kural listesi yok sayılır ve kural seti yalnızca gezinti trafiğinden yeniden kurulur; güncellemede Combine with Old Rules seçilir.
- Export almadan analiz uygulamak. Analiz uygulaması geri alınamaz; Allow / Teach ve Teacher öğrenmeleri ise Revert Learning ile geri alınabilir.
- Conditional Learning'i açık unutmak. Kimliği taşıyan istekler engellenmeden geçmeye devam eder; imza taraması sürer ama engelleme olmaz. Yalnızca anahtarı kapatmak yetmez; kimlik alanları da anahtar kapatılmadan önce ayrı bir kayıtla boşaltılır.
- Temizlik sürerken kullanıcıları engellemeye devam etmek. Engellemeler kabul edilemiyorsa host grubu geçici olarak Monitor moduna alınır ve kayıtlar temizlenince Blocking moduna dönülür (Monitor modunu false positive ayıklamak için nasıl kullanırım?).
- Bir sonraki sürümü yine canlıda öğretmek. Yeni sürüm yayından önce bir test vService'inde öğretilip kural seti Page Types Export / Import ile taşınabilir; Import hedef grubun kural setinin tamamını değiştirir (Import yaptığımda mevcut kurallar ne olur (tam değiştirme)?).
Dokümantasyonda nasıl yapılır
