Learning veya Monitor modundayken de bir istek 418 ile engellenebilir mi?
Kısa cevap
Pratikte hayır. Learning Mode ve Monitor Mode'daki Virtual Host Group'ta WAF isteği engellemez: saldırı içeren istek, kara listedeki adresten gelen istek ve taraması 2 saniyelik süre sınırı içinde tamamlanamayan istek de Kurum Servisine geçirilir. Tek istisna, taramanın WAF kuralları yüklenirken ve isteğin hangi host grubuna ait olduğu belirlenmeden kesilmesidir: vService'te Blocking Mode'da en az bir host grubu varsa bu istek de engellenir (Teacher ve Conditional Learning kimliğiyle gelen istekler hariç; Request Body Limits'teki Fail-open açıkken engellenmez). Bunun dışında bu modlarda görülen 418 başka bir kaynaktan gelir; başlıca olasılıklar şunlardır: istek aynı vService'in Blocking Mode'daki başka bir Virtual Host Group'una düşmüş ve orada WAF tarafından engellenmiştir (WAF engeli Blocking Status Code ile, varsayılan 418, ya da koşulu tutan Conditional Blocking Pages satırının koduyla döner); durum kodu olarak 418 seçilmiş bir Bot/DDoS Protection aksiyonu, Load Balancer Block veya Show Content aksiyonu ya da AGS Bot Protection Policy aksiyonu isteği yanıtlamıştır; ya da 418'i Kurum Servisinin kendisi döndürmüştür. Kaynak, vService Debug Mode'dayken gelen isteğin Debug Mode Logs kaydındaki Security Action ve Termination State kolonlarından bulunur: WAF engelinde Security action WAF · Attack blocked, Bot/DDoS engelinde Threat Protection ile başlar; ikisi de yoksa Termination state yanıtı TR7'nin mi (Load Balancer ya da AGS aksiyonu) yoksa Kurum Servisinin mi verdiğini gösterir.
Learning ve Monitor Modunda
| İstek | Learning mode | Monitor mode |
|---|---|---|
| Saldırı içeren istek | Geçirilir; öğrenme günlüğüne yazılır | Geçirilir; puanı eşiğe ulaştıysa Event Logs'a Not blocked — Monitor mode kararıyla yazılır |
| Kaynak IP kara listede | Geçirilir | Geçirilir; Event Logs'a Not blocked — Monitor mode kararıyla yazılır |
| Taraması 2 saniyelik süre sınırı içinde tamamlanamayan istek | Geçirilir; öğrenme günlüğüne yazılmaz (tarama host grubu belirlenmeden kesildiyse aşağıdaki istisna geçerlidir) | Geçirilir; Event Logs'a yazılmaz (tarama host grubu belirlenmeden kesildiyse aşağıdaki istisna geçerlidir) |
| Teacher ya da Conditional Learning kimliğiyle gelen istek | Geçirilir | Geçirilir |
- WAF'ın engelleme yanıtı (Blocking Status Code ve engelleme sayfası) yalnızca Blocking Mode'daki grupta kullanılır. Taraması süre sınırı içinde tamamlanamayan istek de yalnızca orada engellenir. Tek istisna: tarama WAF kuralları yüklenirken ve isteğin host grubu belirlenmeden kesilirse, vService'te Blocking mode'da en az bir grup bulunduğu sürece Learning ya da Monitor mode'daki gruba gelen istek de engellenir; Teacher ve Conditional Learning kimliğiyle gelen istekler bu istisnaya girmez (WAF Mode · Blocking Mode). Request Body Limits penceresindeki Fail-open açıksa bu istekler Blocking mode'da da, istisnada da geçirilir (Tarama belirli bir süreyi aşarsa istek ne olur (2 saniyelik tarama sınırı)?).
- Mod vService'e değil Virtual Host Group'a atanır ve istek Host header'ına göre bir gruba düşer; aynı vService'te bir grup Learning ya da Monitor mode'dayken başka bir grup Blocking mode'da olabilir (Aynı vService'te farklı domainler için farklı modlar kullanabilir miyim?). Blocking Status Code ve Conditional Blocking Pages vService geneline uygulanır.
418'in Kaynağını Bulma
Kaynak, vService'in Status alanı Debug Mode'a alındıktan sonra gelen isteklerin Debug Mode Logs kaydından ayırt edilir; Debug mode açılmadan önce gelen istekler için kayıt oluşmaz. Security Action ve Termination State kolonları varsayılan olarak gizlidir ve kolon seçicisinden eklenir.
| Kaynak | Security Action | Termination State |
|---|---|---|
| İstek Blocking mode'daki başka bir Virtual Host Group'a düştü ve WAF engelledi | WAF · Attack blocked; taraması süre sınırı içinde tamamlanamayan istekte WAF · Attack blocked — scan timed out | İsteği TR7 yanıtladı (TR7 intercepted ya da Handled by TR7) |
| Bot/DDoS Protection aksiyonunda durum kodu 418 seçilmiş (ör. Bot Protection'daki Response Status Code) | Threat Protection ile başlayan engel kararı | İsteği TR7 yanıtladı |
| Load Balancer Block ya da Show Content aksiyonunda durum kodu 418 seçilmiş | Engel kararı yok | İsteği TR7 yanıtladı |
| AGS Bot Protection Policy aksiyonunda durum kodu 418 seçilmiş (Deny ve Tarpit için Deny Status Code, Block için Block Status Code, Show Content için Status Code) | Engel kararı yok | İsteği TR7 yanıtladı |
| Kurum Servisi 418 döndürüyor | Engel kararı yok | Normal |
- İsteğin hangi gruba düştüğü, kaydın Request kolonundaki host adından anlaşılır.
- Load Balancer aksiyonu ile AGS Bot Protection Policy aksiyonu bu iki kolonda aynı görünür; ayrım için vService'in aksiyonlarında ve AGS Bot Protection Policies'te durum kodu 418 olan kayıt aranır.
- WAF engeli, zaman aşımı dışında, vService'in Event Logs'unda da Attack blocked kaydıyla görünür; engelleme sayfasındaki Request ID ile kayıt bulunur (Kullanıcılarım "418" hatası alıyor; ne oluyor?). Zaman aşımıyla engellenen istek Event Logs'a yazılmaz (418 alan bir istek Event Logs'ta neden görünmüyor?).
- Engelin hangi katmandan geldiğinin genel teşhisi: Meşru kullanıcılar engelleniyor; hangi kuralın engellediğini nasıl bulurum?
Sık Karıştırılan Noktalar
- "Learning ya da Monitor modunda dönen 418 WAF'tan gelir." Bu modlardaki grupta WAF, kurallar yüklenirken kesilen tarama istisnası dışında engelleme yanıtı döndürmez; 418 başka bir kaynaktan gelir: çoğunlukla Blocking mode'daki başka bir gruptan, Bot/DDoS Protection, Load Balancer ya da AGS Bot Protection Policy aksiyonundan veya Kurum Servisinden.
- "Taraması süre sınırını aşan istek her modda engellenir." Bu istek yalnızca Blocking Mode'da, Fail-open kapalıyken engellenir; Learning ve Monitor mode'da geçirilir. Tek istisna, taramanın kurallar yüklenirken ve host grubu belirlenmeden kesilmesidir: vService'te Blocking mode'da bir grup varsa bu istek, Teacher ve Conditional Learning kimliğiyle gelmedikçe, her grupta engellenir.
- "418 kodunu yalnızca WAF döndürür." 418, WAF'ın varsayılan Blocking Status Code değeridir; Bot/DDoS Protection, Load Balancer ve AGS Bot Protection Policy aksiyonlarında da durum kodu olarak seçilebilir. Blocking Status Code değiştirildiyse WAF engeli de 418 dışında bir kodla döner.
Dokümantasyonda nasıl yapılır
