Meşru bir isteğin WAF tarafından engellendiğini nasıl anlarım?
Kısa cevap
WAF'ın engellediği istek varsayılan olarak 418 durum kodlu yerleşik engelleme sayfasını (Blocking Page) alır; varsayılan sayfada sağ üstte isteğin zamanı, ortadaki başlığın altında Request ID ve IP Address satırları yer alır. Engelleme sayfası Blocking Page penceresinden özelleştirilebildiği için özel bir sayfada bu bilgiler bulunmayabilir. Request ID vService'in WAF Event Logs ekranında sunucu filtresinin Request Unique ID alanına yazılıp Save & Get Logs tıklanınca kayıt doğrudan bulunur; Action ikonunun üzerine gelindiğinde ve önizleme başlığında Attack blocked yazıyorsa isteği WAF engellemiştir. Önizlemenin Attacks sekmesi hangi imzanın ya da kuralın tetiklendiğini ve isteğin hangi bölümünün eşleştiğini gösterir. İsteğin hangi vService'e geldiği bilinmiyorsa aynı arama Global WAF Event Log ekranında yapılır. Event Logs'ta kayıt yoksa vService'te Debug açılıp Debug Mode Logs kaydının Security Action kolonuna bakılır: Blocking modunda taraması süre sınırı içinde tamamlanamadığı için engellenen istek Event Logs'a yazılmaz, yalnızca burada Attack blocked — scan timed out olarak görünür. Debug kaydında da WAF kararı yoksa engel WAF'tan değil, Bot/DDoS Protection katmanından ya da bir Load Balancer action'ından gelmiştir.
Sorun: Kullanıcı Engellendiğini Bildiriyor
Bir kullanıcı sayfanın açılmadığını ya da 418 kodlu bir engelleme sayfası gördüğünü bildiriyor. Engelin WAF'tan gelip gelmediği ve geldiyse hangi imzanın ya da kuralın tetiklendiği bulunmalıdır.
Çözüm: 3 Yöntem
| Durumunuz | Uygun yöntem |
|---|---|
| vService biliniyor; Request ID, istemci IP'si ya da zaman bilgisi var | Yöntem 1: Event Logs |
| İsteğin hangi vService'e geldiği bilinmiyor | Yöntem 2: Global WAF Event Log |
| Event Logs'ta kayıt yok ya da engeli hangi katmanın verdiği bilinmiyor | Yöntem 3: Debug Mode Logs |
Yöntem 1: Event Logs Önerilen
- Nasıl çalışır WAF, engellediği ya da izlediği her istek için bir log satırı yazar; satır isteğin benzersiz kimliğiyle, istemci IP adresiyle ya da zaman aralığıyla bulunur.
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → Event Logs sekmesi
- Gereksinim WAF yetkisi; isteğin düştüğü host grubu Monitor ya da Blocking modunda (Learning modunda Event Logs kaydı oluşmaz)
- vService tipi HTTP
Adım adım yapılandırma
Kullanıcıdan engelleme sayfasındaki Request ID değeri ve isteğin yaklaşık zamanı istenir. Yerleşik sayfa kimliği %UID değişkeniyle gösterir (Engelleme sayfasında hangi Smart Variable'ları kullanabilirim (%UID, %SRCIP, %WAFSCORE, %WAFINFO …); saldırı detayını göstermek güvenli mi?); engelleme sayfası Manual Content ile ya da başka bir içerik profiliyle özelleştirildiyse kimlik sayfada yer almayabilir. Kimlik yoksa kullanıcının IP adresi alınır.
Left Monitor Panel → WAF-Protected vServices → vService → Event Logs sekmesi açılır.
Filtre şeridinin başındaki sunucu filtresi sekmesinde Date Range isteğin zamanını kapsayacak biçimde seçilir (varsayılan Last 7 day(s)) ve Request Unique ID alanına kullanıcıdan alınan kimlik yazılır.
Save & Get Logs tıklanır; alanlar bu butona tıklanmadan uygulanmaz. Kimlik yoksa alan boş bırakılır ve loglar çekildikten sonra filtre şeridindeki Client IP sekmesinden kullanıcının adresi seçilir (filtrelenebilir bilgiler).
Satırın Action kolonundaki ikonun üzerine gelinir. Attack blocked isteğin WAF tarafından engellendiğini gösterir; Not blocked — Monitor mode, Not blocked — Below the blocking threshold ve Not blocked — Teacher IP matched (Teacher kimliği cookie ya da header ile tanındıysa Teacher cookie / Teacher header) kararlarında istek geçirilmiştir.
Satıra tıklanır; sağda açılan önizlemenin Attacks sekmesinde tetiklenen imzalar ve kurallar listelenir. Bir saldırı seçildiğinde Description isteğin eşleşen bölümünü vurgular, Corresponding Rule eşleşen sayfa tipi kuralını gösterir. Eşleşen bölüm uygulamanın kendi verisiyse kayıt bir false positive'tir (Yanlışlıkla engellenen bir isteğe nasıl izin veririm?).
Doğrulama
Seçilen satırın önizleme başlığına ve başlığın altındaki istek kimliğine bakılır.
Attack blocked · kullanıcının Request ID değeriYöntem 2: Global WAF Event Log
- Nasıl çalışır Cihazdaki bütün WAF korumalı vService'lerin logları tek tabloda taranır; isteğin hangi vService'e geldiğini bilmek gerekmez.
- Nerede açılır Sol alttaki TR7 logosu → Configuration Menu → WAF → Global WAF Event Log
- Gereksinim WAF yetkisi ve kısıtsız vService kapsamı (nasıl erişilir)
- vService tipi HTTP
Adım adım yapılandırma
Sol alttaki TR7 logosuyla Configuration Menu açılır; WAF → Global WAF Event Log seçilir.
Sunucu filtresi sekmesinde Date Range seçilir ve Request Unique ID alanına kimlik yazılır.
Save & Get Logs tıklanır. Tarama tüm vService'lerin dosyalarını okuduğu için Date Range dar tutulursa sonuç daha hızlı gelir (taramanın çalışması).
Satırın vService kolonu isteğin geldiği vService'i, Action ikonu kararı gösterir. Önizlemenin Attacks sekmesi Yöntem 1'in 6. adımındaki gibi incelenir.
Doğrulama
Bulunan satırın vService kolonuna ve Action ikonunun cümlesine bakılır.
vService adı · Attack blockedYöntem 3: Debug Mode Logs
- Nasıl çalışır Debug kaydı vService'e gelen her isteği tutar; Security Action kolonu isteği sonlandıran güvenlik özelliğini ve kararını, önizlemedeki WAF kutusu WAF'ın kararını ve tetiklenen kuralları gösterir. Blocking modunda taraması süre sınırı içinde tamamlanamayıp engellenen istek Event Logs'a yazılmaz; WAF kararı yalnızca burada görünür.
- Nerede açılır vService Edit → Details → Debug · Left Monitor Panel → Load Balancer vServices → vService → Logs & Tracking → Debug Mode Logs
- Gereksinim Load Balancer alanında değiştirme yetkisi (Debug Mode Logs ekranı yalnız WAF yetkisiyle açılmaz); Debug, sorunlu istek tekrarlanmadan önce açılmış olmalı; kayıt yalnızca açıldıktan sonraki istekler için oluşur
- vService tipi HTTP
Adım adım yapılandırma
Debug kaydı yalnızca kullanıcının istekleriyle sınırlanacaksa ve kullanıcının adresi için henüz koşul yoksa sol alttaki TR7 logosuyla Configuration Menu açılır; Load Balancer → Conditions ekranında Add tıklanır.
Koşul Add ile kaydedilir.
Load Balancer → Load Balancer vService List ekranında vService seçilip Edit ile düzenleme formu açılır.
Details altında Debug işaretlenir; kayıt kullanıcıyla sınırlanacaksa Select Conditions alanında 3. adımdaki koşul seçilir (koşullu debug). Koşul seçilmezse bütün istekler kaydedilir.
Form Save ile kaydedilir; vService'in Status değeri Debug Mode olur. Kullanıcıdan isteği tekrarlaması istenir.
Left Monitor Panel → Load Balancer vServices → vService → Logs & Tracking sekmesinde Debug Mode Logs kaynağı seçilir.
Columns ile varsayılan olarak gizli olan Security Action kolonu açılır.
Kullanıcının isteği seçilir; önizlemenin Summary sekmesindeki WAF kutusunda Verdict, Attacks ve Triggered Rules okunur. Attack blocked — scan timed out kararı, isteğin taraması süre sınırı içinde tamamlanamadığı için Blocking modunda engellendiğini gösterir; bu engeller hizmeti etkiliyorsa Request Body Limits penceresindeki Fail-open açılabilir, açıkken bu istekler taranmadan geçirilir (Tarama belirli bir süreyi aşarsa istek ne olur (2 saniyelik tarama sınırı)?). WAF kutusu yoksa WAF bu istek için karar vermemiştir; engelin hangi katmandan geldiği Meşru kullanıcılar engelleniyor; hangi kuralın engellediğini nasıl bulurum? sayfasındaki gibi ayrılır.
İnceleme bitince vService yeniden Edit ile açılır.
Details altındaki Debug işareti kaldırılır; açık kalan Debug disk ve işlemci kullanır.
Form Save ile kaydedilir.
Doğrulama
Kullanıcının kaydında Security Action kolonu ve Summary sekmesindeki WAF kutusu okunur.
Verdict: Attack blocked ya da Attack blocked — scan timed outSık Yapılan Hatalar
- Event Logs'ta kayıt yoksa WAF'ı elemek. Blocking modunda taraması süre sınırı içinde tamamlanamadığı için engellenen istek Event Logs'a yazılmaz; Debug Mode Logs kaydında görünür (418 alan bir istek Event Logs'ta neden görünmüyor?).
- Learning modundaki host grubunda kayıt aramak. Learning modunda WAF isteği engellemez ve Event Logs kaydı oluşmaz (log üretimi).
- Her engeli WAF'a bağlamak. CAPTCHA sayfası bot korumasını, bağlantının sessizce kopması Quarantine Action'ı, 403 gibi bir kodla dönen ve WAF kaydı olmayan yanıt bir Load Balancer action'ını gösterir (Meşru kullanıcılar engelleniyor; hangi kuralın engellediğini nasıl bulurum?).
- Log bastırma koşulunu unutmak. Log Settings ekranında bir bastırma koşulu tanımlıysa koşula uyan satırlar Event Logs listesinde gösterilmez (log üretimi).
- Date Range'i dar bırakmak. Kimlik doğru olsa da isteğin zamanı seçili aralığın dışındaysa kayıt gelmez.
Dokümantasyonda nasıl yapılır
