Konular
Web sitelerine gelen yoğun bot trafiği; sunucu kaynaklarının gereksiz tüketilmesine, sayfaların yavaşlamasına ve web sitesinin erişilebilirliğinin olumsuz etkilenmesine neden olabilir. Cloudflare Rate Limiting (İstek Sınırlama) özelliği sayesinde belirli sayfalara belirlenen süre içerisinde gönderilebilecek istek sayısı sınırlandırılabilir. Belirlenen limit aşıldığında ilgili istemciye engelleme veya güvenlik kontrolü uygulanabilir.
Bu makalede, Cloudflare üzerinden bot trafiğini sınırlandırmak için Rate Limiting kuralının nasıl oluşturulacağı açıklanmaktadır.
1. Cloudflare Paneline Giriş Yapın
Cloudflare kontrol paneline giriş yapın ve işlem yapmak istediğiniz alan adını seçin.
Ardından sol menüden Security (Güvenlik) → Security rules (Güvenlik kuralları) bölümüne gidin.

2. Rate Limiting Kuralı Oluşturun
Güvenlik kuralları sayfasında Create rule → Rate limiting rules seçeneğini kullanarak yeni bir kural oluşturun.

Kuralın hangi istekleri kapsayacağını belirlemek için aşağıdaki alanları yapılandırın:
- Rule name: Kural için açıklayıcı bir ad belirleyin. Örneğin,
Bot Trafiği İstek Sınırlaması. - Field / Operator / Value: Sınırlandırılacak URL yolunu veya ilgili trafik koşulunu belirleyin. Örneğin, WordPress yönetici giriş sayfası için
/wp-login.phpyolu kullanılabilir. - With the same characteristics: İstek sayısının hangi istemciye göre hesaplanacağını belirleyin. IP adresi bazlı sayım, aynı IP adresinden gelen isteklerin sınırlandırılmasına yardımcı olur.
- When rate exceeds: Belirli bir süre içerisinde izin verilen maksimum istek sayısını belirleyin.
- Then take action: Limit aşıldığında uygulanacak işlemi seçin. Planınızda sunuluyorsa engelleme veya güvenlik kontrolü seçeneklerini kullanabilirsiniz.
Kuralı oluştururken Cloudflare hesabınızın planında sunulan alanları, zaman aralıklarını ve işlem seçeneklerini dikkate alın.

Makale Notu: İstenirse And butonuna basılarak ikinci bir koşul eklenebilir (Örn: Request Method = POST). Böylece sadece şifre denemesi yapılan POST istekleri hedeflenir.
3. İstek Limitini Belirleyin
İstek limiti belirlenirken web sitesinin normal trafik yoğunluğu ve ilgili sayfanın kullanım amacı dikkate alınmalıdır. Tüm web siteleri için geçerli tek bir doğru limit bulunmamaktadır.
Örneğin, sık istek alan bir giriş sayfasında kısa süre içerisinde çok sayıda istek gönderen istemcileri sınırlandırmak amacıyla daha düşük bir limit uygulanabilir. Genel sayfalarda ise gerçek ziyaretçilerin normal gezinme davranışını engellemeyecek bir eşik belirlenmelidir.
Saldırganın belirlediğimiz sürede kaç istek atabileceğini ayarlıyoruz.
- Requests (İstek Sayısı):
5 - Period (Süre):
10 seconds(veya1 minute) - Açıklama: Aynı IP adresinden 10 saniye içinde 5’ten fazla giriş denemesi yapılırsa kural tetiklenir.

Sınır aşıldığında Cloudflare’in ne yapacağını seçiyoruz:

Duration (Engelleme Süresi): 10 minutes (veya 1 hour)

Önemli: Limit değerlerini belirlemeden önce Cloudflare trafik kayıtlarını ve güvenlik olaylarını incelemeniz önerilir. Çok düşük limitler, aynı internet bağlantısını kullanan gerçek ziyaretçilerin de engellenmesine neden olabilir.
4. Kuralı Etkinleştirin ve Test Edin
Kural ayarlarını tamamladıktan sonra Deploy seçeneğiyle kuralı etkinleştirin.

Etkinleştirme sonrasında aşağıdaki kontrolleri gerçekleştirin:
- Web sitesinin normal ziyaretçiler tarafından açıldığını doğrulayın.
- Cloudflare güvenlik olaylarını inceleyerek kuralın hangi istekleri etkilediğini kontrol edin.
- Şüpheli trafik yoğunluğunun azalıp azalmadığını takip edin.
- WordPress yönetim paneli, API uç noktaları ve diğer önemli işlevlerin çalışmaya devam ettiğinden emin olun.
Gerekirse limit değerlerini normal ziyaretçi trafiğini etkilemeyecek şekilde yeniden düzenleyin.
5. Arama Motoru Botlarına Dikkat Edin
Bot trafiğinin tamamı zararlı değildir. Googlebot gibi doğrulanmış arama motoru botlarının engellenmesi, web sitesinin taranmasını ve arama motorlarındaki görünürlüğünü olumsuz etkileyebilir.
Bu nedenle kural oluştururken doğrulanmış botları ve normal ziyaretçileri yanlışlıkla engellememeye dikkat edin. Özellikle SEO açısından önemli sayfalar için güvenlik olaylarını düzenli olarak inceleyin.
Cloudflare Free Planı Hakkında
Cloudflare Free planında Rate Limiting özelliği kullanılabilir; ancak oluşturulabilecek kural sayısı ve desteklenen koşullar, sayım seçenekleri ve zaman aralıkları ücretli planlardan farklı olabilir. Ücretsiz planda kural oluşturmadan önce panelde sunulan seçenekleri kontrol edin.
Rate Limiting, belirli istekleri sınırlandırmak için kullanılır. Web sitesine yönelik daha kapsamlı bot trafiği veya DDoS saldırıları söz konusu olduğunda Cloudflare’ın WAF kuralları, bot koruma özellikleri ve DDoS koruması da ihtiyaca göre değerlendirilmelidir.