Bir kullanıcı engellendiğinde gördüğü jenerik "access denied" mesajı yalnızca teknik bir çıktı değildir; kurumun güvenlik deneyiminin parçasıdır. Kurumsal müşteri, vatandaş, iş ortağı veya son kullanıcı neden bekletildiğini, ne yapması gerektiğini ve bunun geçici mi kalıcı mı olduğunu anlamak ister. Kaba ve markasız hata sayfaları güvenlik kararını profesyonel olmayan bir deneyime dönüştürür.
DDoS veya bot saldırısı sırasında kullanıcıya yalnızca hata göstermek çoğu zaman yeterli değildir. Gerçek kullanıcıya kısa süre beklemesi, isteğinin doğrulandığı, otomatik trafiğin ayrıştırıldığı ve işlemin devam edeceği anlatılmalıdır. Geri sayım, challenge ve CAPTCHA akışı bu noktada hem güvenlik hem iletişim görevi görür.
Çok dilli ve çok kiracılı ortamlarda aynı sayfa herkes için uygun değildir. Bir banka Türkçe ve kurumsal renklerle açıklama göstermek isteyebilir; bir servis sağlayıcı her tenant için farklı logo ve metin kullanmak isteyebilir; bir API endpoint'i ise HTML yerine JSON hata mesajı döndürmelidir. Tek sabit blok sayfası bu ihtiyaçları karşılayamaz.
Yardım masası ve güvenlik ekipleri için sebep kodu da önemlidir. Kullanıcı bir hata aldığında destek ekibinin hangi kuralın, hangi bot kararının veya hangi WAAP aksiyonunun devreye girdiğini anlayabilmesi gerekir. Ancak bu bilgi kontrollü verilmelidir; bazı durumlarda kullanıcıya gösterilir, bazı durumlarda yalnızca log ve destek akışında tutulur.
TR7'nin yaklaşımı, engelleme sayfalarını güvenlik kararından sonra dönen statik hata çıktısı olmaktan çıkarır; marka, dil, sebep kodu, CAPTCHA, DDoS challenge ve API yanıt formatlarıyla özelleştirilebilir bir WAAP deneyimine dönüştürür.
TR7, engelleme sayfalarını hazır şablonlar, EJS render, native cevap döndürme ve sebep kodu enjeksiyonuyla yönetir.
DDoS challenge, JavaScript doğrulama, CAPTCHA, bot koruma hatası ve AAM 503 için ayrı şablon yapıları bulunur. Her sayfa türü farklı kullanıcı deneyimi ve güvenlik kararına göre tasarlanabilir.
CAPTCHA sayfaları EJS şablonlarıyla oluşturulur. Tema, boyut, arka plan, metin rengi ve dil sözlüğü render sırasında uygulanabilir.
TR7, engelleme veya challenge cevabını kurum servisine gitmeden döndürebilir. Bu yaklaşım hem gecikmeyi azaltır hem de saldırı anında uygulama katmanına gereksiz yük binmesini engeller.
Reason code ve özel request değişkenleri template içine kontrollü şekilde yerleştirilebilir. Bu, destek ekiplerinin hata sebebini ayırmasına ve gerektiğinde kullanıcıya anlamlı açıklama verilmesine yardımcı olur.
TR7 Engelleme Sayfası Özelleştirme, farklı WAAP kararları için HTML, CAPTCHA, challenge ve JSON yanıtlarını merkezi şekilde yönetir.
TR7, DDoS senaryoları için özel challenge sayfaları kullanabilir. Bu sayfalar geri sayım, kullanıcı bilgilendirmesi ve doğrulama mesajları içerebilir. Gerçek kullanıcıya isteğinin işlendiği ve kısa süre sonra devam edeceği anlatılır. Böylece saldırı anında yalnızca blok değil, yönetilebilir bir kullanıcı deneyimi sağlanır.
DDoS JS solver sayfaları, tarayıcı davranışı üzerinden doğrulama akışını destekler. İstemci tarafı kontrol mantığıyla otomatik trafiğin ayrıştırılması hedeflenir. Türkçe ve İngilizce hazır dosyalar kullanılabilir. Yeni dil veya farklı metin ihtiyacı şablon düzeniyle karşılanabilir.
CAPTCHA şablonları CAPTCHA deneyimini oluşturur. `auto`, `dark` ve `light` tema seçenekleri; `small`, `medium` ve `large` boyutları kullanılabilir. Arka plan ve metin rengi parametrelerle ayarlanabilir. Bu yapı, güvenlik doğrulamasını kurumun görsel kimliğiyle uyumlu hâle getirir.
CAPTCHA yapılandırmasında metin veya görünmez tipler kullanılabilir. Metin CAPTCHA, kullanıcının açık şekilde cevap vermesini gerektiren durumlar için uygundur. Görünmez mod ise daha düşük sürtünme istenen senaryolarda tercih edilebilir. Böylece aynı güvenlik kontrolü farklı kullanıcı deneyimi hedeflerine göre ayarlanır.
TR7, Türkçe ve İngilizce hazır CAPTCHA metin sözlükleriyle gelir. Başlık, açıklama, giriş alanı, gönder, yenile, doğrulanıyor, başarılı, başarısız, hata ve süresi doldu gibi yaklaşık 16 metin alanı dil bazında yönetilebilir. Yeni diller, şablon içindeki çeviri nesnesine eklenerek genişletilebilir. Kullanıcı istediği dili kendisi ekleyebilir; çoklu dil yapısı bu şekilde sağlanır.
Her vService kendi CAPTCHA yapılandırması değeriyle farklı görünüm ve davranış kullanabilir. Bu, çoklu tenant, MSSP veya farklı marka altında çalışan uygulamalarda önemlidir. Aynı TR7 üzerinde her uygulama kendi rengi, dili, metni ve doğrulama tarzıyla çalışabilir. Güvenlik kontrolü merkezi kalırken kullanıcı deneyimi ayrıştırılır.
Bot koruma kararları için özel hata sayfası kullanılabilir. Kötü kullanıcı ajanı, otomasyon davranışı veya bot koruma kuralı tetiklendiğinde kullanıcıya ayrı bir cevap döndürülebilir. Bu sayfa marka diline ve destek sürecine göre özelleştirilebilir. Teknik sebep kodu istenirse içeride tutulabilir, istenirse kontrollü biçimde gösterilebilir.
Kurum servisi erişilemediğinde veya havuz geçici olarak hizmet veremediğinde özel AAM 503 sayfası kullanılabilir. Bu sayfa, kullanıcının boş tarayıcı hatası veya anlamsız bağlantı kesintisi görmesini engeller. Planlı bakım, geçici yoğunluk veya servis erişim problemi daha anlaşılır bir mesajla sunulabilir. Kurum, hata anında bile marka ve destek yönlendirmesini korur.
TR7, WAAP aksiyonlarında belirli status code, content type ve dosya içeriğiyle özel cevap döndürebilir. HTML sayfa, düz metin veya API endpoint'leri için JSON hata gövdesi kullanılabilir. Dosya tabanlı veya inline içerik döndürme modeli uygulanabilir. Bu esneklik, web kullanıcıları ve API istemcileri için farklı engelleme deneyimi oluşturur.
Sayfa içeriğine request değişkenleri veya transaction seviyesindeki sebep kodları yerleştirilebilir. Yardım masası, kullanıcıdan gelen ekran görüntüsü veya hata koduyla hangi güvenlik kararının devreye girdiğini daha hızlı anlayabilir. Güvenlik ekibi, hangi bilgilerin kullanıcıya gösterileceğini ve hangilerinin yalnızca log tarafında kalacağını politika olarak belirleyebilir. Bu yapı debug hızını artırırken bilgi sızıntısı riskini kontrol altında tutar.
Engelleme sayfalarının güvenilir çalışması için dosya sunumu, dil ekleme, status code seçimi, dinamik değişkenler ve statik asset yönetimi birlikte planlanır.
CAPTCHA şablonuna yeni dil eklemek için ilgili çeviri nesnesine yeni dil sözlüğü tanımlanabilir. Başlık, hata, doğrulama ve bekleme metinleri dil bazında ayrıştırılır. Bu yaklaşım, çoklu dil desteğini sabit ürün listesine değil, genişletilebilir şablon yapısına bağlar.
CAPTCHA ve challenge sayfaları için base path, JavaScript servis yolu, HTML dosyası ve JavaScript dosyası ayrı yapılandırma alanlarıyla yönetilebilir. Bu ayrım, statik içeriklerin doğru yoldan servis edilmesini sağlar. Çoklu sayfa türlerinde dosya düzeni daha okunabilir kalır.
TR7, belirli koşul oluştuğunda native cevap döndürme mantığıyla doğrudan HTML veya JSON cevap üretebilir. Bu cevap kurum servisine gitmeden üretilir. Challenge, CAPTCHA ve özel WAAP aksiyonlarında gecikme ve uygulama yükü bu şekilde azaltılır.
Farklı senaryolar için farklı HTTP status code değerleri kullanılabilir. CAPTCHA akışı 200 ile sunulabilirken, limit veya blok kararları 403, 413, 451 veya 503 gibi kodlarla döndürülebilir. API ve web kullanıcıları için doğru semantik kodu seçmek entegrasyon kalitesini artırır.
Logo, SVG veya görsel içerikler HTML içine inline veya base64 olarak yerleştirilebilir. Bu yöntem, ayrı asset bağımlılığını azaltabilir ve tek dosyalı özel sayfa üretmeyi kolaylaştırır. Kurum markası, özel HTML düzeni üzerinden sayfaya eklenebilir.
Hazır DDoS challenge ve JS doğrulama dosyaları dinamik dosya bağlama mekanizmasıyla takip edilebilir. Dosya güncellendiğinde ilgili içerik servis katmanına yansıtılır. Bu yapı, statik sayfaları manuel servis yeniden başlatma operasyonuna dönüştürmeden güncel tutmaya yardımcı olur.
Banka, beyaz/mavi tema, kurumsal logo, Türkçe açıklama ve destek bağlantısı içeren özel CAPTCHA veya blok sayfası kullanabilir. Sebep kodu kullanıcıdan gizlenirken destek ekibi log üzerinden gerçek nedeni inceleyebilir.
Kampanya döneminde otomasyon trafiği arttığında gerçek kullanıcıya geri sayımlı DDoS challenge sayfası gösterilebilir. Kullanıcı kısa doğrulama sonrası alışveriş akışına devam ederken bot trafiği ayrıştırılır.
Kamu kurumu, belirli erişim kararlarında yalnızca Türkçe açıklama içeren özel sayfa döndürebilir. Kullanıcıya erişimin neden kısıtlandığı ve hangi destek kanalına başvuracağı kurumsal dille anlatılır.
API servislerinde HTML sayfa yerine JSON formatında 403 veya 429 cevabı döndürmek daha doğrudur. TR7, özel WAAP aksiyonuyla reason değerini JSON gövdesine işleyerek istemci uygulamaların hatayı programatik olarak işlemesini sağlar.
DDoS, CAPTCHA, bot koruma ve WAAP aksiyonları için özelleştirilebilir engelleme sayfaları. Kendi yapılandırmanızda nasıl çalıştığını birlikte görelim.