Hız sınırlama nedir?
Hız sınırlama (rate limiting), bir istemcinin belirli bir sürede yapabileceği istek sayısına üst sınır koyan korumadır. Sınır aşıldığında ek istekler yavaşlatılır veya reddedilir. Böylece kaba kuvvet denemeleri, kötüye kullanım ve aşırı yük sunucuya zarar vermeden önce kontrol altına alınır.
Sınır genellikle IP adresi, kullanıcı hesabı ya da API anahtarı bazında tutulur. Meşru kullanıcıların rahatça çalışmasına izin verirken otomatik ve kötü niyetli trafiğin hızını keser.
Nasıl çalışır?
Sistem her istemci için bir sayaç tutar. Pencere içinde sayaç sınıra ulaştığında yeni istekler genellikle 429 Too Many Requests durum koduyla yanıtlanır. Sınırı hesaplamak için birkaç yaygın algoritma kullanılır:
- Sabit pencere: her dakikada en fazla N istek gibi basit sayaç.
- Kayan pencere: zaman içinde kayan daha adil bir hesap.
- Token bucket: ani artışlara kısa süre izin veren, ortalamayı sınırlayan yöntem.
- Leaky bucket: istekleri sabit bir hızla işler.
Yanıt başlığında Retry-After gibi bilgiler vererek istemciye ne kadar beklemesi gerektiğini bildirmek iyi bir uygulamadır.
Sunucu ve hosting ortamında
Nginx’te limit_req ve limit_conn modülleri, Apache’de mod_evasive veya benzeri modüller istek hızını sınırlamak için kullanılır. WordPress sitelerinde wp-login.php ve xmlrpc.php en çok hedeflenen uç noktalardır; buralara özel sınır koymak kaba kuvvet saldırılarını ciddi biçimde azaltır.
Fail2ban gibi araçlar günlüklerde tekrarlayan hataları görünce ilgili IP’yi güvenlik duvarında geçici olarak engeller. cPanel, Plesk ve DirectAdmin sunucularında ise ek olarak sunucu tabanlı güvenlik duvarları (örneğin CSF/LFD) giriş denemelerini sınırlayabilir. CDN ve WAF hizmetleri de uç noktada hız sınırı kuralları sunar.
Nasıl uygulanır?
- Giriş, parola sıfırlama ve arama gibi hassas uç noktalara daha sıkı sınır koyun.
- Sınırı yalnızca IP’ye değil, mümkünse hesap veya API anahtarına göre de uygulayın.
- Aşıldığında 429 kodu ve Retry-After başlığı döndürün.
- Sınırlamaları günlüğe kaydedip izleyin; yanlış engellemeleri ayıklayın.
- Ters vekil veya CDN arkasındaysanız gerçek istemci IP’sini doğru okuduğunuzdan emin olun.
- Meşru botlar (arama motorları, izleme servisleri) için gerekirse izin listesi tanımlayın.
Sık yapılan hatalar
- Sınırı çok düşük koyup gerçek kullanıcıları engellemek.
- Ters vekil arkasında tüm istekleri aynı IP gibi görüp herkesi birlikte engellemek.
- Yalnızca giriş sayfasını korumak, API uç noktalarını unutmak.
- Sınırları hiç test etmeden canlıya almak.
Sık sorulan sorular
Hız sınırlama ne işe yarar?
Kaba kuvvet denemelerini, scraping’i ve aşırı yüklenmeyi sınırlar. Sunucu kaynaklarını korur ve servisin herkes için kullanılabilir kalmasına yardımcı olur.
429 hatası ne anlamına gelir?
429 Too Many Requests, kısa sürede çok fazla istek gönderildiğini ve sınıra takıldığınızı belirtir. Bir süre bekleyip tekrar denemek genellikle yeterlidir.
Hız sınırlama DDoS saldırısını durdurur mu?
Tek başına tam çözüm değildir. Küçük ve tek kaynaklı saldırıları hafifletir, ancak çok sayıda IP’den gelen dağıtık saldırılar için CDN, WAF ve ağ düzeyinde koruma gerekir.
Bu terimin geçtiği rehberler
- CDN veya ters vekil arkasında gerçek istemci IP adresini alma (Nginx ve Apache)CDN veya ters vekil arkasında Nginx ve Apache günlüklerinde, PHP ve güvenlik araçlarında gerçek istemci IP adresini görmek için realip ve remoteip modüllerini güvenli biçimde yapılandırın.
- Nginx ile ters vekil (reverse proxy) kurulumuNginx ile ters vekil (reverse proxy) kurup arka uç uygulamayı gizleyin; proxy başlıkları, WebSocket, TLS ve hız sınırlamayı adım adım yapılandırın.
- Oyun sunucusunda DDoS saldırılarını hafifletme rehberiOyun sunucunuza yönelik DDoS saldırılarının etkisini azaltmak için çekirdek ayarları, hız sınırlama kuralları, izleme ve sağlayıcı tarafı korumayı adım adım anlatan rehber.
- WordPress giriş (brute force) saldırılarını engellemeWordPress giriş sayfasına yönelik brute force saldırılarını Fail2Ban, hız sınırlama, xmlrpc kapatma ve iki adımlı doğrulama ile engellemeyi adım adım öğrenin.
İlgili terimler
- Honeypot (bal küpü)Saldırganı çekmek ve davranışını izlemek için kurulan sahte hedef.
- HSTSTarayıcıya siteye yalnızca HTTPS ile bağlanmasını söyleyen başlık.
- IDS / IPSSaldırı tespit (IDS) ve önleme (IPS) sistemleri.
- Let’s EncryptÜcretsiz ve otomatik TLS sertifikası veren sertifika otoritesi.
- ModSecurityApache, nginx ve LiteSpeed ile çalışan açık kaynaklı WAF motoru.
- Olay müdahale (incident response)Bir güvenlik ihlalini tespit etme, sınırlama, ortadan kaldırma ve ondan öğrenme sürecini yöneten planlı yaklaşım.