Hız Sınırlama (Rate Limiting)
Hız sınırlama, belirli bir anahtar (IP, kullanıcı, API anahtarı) için birim zamanda kabul edilecek istek sayısını sınırlayarak kaba kuvvet, kaynak tüketimi ve API kötüye kullanımını azaltır. Token-bucket ve sliding-window gibi algoritmalarla, kısa süreli meşru yükselmelere (burst) izin verirken sürekli aşırı istekleri throttle eder. Doğru tasarlanmış limit, meşru kullanıcıyı hiç fark ettirmeden yalnızca istismarı hedefler.
Bu hizmet hangi sorunu çözer?
Hız sınırı olmayan uç noktalar sınırsız denemeye açıktır: giriş sayfası kaba kuvvetle bombardıman edilir, arama/rapor gibi pahalı uç noktalar döngü içinde çağrılarak sunucu tüketilir, API anahtarları paylaşılıp kötüye kullanılır. Tek bir kötü niyetli veya kusurlu istemci, tüm servisin performansını düşürebilir. Öte yandan yanlış tasarlanmış bir limit — çok düşük eşik, yanlış anahtar seçimi (ör. NAT arkasındaki tüm kullanıcıları tek IP sayma) — meşru trafiği 429 hatalarıyla bloklar ve kullanıcı deneyimini bozar.
- Giriş/parola sıfırlama uç noktalarına sınırsız kaba kuvvet denemeleri
- Pahalı uç noktaların (arama, rapor, dışa aktarma) döngüde çağrılıp kaynağı tüketmesi
- API anahtarlarının kötüye kullanımı ve maliyet/kota aşımı
- Tek bir kusurlu istemcinin tüm servisi yavaşlatması
- Yanlış yapılandırılmış limitin meşru kullanıcıları 429 ile engellemesi
Bu sorunu görmezden gelmenin riski
Neyi izler ve koruruz?
Limit tasarımı
- Uç nokta bazlı limit: giriş, arama, ödeme, API için ayrı eşikler
- Anahtar seçimi: IP, kullanıcı, oturum, API anahtarı veya bunların birleşimi
- Algoritma seçimi: token-bucket, sliding-window, sabit pencere
- Burst toleransı ve yenilenme hızının (refill) kalibrasyonu
Uygulama ve gözlem
- Aşım yanıtı: 429 + Retry-After başlığı ve tutarlı hata gövdesi
- Kademeli yanıt: uyar → yavaşlat (throttle) → geçici blok
- Meşru yüksek hacimli istemciler için kota/istisna yönetimi
- Limit isabet oranları ve 429 metriklerinin izlenmesi
Ele aldığımız teknik alanlar
Nasıl çalışırız?
Tipik olarak neler tespit ederiz?
Aşağıdakiler illüstratif örneklerdir; gerçek müşteri verisi değildir.
Giriş uç noktasında hız sınırı yok (örnek bulgu)
Parola tahmin/credential stuffing denemeleri sınırsız yapılabiliyor, hesap devralma riskini ciddi biçimde artırıyordu.
ÖneriGiriş ve parola sıfırlama uç noktalarına IP+kullanıcı bazlı sıkı limit uygula, aşımda kademeli gecikme ve challenge ekle.
Sadece IP bazlı limit meşru kullanıcıları blokluyor (örnek bulgu)
Kurumsal NAT arkasındaki tüm çalışanlar tek IP sayıldığı için ortak limit tükeniyor, meşru kullanıcılar 429 alıyordu.
ÖneriAnahtarı kullanıcı/oturum bazlı katmanla, IP'yi yalnızca kimlik doğrulanmamış trafikte kullan.
Pahalı rapor uç noktası korumasız (örnek bulgu)
Ağır bir dışa-aktarma uç noktası döngüde çağrılabiliyor, tek istemci veritabanını doyuruyordu.
ÖneriPahalı uç noktaya düşük eşikli token-bucket limiti ve eşzamanlılık sınırı uygula, uzun işlemleri kuyruğa al.
429 yanıtında Retry-After eksik (örnek bulgu)
İstemciler ne zaman tekrar deneyeceğini bilmeden agresif retry yapıyor, gereksiz yük ve kötü deneyim oluşuyordu.
ÖneriStandart 429 yanıtına Retry-After ve hız-limiti başlıklarını ekle, istemci geri-çekilme davranışını yönlendir.
Ne teslim alırsınız, kimler için?
Ne teslim alırsınız?
- Uç nokta bazlı hız sınırlama politikası ve eşik tablosu
- Anahtar/algoritma seçim gerekçeleri ve yapılandırması
- Standart 429/Retry-After yanıt yapılandırması
- Meşru yüksek hacimli istemciler için kota/istisna listesi
- Limit metrikleri panosu ve 429 anomali uyarıları
Kimler için?
- Giriş/kayıt/parola sıfırlama akışı olan tüm platformlar
- API sağlayıcıları ve kota/tier yönetimi gereken ürünler
- Arama, rapor, dışa-aktarma gibi pahalı uç noktaları olan siteler
- Tek istemci kötüye kullanımından etkilenen servisler
Bu hizmeti ne zaman düşünmelisiniz?
- Giriş uç noktanız kaba kuvvet denemeleri alıyorsa
- Belirli uç noktalar tek istemci yüzünden yavaşlıyorsa
- API anahtarları kötüye kullanılıyor veya kota aşılıyorsa
- Meşru kullanıcılar açıklanamayan 429 hataları bildiriyorsa
Hız Sınırlama ile DDoS Koruması farkı
| Hız Sınırlama | DDoS Koruması | |
|---|---|---|
| Amaç | İstek hızını anahtar bazında dengelemek | Büyük ölçekli saldırı selini eritmek |
| Ölçek | İstemci/anahtar düzeyinde adil kullanım | Ağ/edge düzeyinde hacimsel azaltma |
| Tipik tehdit | Kaba kuvvet, API kötüye kullanımı | Dağıtık flood, botnet saldırısı |
| Granülerlik | Uç nokta + anahtar hassasiyeti | Trafik profili ve kapasite |
| Birlikte mi? | Evet — L7 saldırılarında ilk fren | Evet — hacimsel katmanda tamamlayıcı |
Sıkça Sorulan Sorular
Token-bucket algoritması nedir?
Hız sınırı meşru kullanıcıyı engeller mi?
IP'ye göre mi, kullanıcıya göre mi limitlemeli?
429 yanıtı ne anlama gelir?
Hız sınırlama DDoS korumasının yerini tutar mı?
Farklı uç noktalara farklı limitler koyabilir miyim?
API anahtarı başına kota nasıl yönetilir?
Limitin doğru çalıştığını nasıl anlarım?
İlgili hizmetler, araçlar ve rehberler
Hız Sınırlama (Rate Limiting) için başlayalım
Kapsamı netleştirelim, önceliklerinizi belirleyelim ve size özel, şeffaf bir güvenlik yol haritası çıkaralım — abartılı vaat değil, ölçülebilir risk azaltma.