Yanlışlıkla engellenen bir isteğe nasıl izin veririm?
Kısa cevap
Engellenen isteğin kaydı WAF Event Logs ekranında açılır; önizlemenin Attacks sekmesinde her saldırının Description alanı isteğin eşleşen bölümünü vurgular. Yalnızca false positive olan saldırılar işaretlenip tablonun üstündeki Allow / Teach butonu tıklanır; buton engellenmiş kayıtta Allow, izlenen ya da Teacher tarafından geçirilen kayıtta Teach adını alır. Learning Suggestion satırı yapılacak değişikliği önceden yazar: imza isabetinde imza, eşleşen sayfa tipi kuralının ilgili alanında OWASP Exclusions listesine eklenir, o parametre için bir değişken kuralı varsa oraya yazılır; yapısal ihlalde ilgili sınır genişletilir; imza kapatılmaz. Are you sure? onayından sonra değişiklik ayrı bir dağıtım adımı olmadan uygulanır ve aynı istek bugünkü kurallarla artık engellenmez. Değişikliği elle belirlemek için aynı kuralın formu Page Types ekranından açılıp OWASP Exclusions listesine imza eklenir. İmza vService'in her sayfasında aynı meşru içerikle çakışıyorsa vService'in OWASP Rules ekranında durumu Monitor yapılır. Allow / Teach ile yapılan öğrenmeler Log zaman çizelgesindeki Revert Learning ile geri alınır.
Sorun: Meşru Bir İstek Engellendi
Event Logs'ta meşru bir isteğin WAF tarafından engellendiği görüldü (Meşru bir isteğin WAF tarafından engellendiğini nasıl anlarım?). Aynı isteğin bir daha engellenmemesi, korumanın geri kalanının ise sürmesi gerekiyor.
Çözüm: 3 Yöntem
| Durumunuz | Uygun yöntem |
|---|---|
| Kaydın tetiklediği saldırıyı en dar kapsamda öğretmek istiyorum | Yöntem 1: Allow / Teach |
| Yazılacak istisnayı ya da sınırı kendim belirlemek istiyorum | Yöntem 2: Kural formunda OWASP Exclusions |
| İmza bu vService'in her yerinde aynı meşru içerikle çakışıyor | Yöntem 3: OWASP Rules → Change State |
Yöntem 1: Allow / Teach Önerilen
- Nasıl çalışır Seçilen saldırı için isteğin Host değerine göre host grubu, path'ine göre sayfa tipi kuralı bulunur ve değişiklik o kurala yazılır (Allow / Teach yaptığımda arka planda hangi kural değişir (Learning Suggestion)?). İmza isabetinde imza o alanın istisna listesine eklenir; imza diğer alanlarda ve sayfalarda çalışmaya devam eder.
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → Event Logs sekmesi → kayıt → Attacks
- Gereksinim WAF alanında değiştirme yetkisi
- vService tipi HTTP
Adım adım yapılandırma
Left Monitor Panel → WAF-Protected vServices → vService → Event Logs sekmesi açılır.
Sunucu filtresinde Date Range seçilir, kayıt biliniyorsa Request Unique ID alanına isteğin kimliği yazılır ve Save & Get Logs tıklanır.
Engellenen isteğin satırına tıklanır; sağda önizleme açılır.
Önizlemenin Attacks sekmesinde bir saldırı satırına tıklanır. Description isteğin eşleşen bölümünü vurgular, Corresponding Rule değişikliğin yazılacağı sayfa tipi kuralını (varsa parametre adıyla), Learning Suggestion yapılacak değişikliği gösterir. Vurgulanan bölüm uygulamanın kendi verisi değilse saldırı gerçektir ve öğretilmez. Saldırı adı yeşil görünüyor ve öneri Already learned diyorsa öğretilecek bir şey kalmamıştır.
Attacks tablosunda yalnızca false positive olan saldırıların kutuları işaretlenir. Tek bir saldırı öğretilecekse onun satırı seçili bırakılıp detay bloğundaki buton da kullanılabilir.
Tablonun üstündeki buton tıklanır; adı kaydın kararına göre Allow (engellenmiş kayıt) ya da Teach (izlenen ya da Teacher tarafından geçirilen kayıt) olur.
Are you sure? penceresinde Yes tıklanır. Değişiklik ayrı bir dağıtım adımı olmadan uygulanır; değişikliğin ayrı bir önizleme ekranı yoktur. Cluster'da değişiklik varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile elle gönderilir.
Aynı öğretme işlemi başka yerlerden de başlatılabilir; hepsi aynı değişikliği yazar, yalnızca kapsadıkları saldırılar farklıdır:
| Giriş noktası | Kapsam |
|---|---|
| Event Logs araç çubuğundaki Allow / Teach | Seçili satırların görünen bütün saldırıları; filtre şeridinde saldırı bazlı bir seçim (ör. Signature) varsa yalnızca seçime uyanlar (Birden fazla logu tek seferde Allow / Teach yapabilir miyim; filtreyle gizlenen saldırılar da öğretilir mi?) |
| Satırın sağ tık menüsü | Yalnızca tıklanan satır |
| Önizleme başlığındaki buton | Önizlenen kaydın görünen bütün saldırıları |
| Global WAF Event Log | Farklı vService'lerin seçili satırları; her vService kendi kural setine yazar ve onay her vService için ayrı sorulur |
Doğrulama
Öğretilen satırın Attacks kolonuna bakılır; imleçle üzerine gelindiğinde … of … would still be blocked by today's rules ipucu görünür.
0 / N · satır soluk yeşilKullanıcıdan aynı işlemi tekrarlaması istenir.
Engelleme sayfası yerine uygulamanın yanıtıYöntem 2: Kural Formunda OWASP Exclusions
- Nasıl çalışır İstisna, sayfa tipi kuralının ilgili alanına elle yazılır; hangi alana ve hangi imzanın yazılacağı kullanıcı tarafından belirlenir. Event Logs'taki Edit Corresponding Rule aynı formu kayıttan doğrudan açar ("Edit Corresponding Rule" ile eşleşen kuralı log üzerinden nasıl düzenlerim?).
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → host grubunun mod kartındaki N page types → kural → detay paneli
- Gereksinim WAF alanında değiştirme yetkisi; Event Logs kaydındaki imzanın Attack ID değeri ve Corresponding Rule bilgisi
- vService tipi HTTP
Adım adım yapılandırma
Left Monitor Panel → WAF-Protected vServices → vService → WAF Management sekmesinde, isteğin düştüğü host grubunun mod kartı altındaki N page types satırına tıklanır.
Listede Event Logs kaydının Corresponding Rule satırında yazan kurala tıklanır; sağda kuralın detay paneli açılır. Kayıt Any Paths kuralını gösteriyorsa istisna, bu alan için kendi kuralı olmayan bütün sayfalara uygulanır; yalnızca bir sayfa için istisna isteniyorsa önce o path için kural eklenir (Yeni bir page type'ı elle nasıl eklerim?).
Detay panelinde saldırının yakalandığı alanın sekmesi seçilir: Path, Query, Header, JSON, Xml, Form ya da Raw.
Alanın bütün parametreleri için sekmenin üst tablosundaki Edit Common Rule for <alan> (kuralın bu alanda kendi denetimi yoksa Add Common Rule for <alan>) tıklanır. Yalnızca tek bir parametre için Argument tablosunda parametrenin satırı seçilip kalem ikonlu Edit tıklanır; parametrenin kuralı yoksa Add Argument Rule for <alan> ile eklenir (Belirli bir parametrede OWASP taramasını kapatabilir miyim?). Path sekmesinde panel başlığındaki Edit kullanılır.
OWASP Check işaretli bırakılır; altında görünen OWASP Exclusions çoklu seçiminde Event Logs kaydındaki imza seçilir. OWASP Check kutusunun işareti kaldırılırsa alan bütün imzaların taramasından çıkar.
Formun Edit butonu (yeni kuralda Add) tıklanır; ek bir onay ya da dağıtım adımı yoktur. Cluster'da değişiklik varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile elle gönderilir.
Doğrulama
Kuralın detay panelinde alanın OWASP Check satırına bakılır.
✓ ve yanında istisna sayısıEngellenen isteğin Event Logs satırındaki Attacks kolonuna bakılır.
İlk sayı düşerYöntem 3: OWASP Rules → Change State
- Nasıl çalışır İmzanın durumu yalnızca bu vService için değiştirilir. Monitor durumundaki imza taranır ve kaydedilir ama risk puanına eklenmez; Disabled durumundaki imza hiç taranmaz (Bir imzayı tamamen kapatmak mı, OWASP istisnası (exclusion) eklemek mi daha doğru?).
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → imza özeti şeridindeki OWASP Rules
- Gereksinim WAF alanında değiştirme yetkisi
- vService tipi HTTP
Adım adım yapılandırma
Left Monitor Panel → WAF-Protected vServices → vService → WAF Management sekmesinde imza özeti şeridindeki OWASP Rules bağlantısına tıklanır; kural görünümü yeni bir sekmede açılır (nasıl erişilir).
Arama kutusuna Event Logs kaydındaki Attack ID ya da imzanın adı yazılır.
İmzanın satırı seçilip araç çubuğundaki Change State tıklanır.
New State = Monitor seçilir; imza bu vService'te kesin olarak gereksizse Disabled seçilir. Alan her açılışta Enabled ile gelir.
Accept tıklanır; ayrı bir onay penceresi görüntülenmez ve değişiklik uygulanır. Ayrıntılar: Bir imzayı tüm cihazda değil yalnızca tek bir vService'te kapatabilir miyim?
Doğrulama
OWASP Rules ekranında imzanın State kolonuna bakılır.
Monitor · satır renkliSık Yapılan Hatalar
- Description'ı okumadan öğretmek. Vurgulanan bölüm uygulamanın kendi verisi değilse kayıt gerçek bir saldırıdır; öğretmek saldırıyı da geçirir.
- Bütün kaydı öğretmek. Aynı istekte gerçek bir saldırı da varsa araç çubuğundaki buton onu da öğretir; Attacks sekmesinden yalnızca false positive saldırılar işaretlenir.
- "will be disabled" önerisini gözden kaçırmak. Değer deseni (regex) ihlalinde öğretme deseni daraltmaz, tümüyle kaldırır; deseni korumak için kural Yöntem 2'deki formdan elle düzeltilir.
- Learning modundaki host grubunda istisnanın çalışmasını beklemek. Learning modunda imza taraması istisnaları uygulamaz; istisna grup Monitor ya da Blocking modundayken etkilidir.
- Bir alana sınırsız istisna yığmak. 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 ("Max. Owasp Exclusions" ayarı ne işe yarar; sınır aşılırsa ne olur?).
- Kaynağın hiç denetlenmemesi gerekirken öğretmeye çalışmak. Güvenilen bir kaynağın WAF dışında tutulması için Whitelist Condition kullanılır (Belirli IP'leri veya istekleri WAF incelemesinden tamamen muaf tutabilir miyim (Whitelist Condition)?).
Dokümantasyonda nasıl yapılır
