Engellemede neden varsayılan olarak 418 durum kodu dönüyor; bunu değiştirebilir miyim?
Kısa cevap
418 (I'm a teapot), TR7 WAF'ın ürün varsayılanıdır; uygulamanın ve altyapının ürettiği 403, 404 ya da 5xx yanıtlarından ayrıldığı için loglarda ve izleme araçlarında WAF engellemesi olarak kolayca ayırt edilir. Evet, değiştirilebilir: Blocking Page penceresindeki Blocking Status Code listesinden gövde taşıyabilen bir durum kodu (ör. 403) seçilir; serbest sayı girilmez. Conditional Blocking Pages girdilerinde her koşul için ayrı kod seçilebilir; Use default status code seçili girdiler genel kodu kullanır. Kod değişikliği Edit ile kaydedilir ve ayrı bir dağıtım adımı olmadan uygulanır; WEB-CLI'da alan --blockingStatusCode adını taşır.
Sorun: 418 Kodu İstemciler ya da İzleme Araçları İçin Beklenmedik
Bazı istemciler, API ağ geçitleri ya da izleme kuralları engelleme için 403 gibi yaygın bir kod bekler; 418 bu araçlarda tanınmayabilir. Engelleme yanıtının durum kodu kurumun beklentisine göre seçilmek isteniyor.
Çözüm: İki Yöntem
İki yöntem aynı alanı yazar; biri seçilir. Koşula göre farklı kod için koşullu engelleme sayfaları kullanılır (Koşula bağlı farklı engelleme sayfaları tanımlayabilir miyim (Conditional Blocking Pages)?).
| Durumunuz | Uygun yöntem |
|---|---|
| Kodu arayüzden değiştireceğim | Yöntem 1: Blocking Status Code |
| Betik ya da komut satırıyla değiştireceğim | Yöntem 2: WEB-CLI |
Yöntem 1: Blocking Status Code Önerilen
- Nasıl çalışır Engelleme yanıtının durum kodu listeden seçilir; koşullu sayfası eşleşmeyen bütün engellemeler bu kodla döner.
- Nerede açılır Left Monitor Panel → WAF-Protected vServices → vService → WAF Management → Blocking Page kartı → kalem ikonu
- Gereksinim WAF açık HTTP vService
- Seçilebilir kodlar 2xx, 3xx, 4xx ve 5xx sınıflarındaki gövde taşıyabilen kodlar; 1xx, 204 ve 304 listede yoktur
Adım adım yapılandırma
Left Monitor Panel → WAF-Protected vServices → vService → WAF Management sekmesinde Inspection & Blocking bölümündeki Blocking page kartının sağ üstündeki kalem ikonuna tıklanır.
Blocking Page Source ve seçili sayfa kontrol edilir. Pencere WAF açıldıktan sonra hiç kaydedilmemişse Content Profile ve WAF Blocking Page (English) seçili açılır; kayıtla birlikte varsayılan sayfa bu seçime döner (Engelleme sayfasını değiştirebilir miyim?).
Blocking Status Code listesinden kod seçilir (ör. 403); kodlar açıklamalarıyla listelenir.
Edit tıklanır; değişiklik ayrı bir dağıtım adımı olmadan uygulanır. Cluster kurulumunda varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa eş cihaza elle gönderilir.
Doğrulama
WAF Management sekmesindeki Blocking page kartının cümlesine bakılır.
… with status 403Blocking modundaki host grubuna imza tetikleyen bir istek gönderilir.
Komut: curl -s -o /dev/null -w "%{http_code}\n" "https://www.example.com/?q=%3Cscript%3Ealert(1)%3C/script%3E"
403Yöntem 2: WEB-CLI
- Nasıl çalışır Kod WEB-CLI ile
--blockingStatusCodealanına yazılır. - Nerede açılır WEB-CLI →
waf options update - Gereksinim WEB-CLI erişimi
- Kapsam Yalnızca genel kod; koşullu sayfaların kodları değişmez
Adım adım yapılandırma
waf options update poolId <vService> --syncWithDefaultFwRules false --blockingStatusCode 403Doğrulama
vService'in WAF ayarları görüntülenir.
Komut: waf options show poolId <vService>
blockingStatusCode 403Sık Yapılan Hatalar
- 418'i hata belirtisi sanmak. 418, WAF'ın bilinçli engelleme yanıtıdır; isteğin neden engellendiği Event Logs'ta görülür (Kullanıcılarım "418" hatası alıyor; ne oluyor?). Event Logs'ta kaydı olmayan bir 418, Blocking modunda taraması süre sınırı içinde tamamlanamadığı için engellenmiş bir istek olabilir; bu istek yalnızca vService Debug Mode'dayken Debug Mode Logs'ta görünür (418 alan bir istek Event Logs'ta neden görünmüyor?).
- Koşullu sayfaların kodunun da değiştiğini sanmak. Kendi kodu seçilmiş koşullu sayfa o kodla dönmeye devam eder; yalnızca Use Default Status Code seçili girdiler genel kodu izler. İki dilli hazır şablonun eklediği koşullu sayfa, uygulandığı andaki genel kodu kendi kodu olarak taşır.
- Pencereyi yalnızca kod için açıp sayfa seçimini kontrol etmemek. Pencere kayıtta kaynak seçimi olmayan vService'te Content Profile ve WAF Blocking Page (English) seçili açılır; kaydedildiğinde varsayılan sayfa da bu seçime döner.
- Gövde taşımayan kod aramak. 204 ve 304 gibi gövde taşımayan kodlar listede yer almaz.
Dokümantasyonda nasıl yapılır
