Debug Mode Logs veya SIEM kayıtlarında 369999 numaralı kural görüyorum; bu nedir?
Kısa cevap
369999 bir saldırı imzası değil, isteğin WAF taraması 2 saniyelik süre sınırı içinde tamamlanamadığı için Blocking Mode'da engellendiğini gösteren işarettir; imza kütüphanesinde bulunmadığı için Signature & Rule Library'de aranamaz. Denetlenmemiş istek Kurum Servisine ulaşmasın diye engellenir ve istemci sıradan bir WAF engeliyle aynı yanıtı (Blocking Status Code, varsayılan 418) alır. Bu kayıt yalnızca Blocking mode'daki host grubunda ve Request Body Limits penceresindeki Fail-open kapalıyken (varsayılan) oluşur; Learning ve Monitor modlarında, Teacher ve Conditional Learning kimliğiyle gelen isteklerde ve Fail-open açıkken istek geçirilir ve kayıt oluşmaz. Engellenen istek Event Logs'ta, Global WAF Event Log'da, Dashboard'un WAF panellerinde ve WAF Report'ta görünmez; yalnızca Debug Mode Logs kaydının WAF kutusunda (Verdict Attack blocked — scan timed out, Triggered rules 369999) ve log sunucusuna giden WAF bilgisinde (wafInfo) yer alır. wafInfo içindeki 100 puan ve 2000 ms WAF süresi ölçüm değil, sabit değerlerdir. Süre sınırı bir ayar değildir; kayıt sık görülüyorsa taraması uzun süren istekler bulunup taranan gövde küçültülür (Max. Body Size to Process(kB)), gerekirse Fail-open açılır: 418 alan bir istek Event Logs'ta neden görünmüyor?
Nasıl Oluşur?
- İstek WAF denetimine girer. Whitelist Condition'a uyan ve statik içerik sayılan istekler denetime girmediği için bu kaydı hiç üretmez.
- Tarama 2 saniye içinde sonuçlanmazsa kesilir. Olağan taramalar milisaniyeler sürer; süre aşımı genellikle taranması olağan dışı uzun süren bir isteğe (çok büyük ya da derin bir gövde, çok sayıda parametre) işaret eder. Gövdenin ağdan gelmesini beklemek bu süreye girmez (Tarama belirli bir süreyi aşarsa istek ne olur (2 saniyelik tarama sınırı)?).
- İstek Blocking Mode'daki bir host grubuna aitse ve Fail-open kapalıysa engellenir; 369999 numaralı kural bu karara eklenir. Learning Mode ve Monitor Mode'daki gruplarda, Teacher tarafından tanınan ve Conditional Learning kimliğiyle gelen isteklerde ve Fail-open açıkken istek geçirilir; 369999 kaydı oluşmaz ve istek hiçbir yerde WAF izi bırakmaz.
- Engellenen istemciye vService'in engelleme yanıtı döner: Blocking Page içeriği ve Blocking Status Code (varsayılan 418); koşulu tutan bir Conditional Blocking Pages kaydı varsa onun sayfası ve kodu. Yanıt sıradan bir WAF engeliyle aynıdır; istemci zaman aşımı olduğunu görmez.
- Tarama kaydı yazacak aşamaya ulaşmadığı için Event Logs kaydı oluşmaz.
Nerede Görünür?
| Yüzey | 369999 |
|---|---|
| Debug Mode Logs (Debug mode olay anında açıksa) | Security Action = WAF · Attack blocked — scan timed out · 1 attacks; Summary sekmesindeki WAF kutusunda Verdict = Attack blocked — scan timed out, Attacks = 1, Triggered rules = 369999. Kural bir ada çözülemediği için yalnızca numara yazar. Security action filtresinde WAF · Timeout olarak seçilir |
| Log sunucusu: CEF ve TR7 JSON biçimleri | wafInfo alanında aşağıdaki kayıt; isWafAttack alanı engellemeyi gösterir |
| Log sunucusu: TR7 WAF Log biçimi | Satırın kendisi aşağıdaki kayıttır |
| HTTP Logs | Kural görünmez; istek Blocking Status Code (varsayılan 418) ile kaydedilir |
| Event Logs · Global WAF Event Log | Görünmez |
| WAF Inspection Distribution · WAF Blocked Requests · WAF Report | Sayılmaz |
| Signature & Rule Library · OWASP Rules | Yok; 369999 aranamaz ve durumu değiştirilemez |
Kayıt İçeriği
Zaman aşımıyla engellenen istekte log sunucusuna giden wafInfo her seferinde aynı sabit değerleri taşır:
| Alan | Değer | Anlamı |
|---|---|---|
totalScore | 100 | Sabit; isteğin gerçek puanı değildir |
attacks[0].id | 369999 | Taramanın süre sınırı içinde tamamlanamadığını gösteren işaret |
attacks[0].score | 100 | Sabit |
attacks[0].scope | raw | Sabit |
attacks[0].severity | high | Sabit |
wafTime | 2000 | Süre sınırı (ms); ölçülen tarama süresi değildir |
Sıradan bir WAF kaydında bulunan istek kimliği (uid) ve karar (action) alanları bu kayıtta yer almaz. Log sunucusunda zaman aşımları attacks[0].id = 369999 değeriyle ayrı bir sınıf olarak süzülür (WAF loglarını SIEM'e nasıl gönderirim; hangi formatlar saldırı bilgisini yapısal taşır (CEF, JSON)?). Geçirilen zaman aşımları (Learning ve Monitor modları, Teacher ve Conditional learning istekleri, Fail-open açık) log sunucusuna WAF bilgisi göndermez.
Kayıt Sık Görülüyorsa
- Debug Mode Logs'ta 369999'lu satırların Path, gövde boyutu ve Content-Type değerleri karşılaştırılır; aynı uçta tekrar eden kayıt o uçtaki istek gövdesinin taramasının uzun sürdüğünü gösterir. Teşhis adımları: 418 alan bir istek Event Logs'ta neden görünmüyor?
- Taranan gövde vService genelinde küçültülür: Max. Body Size to Process(kB) ile vService Limits profilindeki Buffer Size(kB) değerlerinin büyüğünü aşan gövde çözümlenmez ve taranmaz; akıbetini sayfa tipinin Raw sekmesindeki Block Unparsed Contents ayarı belirler (418 alan bir istek Event Logs'ta neden görünmüyor?).
- Büyük gövdeli istekler için: Büyük POST istekleri engelleniyor veya yarıda kesiliyor; neden? · Dosya yüklemeleri için: Dosya yüklemeleri WAF tarafından engelleniyor; nasıl çözerim?
- Güvenilir bir kaynaktan gelen belirli bir uç denetimden çıkarılacaksa: Belirli IP'leri veya istekleri WAF incelemesinden tamamen muaf tutabilir miyim (Whitelist Condition)?
- Engeller hizmeti etkiliyor ve istek küçültülemiyorsa Request Body Limits penceresindeki Fail-open açılır (varsayılan kapalı; WEB-CLI'da
waf options update poolId <vService> --failOpen true). Açıkken bu istekler taranmadan geçer ve 369999 kaydı oluşmaz; taramayı bilerek uzatan bir istek WAF'ı atlatabileceği için seçenek yalnızca bu engeller hizmeti etkiliyorsa açılır (418 alan bir istek Event Logs'ta neden görünmüyor?). - 2 saniyelik süre sınırı arayüzden ve WEB-CLI'dan değiştirilemez.
Sık Karıştırılan Noktalar
- "369999 bir saldırı imzasıdır." Taramanın süre sınırı içinde tamamlanamadığını gösteren işarettir; Signature & Rule Library'de bulunmaz.
- "Kayıttaki 100 puan ve 2000 ms isteğin gerçek değerleridir." İki değer de her zaman aşımı kaydında aynıdır.
- "369999 Learning ya da Monitor modundaki bir grupta da görülür." Bu modlarda taraması tamamlanamayan istek geçirilir ve kayıt oluşmaz; 369999 yalnızca Blocking mode'da, Fail-open kapalıyken görülür. Tek istisna, taramanın WAF kuralları yüklenirken ve host grubu belirlenmeden kesilmesidir: vService'te Blocking mode'da bir grup varsa bu istek Learning ya da Monitor mode'daki gruba gelse de engellenir ve 369999 ile görünür (WAF Mode · Blocking Mode).
- "Fail-open açıkken 369999 kaydının yokluğu zaman aşımı olmadığını gösterir." Fail-open açıkken taraması tamamlanamayan istekler taranmadan geçer ve hiçbir yerde iz bırakmaz.
Dokümantasyonda nasıl yapılır
İlgili sorular
- 418 alan bir istek Event Logs'ta neden görünmüyor?
- Tarama belirli bir süreyi aşarsa istek ne olur (2 saniyelik tarama sınırı)?
- Learning veya Monitor modundayken de bir istek 418 ile engellenebilir mi?
- WAF bir istek için hangi kararları verir; Event Logs'taki Action ve Debug Mode Logs'taki Verdict ne anlama gelir?
