Doğrulama Ayarları
Konsol → WAF → [alan adı] → Koruma — Bu sayfa, ziyaretçi doğrulama ve otomatik koruma ayarlarını kapsar. Her değişiklik kaydedildiği anda uygulanır; ayrıca bir kaydet butonu yoktur.
Koruma Modu
Bölüm başlığı “Koruma Modu”Tüm ziyaretçilere uygulanacak doğrulama türünü seçin. JS Doğrulama ve CAPTCHA aynı anda aktif olamaz.
| Mod | Ne yapar | Ne zaman kullanılır |
|---|---|---|
| Kapalı | Doğrulama yok; kurallar çalışmaya devam eder | Normal trafik koşulları |
| JS Doğrulama | HEIMWALL’ın kendi JS challenge’ı; dış provider gerekmez | Varsayılan tercih; botları hızla ayıklar |
| CAPTCHA | Dış CAPTCHA provider’ı; görsel doğrulama | Mobil/API trafiği veya JS çalıştıramayan istemciler |
Otomatik Koruma aktifken sistem, RPS eşiği aşıldığında modu geçici olarak otomatik değiştirebilir. Bu durumda kartın üstünde canlı bir rozet görünür; kalıcı seçiminiz değişmez.
CAPTCHA Ayarları
Bölüm başlığı “CAPTCHA Ayarları”CAPTCHA modunu açmak için önce bir provider yapılandırmanız gerekir. Desteklenen sağlayıcılar:
| Provider | Özellik |
|---|---|
| hCaptcha | Gizlilik odaklı, ücretsiz katman mevcut |
| reCAPTCHA v2 | Google altyapısı, yaygın tanınırlık |
| FriendlyCaptcha | Bot-proof, JavaScript tabanlı, kullanıcı etkileşimi gerektirmez |
| MTCaptcha | GDPR uyumlu, Avrupa sunucuları |
| ALTCHA | Açık kaynak, proof-of-work tabanlı; dış servis gerektirmez |
- Konsol → Koruma → CAPTCHA Ayarları → Düzenle
- Listeden provider seçin
- Provider’ın yönetim panelinden Site Key ve Secret Key alın (ALTCHA için Challenge URL ve HMAC Secret)
- Anahtarları girin ve kaydedin
Challenge HTTP Yanıt Kodu
Bölüm başlığı “Challenge HTTP Yanıt Kodu”Challenge sayfası dönerken kullanılacak HTTP durum kodunu seçin. Varsayılan 503 Service Unavailable.
Neden 503? Botlar ve tarayıcılar 503’ü “geçici hata” olarak yorumlar; 200 dönseydi içeriği başarıyla aldıklarını sanabilirlerdi.
Ne zaman değiştirmelisiniz? HEIMWALL’ın önünde başka bir ters proxy (örn. Cloudflare, başka bir WAF) varsa o proxy 503’ü hata olarak loglayabilir. Bu durumda 200 veya 204 seçmek log kirliliğini önler.
Challenge Süre Ayarları
Bölüm başlığı “Challenge Süre Ayarları”Ziyaretçi doğrulamayı geçtikten sonra kaç dakika geçerliliğini koruduğunu ve JS sayfasının ne kadar bekleteceğini belirler.
| Ayar | Varsayılan | Aralık | Açıklama |
|---|---|---|---|
| JS Clearance | 30 dk | 5–1440 dk | JS’yi geçen ziyaretçi bu süre boyunca tekrar sorgulanmaz |
| CAPTCHA Clearance | 60 dk | 5–1440 dk | CAPTCHA’yı geçen ziyaretçi bu süre boyunca tekrar sorgulanmaz |
| JS Bekleme Süresi | 1500 ms | 100–10000 ms | JS sayfasının gösterilmeden önceki bekleme süresi |
CAPTCHA’nın clearance süresi genellikle JS’ten uzun tutulur; çünkü CAPTCHA daha güçlü bir doğrulamadır.
JS bekleme süresi (delay) meşru tarayıcıların doğrulamayı tamamlaması için gerekli süreyi verir; çok düşük ayarlamak yavaş bağlantılarda sorun çıkarabilir.
Client Hints Politikası
Bölüm başlığı “Client Hints Politikası”Tarayıcılar bazı isteklerde Sec-CH-UA gibi Client Hints başlıkları gönderir. Bu başlıklar User-Agent ile tutarsızsa, ziyaretçi bot veya araçla gizlenmiş istemci olabilir. Politika bu durumda ne yapılacağını belirler.
| Politika | Davranış |
|---|---|
| Uyumluluk | Client Hints kontrol edilmez; maksimum uyumluluk (varsayılan) |
| Dengeli | Tutarsızlık loglara yansır ama engel uygulanmaz |
| Sıkı | Tutarsız Client Hints → seçilen aksiyon (CAPTCHA veya Engelle) |
Bot-Score Motoru
Bölüm başlığı “Bot-Score Motoru”Her isteğe 0–100 arası otomatik bir bot skoru atanır. Bu motoru pasif izleme (monitor) veya otomatik aksiyon (enforce) modunda çalıştırabilirsiniz.
Ayrıntılı açıklama ve eşik kalibrasyonu için bkz. Bot Skoru.
Otomatik Koruma
Bölüm başlığı “Otomatik Koruma”Saniyedeki istek sayısı (RPS) belirlenen eşiği aştığında sistem challenge’ı otomatik başlatır; trafik normale dönüp bekleme süresi dolunca otomatik kapatır.
| Ayar | Açıklama |
|---|---|
| RPS Eşiği | Saniyedeki istek sayısı bu değeri geçince challenge başlar (10–5000) |
| Bekleme | Eşik aşıldıktan kaç saniye sonra challenge aktif olur (10–3600 sn) |
| Challenge Penceresi | Trafik normale dönükten sonra challenge kaç saniye açık kalır (60–3600 sn) |
| Challenge Türü | JS Doğrulama veya CAPTCHA |
Gelişmiş parametreler
Bölüm başlığı “Gelişmiş parametreler”Varsayılan değerler çoğu senaryo için uygundur. Aşağıdaki parametreler ince ayar gerektiğinde kullanılır:
| Parametre | Varsayılan | Açıklama |
|---|---|---|
| Hız Faktörü | ×10 | Anlık RPS’in geçmişe oranı bu çarpanı aşarsa “velocity breach” tetiklenir |
| Geçmiş Penceresi | 300 sn | Temel RPS ortalamasının hesaplandığı zaman aralığı |
| Minimum Geçmiş RPS | 50 | Bu değerin altındaki trafik için otomatik koruma devreye girmez |
| Minimum Baskı IP | 20 | Farklı IP sayısı bu değerin altındaysa saldırı sayılmaz |
| Yeniden Silahlanma | 300 sn | Challenge kapandıktan sonra bir sonraki tetiklenme için bekleme süresi |
Devre kesici (circuit breaker): Origin hata oranı yükseldiğinde challenge’ı otomatik kapatır — origin zaten cevap veremiyorken challenge açmak anlamsız olur.
| Parametre | Varsayılan | Açıklama |
|---|---|---|
| CB Penceresi | 60 sn | Hata oranının ölçüldüğü zaman aralığı |
| Maksimum Hata Oranı | %50 | Bu oranın üstündeyse devre kesici devreye girer |
| Minimum Örnek | 5 | Karar verilmesi için gereken minimum istek sayısı |
| Yarı Açık Süre | 30 sn | Devre kesici açıldıktan sonra yeniden deneme penceresi |
Global Rate-Limit
Bölüm başlığı “Global Rate-Limit”Alan adı genelinde geçerli istek sınırı. Kural bazlı rate-limit’ten farklı olarak tüm endpoint’lere uygulanır.
| Ayar | Açıklama |
|---|---|
| İstek Sayısı | Pencere süresi içinde izin verilen maksimum istek |
| Pencere | Sayacın sıfırlandığı süre (saniye) |
| IPv6 Prefix | Aynı ağdan gelen IPv6 adreslerini gruplamak için prefix uzunluğu (/29–/64) |
Pencere dolmadan bu eşiği aşan IP’lerden gelen istekler 429 Too Many Requests ile reddedilir.
Endpoint bazında sınır için bkz. Hız Sınırlama.
Otomatik Engelleme
Bölüm başlığı “Otomatik Engelleme”Challenge’ı art arda geçemeyen veya sürekli rate-limit’e takılan IP’leri otomatik olarak geçici engeller.
| Ayar | Açıklama |
|---|---|
| Hatalı İşlem Sayısı | Bu kadar başarısız işlemden sonra IP engellenir |
| Pencere | Hataların sayıldığı süre (dakika) |
| Engelleme Süresi | IP’nin listede kalacağı süre (saniye) |
| IPv6 Prefix | Aynı ağdan gelen IPv6 adreslerini gruplamak için prefix uzunluğu |
Engelleme süresi dolunca IP otomatik kaldırılır, manuel işlem gerekmez.