Web sitelerine yönelik saldırılar her zaman tüm siteyi hedef almaz. Bazı durumlarda saldırganlar belirli URL’lere, API uç noktalarına (endpoint), giriş sayfalarına veya arama fonksiyonlarına yoğun istek göndererek sunucu kaynaklarının tüketilmesine ve hizmet kesintilerine neden olabilir.

Cloudflare üzerinden oluşturulacak özel güvenlik kuralları ve istek sınırlama (Rate Limiting) politikalarıyla bu tür trafiği hedefli şekilde kontrol etmek mümkündür. Böylece tüm web sitesine erişimi kısıtlamadan yalnızca riskli görülen endpoint’ler için ek güvenlik önlemleri uygulanabilir.

1. Saldırıya Uğrayan Endpoint’i Belirleyin

Öncelikle Cloudflare kontrol paneline giriş yapın ve ilgili alan adını seçin. Ardından Security → Security Analytics veya Security → Events bölümlerinden gelen istekleri ve güvenlik olaylarını inceleyin. Arayüzdeki bölüm adları plana göre farklılık gösterebilir.

Örneğin free planda aşağıdaki bölümde yer almaktadır.

Aşağıdaki endpoint’ler, kullanım amacına bağlı olarak yoğun veya kötü amaçlı isteklerin hedefi olabilir:

  • /wp-login.php: WordPress yönetici giriş sayfası.
  • /xmlrpc.php: WordPress XML-RPC arayüzü.
  • /api/: Uygulamaya ait API uç noktaları.
  • /search: Arama işlemlerini gerçekleştiren sayfalar.
  • /wp-admin/admin-ajax.php: WordPress AJAX istekleri.

Bu yollar yalnızca örnektir. Kendi web sitenizde saldırıya uğrayan gerçek URL’leri ve istek yöntemlerini tespit ederek işlem yapmanız önerilir.

2. Belirli Bir Endpoint İçin Rate Limiting Kuralı Oluşturun

Bir endpoint’e kısa süre içerisinde çok sayıda istek gönderiliyorsa Cloudflare Rate Limiting kullanılarak istek yoğunluğu sınırlandırılabilir.

  1. Cloudflare panelinde ilgili alan adını açın.
  2. Security → Security rules → Create rule → Rate limiting rules bölümüne gidin.
  3. Kural için açıklayıcı bir ad belirleyin. Örneğin, WordPress Login İstek Sınırlaması.
  4. İsteklerin hangi URL’yi hedeflediğini belirten koşulu ekleyin.
  5. İstek sayısının hangi özelliklere göre sayılacağını, izin verilen istek miktarını ve zaman aralığını yapılandırın.
  6. Limit aşıldığında uygulanacak işlemi seçin ve kuralı etkinleştirin.

Örneğin, /wp-login.php adresine kısa süre içinde olağan dışı sayıda istek gönderen istemciler için bir sınır belirlenebilir. Limit aşıldığında ilgili istemci geçici olarak engellenebilir veya plan ve kural seçeneklerine bağlı olarak ek bir güvenlik kontrolüne yönlendirilebilir.

Limit değerleri web sitesinin normal trafik yoğunluğuna göre belirlenmelidir. Tüm siteler için geçerli tek bir istek limiti bulunmamaktadır.

3. Belirli Endpoint’lere Özel Güvenlik Kuralı Ekleyin

Saldırının belirli bir URL’yi hedeflediği biliniyorsa Cloudflare Custom Rules ile bu URL’ye yönelik istekler ayrıca kontrol edilebilir.

  1. Security → Security rules → Create rule → Custom rules bölümünü açın.
  2. Kural adını belirleyin.
  3. İlgili URL yolu, HTTP metodu veya diğer gerekli koşulları tanımlayın.
  4. İsteğin niteliğine göre Block ya da Managed Challenge işlemini seçin.
  5. Kuralı etkinleştirmeden önce koşulların yalnızca hedeflenen istekleri kapsadığını kontrol edin.

Örneğin, artık kullanılmayan ve uygulamanız için gerekli olmayan bir endpoint’e gelen istekler doğrudan engellenebilir. Buna karşılık gerçek kullanıcıların veya uygulamanın kullandığı bir API endpoint’inde tüm trafiği engellemek yerine Rate Limiting ya da Managed Challenge tercih edilebilir.

4. HTTP Metotlarını ve İstek Koşullarını Dikkate Alın

Bazı saldırılar belirli HTTP metotları veya URL parametreleri üzerinden gerçekleştirilebilir. Cloudflare kurallarında GET, POST gibi HTTP metotları ve gerekli durumlarda belirli sorgu parametreleri koşul olarak kullanılabilir.

Örneğin, yalnızca belirli bir endpoint’e gönderilen ve beklenmeyen bir HTTP metodunu kullanan istekleri sınırlandırmak mümkündür. Ancak uygulamanın normal çalışma biçimini doğrulamadan HTTP metotlarını genel olarak engellemek, giriş, form gönderimi veya API işlemlerinin bozulmasına neden olabilir.

5. Kuralı Test Edin ve Güvenlik Olaylarını İzleyin

Kurallar etkinleştirildikten sonra Cloudflare güvenlik olaylarını takip ederek hangi isteklerin eşleştiğini kontrol edin.

  • Normal ziyaretçilerin web sitesine erişebildiğini doğrulayın.
  • API, giriş ve form işlemlerini test edin.
  • Engellenen isteklerin gerçekten şüpheli trafik olup olmadığını inceleyin.
  • Yanlış engellemeler oluşuyorsa kural koşullarını veya limit değerlerini yeniden düzenleyin.

Önemli Bilgilendirme

Belirli endpoint’lere yönelik kurallar, saldırı trafiğini hedefli şekilde azaltmaya yardımcı olur ancak her saldırıyı kesin olarak engellemez. Ayrıca Cloudflare önündeki koruma, yalnızca web sitesinin trafiği Cloudflare üzerinden geçtiğinde etkili olur. Sunucu IP adresine doğrudan erişim mümkünse kaynak sunucuya erişimin de uygun güvenlik önlemleriyle sınırlandırılması değerlendirilmelidir.

Cloudflare Free planında kullanılabilecek kural sayısı ve Rate Limiting seçenekleri plan kapsamına göre değişebilir. Kural oluşturmadan önce hesabınızdaki mevcut özellikleri kontrol edin.