Login Sayfasına Hız Sınırı Koyma
Login sayfanızı kaba kuvvet saldırılarına karşı korumanın en hedefli yolu, yalnızca login path’ine uygulanan kural bazlı bir Rate Limit aksiyonudur. Daha geniş koruma için Failban ve Global Rate-Limit ile birleştirebilirsiniz.
Senaryo A: Kural bazlı rate limit (önerilen)
Bölüm başlığı “Senaryo A: Kural bazlı rate limit (önerilen)”Yalnızca login endpoint’ini sınırlar; sitenin geri kalanı etkilenmez.
-
Konsol → WAF → [alan adı] → Kurallar → + Yeni Kural adımlarını izleyin.
-
İki koşulu Koşul Ekle ile AND olarak birleştirin:
- Alan: Path (sorgusuz) (
http.request.base_uri) · Operatör: eşittir (==) · Değer:/login - Alan: HTTP Metodu (
http.request.method) · Operatör: eşittir (==) · Değer:POST
- Alan: Path (sorgusuz) (
-
Aksiyon olarak Rate Limit seçin ve parametreleri girin:
- İstek sayısı (count):
5— pencere içinde izin verilen istek (1–100000) - Süre (expire):
60saniye — sayaç penceresi (5–600 sn) - IPv6 öneki: varsayılan
/64
# Login endpoint'inde IP başına dakikada 5 POSTIF http.request.base_uri == /loginAND http.request.method == POSTTHEN ratelimit count=5 expire=60 - İstek sayısı (count):
-
Kaydet ile kaydedin. Limiti aşan IP’ler pencere boyunca 429 Too Many Requests yanıtı alır.
Senaryo B: Failban ile tekrarlayan saldırganı yasaklama
Bölüm başlığı “Senaryo B: Failban ile tekrarlayan saldırganı yasaklama”Failban, kısa sürede tekrar tekrar hata üreten IP’leri otomatik olarak yasaklar. Rate limit “yavaşlatır”, Failban “uzaklaştırır”.
-
Konsol → WAF → [alan adı] → WAF (Koruma) sayfasını açın.
-
Otomatik Engelleme bölümünde Etkin anahtarını açın.
-
Kaydırıcıları ayarlayın:
- Eşik:
5(5–500) — pencere içindeki hata sayısı - Süre: pencere uzunluğu, saniye cinsinden (1–60 sn)
- Engel Süresi:
600saniye varsayılan (60–86400 sn) — yasak ne kadar sürer - IPv6 Öneki: varsayılan
/64
- Eşik:
-
Her ayar değiştiği anda uygulanır; ayrıca kaydet butonu yoktur. Yasaklanan IP’ler süre dolunca otomatik çözülür.
Senaryo C: Global Rate-Limit
Bölüm başlığı “Senaryo C: Global Rate-Limit”Tüm alan adına, her isteğe uygulanan genel bir güvenlik ağıdır. Login’e özel değildir; site genelinde aşırı istek yapan IP’leri durdurur.
-
Konsol → WAF → [alan adı] → WAF (Koruma) sayfasında Global Rate-Limit bölümüne gidin.
-
Etkin anahtarını açın ve ayarlayın:
- İstek Sayısı: varsayılan
100(1–6500) - Süresi: pencere uzunluğu, saniye cinsinden (1–60 sn)
- IPv6 Öneki: varsayılan
/64
- İstek Sayısı: varsayılan
Hangi yöntemi ne zaman kullanmalı?
Bölüm başlığı “Hangi yöntemi ne zaman kullanmalı?”| Yöntem | Kapsam | Ne zaman |
|---|---|---|
| Kural bazlı rate limit | Yalnızca kuralın eşlediği trafik | Login, kayıt, arama gibi belirli endpoint’ler |
| Failban | Alan adı geneli, hata üretenler | Tekrarlayan saldırganları tamamen uzaklaştırmak |
| Global Rate-Limit | Alan adı geneli, tüm istekler | Genel güvenlik ağı, flood koruması |
Üçü birlikte kullanılabilir: kural bazlı limit login’i korur, limit ihlalleri Failban sayacını besler, global limit her şeyi kapsar.
Doğrulama
Bölüm başlığı “Doğrulama”- Login sayfasına bir dakika içinde 6 kez üst üste POST gönderin (ör.
curlile); 6. istekte 429 yanıtı almalısınız. - Kurallar sayfasında kuralın eşleşme sayacının arttığını kontrol edin.
- Failban etkinse, eşiği aşan test IP’nizin engellendiğini ve engel süresi dolunca otomatik çözüldüğünü doğrulayın.