False positive düzeltmesinin güvenlik açığı yaratıp yaratmadığını nasıl değerlendiririm?
Kısa cevap
Değerlendirme düzeltmeden önce, düzeltme sırasında ve sonrasında yapılır. Önce WAF Event Logs kaydının Attacks sekmesinde Description'da vurgulanan bölümün gerçekten uygulamanın kendi verisi olup olmadığına bakılır; ardından Corresponding Rule ve Learning Suggestion satırlarından değişikliğin kapsamı (tek parametre, sayfanın bir alanı ya da Any Paths üzerinden bütün site) ve türü okunur. will be disabled önerisi bir değer desenini ya da engel anahtarını tümüyle kapatır; New rule will be created notu isteğin path'i için yeni bir kural açılacağını gösterir. Düzeltme sırasında kapsam daraltılır: Attacks sekmesinden yalnızca false positive saldırı öğretilir, imza kapatılmadan önce Monitor durumuna alınır. Sonrasında sayfa tipi kuralının detay panelinde alanın istisna sayısı, OWASP Rules ekranında vService'e özel değişiklikler ve AI Learning & Teacher Tracking geçmişinde Description kolonunda kırmızı yazılan (zorunlu listeden değer çıkaran ya da denetim kapatan) değişiklikler incelenir; aynı saldırı istisna dışındaki bir parametreye gönderilip hâlâ engellendiği doğrulanır. Hatalı bir öğrenme Revert Learning ile geri alınır. Gözden kaçan risk: bir alanın istisna sayısı Max. OWASP Exclusions değerini (varsayılan 25) aşarsa o alanın imza taraması uyarı vermeden kapanır.
Nasıl Çalışır?
Bir false positive düzeltmesi kuralı değiştirir; etkisi yalnızca o isteğe değil, aynı kurala ve alana gelen bütün isteklere uygulanır. Riski belirleyen üç şey vardır:
| Etken | Daha dar (daha az risk) | Daha geniş (daha çok risk) |
|---|---|---|
| Kapsam | Parametrenin değişken kuralı | Alanın ortak kuralı → Any Paths (bu alan için kendi kuralı olmayan bütün sayfalar) |
| Değişiklik türü | will be marked as OWASP exclusion (tek imza) | will be added / will be updated (liste ya da metot genişler) → is <eski> now and will be <yeni> (sınır büyür) → will be disabled (denetim tümüyle kapanır) |
| Yöntem | İstisna | İmzanın vService'te Monitor durumu → vService'te Disabled → global katmanda Disabled |
Header alanındaki öğretmeler her zaman Any Paths kuralına yazılır; yani host grubunun bütününe uygulanır (Allow / Teach yaptığımda arka planda hangi kural değişir (Learning Suggestion)?).
Öğretme işleminin açtığı yeni exact kural, Any Paths'ten kopyaladığı path ayarlarını (izinli metotlar, path derinliği, path'in OWASP ayarları) ve kopyalanan alan denetimini kendi üzerinde tutar; Any Paths'te sonradan yapılan sıkılaştırmalar bu ayarlara yansımaz. Kuralın gerekçesi ortadan kalktıysa Revert Learning kuralı da siler (kural o günden beri değiştirilmemişse).
TR7'de Kontrol Listesi
| An | Ne kontrol edilir | Nerede |
|---|---|---|
| Önce | Vurgulanan bölüm uygulamanın kendi verisi mi; Detailed log disabled yazıyorsa eşleşen içerik kayda yazılmamıştır, kanıt yoktur | Event Logs → kayıt → Attacks sekmesi; alanın Detailed Log ayarı |
| Önce | Değişikliğin kapsamı ve türü; New rule will be created ya da Existing rule will be extended notu | Corresponding Rule, Learning Suggestion |
| Sırasında | Yalnızca false positive saldırı seçildi mi; toplu öğretmede saldırı bazlı filtre (Signature) kullanıldı mı | Attacks sekmesi, filtre şeridi (Birden fazla logu tek seferde Allow / Teach yapabilir miyim; filtreyle gizlenen saldırılar da öğretilir mi?) |
| Sırasında | İmza kapatılmadan önce Monitor durumu denendi mi; global katman yerine vService katmanı yeterli mi | Bir imzayı tamamen kapatmak mı, OWASP istisnası (exclusion) eklemek mi daha doğru? |
| Sonra | Alanın istisna sayısı Max. OWASP Exclusions sınırına yaklaştı mı | Page Types → kural → detay paneli → alanın OWASP Check satırı (✓ ve istisna sayısı) ("Max. Owasp Exclusions" ayarı ne işe yarar; sınır aşılırsa ne olur?) |
| Sonra | vService'e özel imza değişiklikleri | OWASP Rules → Filter penceresindeki Customizations grubu; önizlemede Original Rule / Edited Rule (Yerleşik bir imzanın puanını, durumunu veya tarama alanlarını değiştirirsem orijinalini nasıl görürüm (Original Rule / Edited Rule)?) |
| Sonra | Otomatik öğrenmelerin dayandığı kanıt tek bir istemciden mi; Description kolonunda kırmızı yazılan (zorunlu listeden değer çıkaran ya da denetim kapatan) değişiklik var mı | AI Learning & Teacher Tracking → AI Learning History / Teacher History (AI Learning ve Teacher'ın geçmişte ne uyguladığını nasıl görürüm?) |
| Sonra | Aynı saldırı istisna dışındaki bir parametrede ya da sayfada hâlâ engelleniyor mu | Test isteği → Event Logs'ta Attack blocked (Action değerleri) |
| Gerekirse | Hatalı öğrenmenin geri alınması | Dashboard ya da WAF Management sekmesinin sağındaki WAF - WAAP Data Flow Panel → Log sekmesi → öğrenme kaydı → Revert Learning (WAF alanında tam yetki gerekir) (Öğrenilen bir kuralı geri alabilir miyim?) |
AI Learning açıksa, yaygın görünen saldırı trafiğinin öğretilmesi riskine karşı eşikler ve süzgeçler gözden geçirilir (Saldırgan, trafiğini yaygın göstererek AI Learning'i kandırabilir mi; bu risk nasıl azaltılır?).
Sık Karıştırılan Noktalar
- "Öğretme yalnızca o isteği serbest bırakır." Kuralı değiştirir; aynı kurala ve alana gelen bütün istekler etkilenir.
- "İstisnalar birikse de imza taraması sürer." Bir alanın istisna sayısı sınırı aşınca o alanın imza taraması kapanır; istisnalar kuralda görünmeye devam eder.
- "Revert Learning bütün düzeltmeleri geri alır." Yalnızca öğrenme kaydı bırakan işlemler (Allow / Teach, Teacher, AI Learning) geri alınır; elle yapılan kural düzenlemeleri ve Analysis & Learning uygulamaları geri alınmaz.
- "Header false positive'i yalnızca o sayfa için düzeltilir." Header öğretmeleri Any Paths kuralına, yani host grubunun bütününe yazılır.
Dokümantasyonda nasıl yapılır
