Hızlı cevap: Rate limiting (hız sınırlama) ve bot yönetimi, bir uygulamaya ya da API'ye gelen istekleri sınırlayıp otomatik kötüye kullanımı engelleyen savunmalardır. Hız sınırı olmayan bir uç nokta, saldırganın kaba kuvvetle parola denemesine, hesap oluşturup kötüye kullanmasına, veriyi otomatik toplamasına ve hizmeti aşırı istekle çökertmesine açık kalır. Doğru yaklaşım, basit bir istek sayısı sınırıyla yetinmemek; isteğin maliyetine, kaynağına ve davranışına göre akıllı sınırlar koymak, meşru kullanıcıyı engellemeden botu ayırt etmektir. Kök çözüm, kritik uçlara hız sınırı uygulamak, olağan dışı davranışı tespit etmek ve kaba kuvvet ile otomasyonu, meşru trafiği bozmadan yavaşlatıp durdurmaktır.

Bir uygulamanın açık bıraktığı en sessiz risklerden biri, hız sınırının olmamasıdır. Tek bir uç nokta, saatte binlerce isteğe yanıt veriyorsa, saldırgan bunu parola denemek, veri toplamak ya da hizmeti yormak için kullanır. Bu yazı, rate limiting ve bot yönetiminin neden gerekli olduğunu ve doğru kurulumu anlatır.

Hız sınırı olmayınca ne olur

Hız sınırı, bir kaynağın ne sıklıkta çağrılabileceğini belirler. Olmadığında, saldırgan otomasyonun tüm gücünü kullanır:

  • Kaba kuvvet. Parola ve kod, sınırsız denemeyle kırılmaya çalışılır.
  • Kimlik doldurma. Sızan parolalar, credential stuffing ile toplu denenir.
  • Veri toplama. İçerik ve fiyat, otomatik istekle kazınır.
  • Hizmet dışı bırakma. Uç nokta aşırı istekle yorulur, bu DoS saldırısının uygulama katmanındaki halidir.

Basit sayı sınırı neden yetmez

Yaklaşım Sınır Sorun
Sabit istek sayısı Dakikada X istek Dağıtık botu ve pahalı sorguyu kaçırır
Yalnız IP bazlı IP başına sınır IP değiştiren saldırgan atlatır
Yalnız giriş uçları Sadece login korumalı Diğer pahalı uçlar açık kalır
Maliyet duyarlı Sorgu maliyetine göre Doğru yaklaşım, daha karmaşık

Basit bir istek sayısı sınırı, dağıtık ve akıllı botlara karşı zayıftır. Tek bir pahalı sorgu, çok sayıda basit istekten daha çok zarar verebilir. Bu yüzden sınır, isteğin sayısına değil maliyetine ve davranışına duyarlı olmalıdır. Bu, GraphQL güvenliğindeki karmaşıklık sınırıyla aynı mantığa dayanır.

Bot yönetimi, meşru ile kötüyü ayırmak

Her otomatik istek kötü değildir; arama motorları ve entegrasyonlar da bottur. Zorluk, meşru otomasyonu engellemeden kötü niyetli olanı ayırt etmektir. Bu, davranışa bakmayı gerektirir: olağan dışı sıklık, olağan dışı desen ve insan olmayan etkileşim işaretleri. Amaç, meşru kullanıcıyı ve iş ortağını bozmadan, kaba kuvvet ve kazımayı yavaşlatıp durdurmaktır.

Doğru savunma

1. Kritik uçlara hız sınırı

Giriş, parola sıfırlama, kod doğrulama ve pahalı sorgu uçlarına hız sınırı uygulanmalıdır. Yalnız giriş değil, tüm hassas ve pahalı uçlar korunmalıdır.

2. Maliyet ve davranış duyarlı sınır

Sınır, isteğin sayısına değil, maliyetine ve kaynağın davranışına göre belirlenmelidir. Pahalı bir sorgu, daha düşük bir eşikle sınırlanmalıdır.

3. Kaynak çeşitliliğine dayan

Yalnız IP bazlı sınır, IP değiştiren saldırgana karşı zayıftır. Kimlik, oturum ve davranış birlikte değerlendirilmelidir.

4. Meşru trafiği koru

Savunma, meşru kullanıcıyı ve iş ortağını engellememelidir. Kademeli yavaşlatma ve doğrulama, ani engellemeden daha dengeli bir yaklaşımdır. Bu, API güvenliğinin bir parçasıdır.

KAOS ile rate limiting testi

DSET'in yerel yapay zekâ güvenlik motoru KAOS, uygulamanızın ve API'nizin hız sınırı ve bot koruması durumunu kanıt temelli test eder. Kritik uçların hız sınırı olup olmadığını güvenli biçimde ölçer (flood değil, kontrollü istek), pahalı sorguların korunup korunmadığını sınar ve kaba kuvvet yüzeyini tespit eder. Ölçümler tahribatsız yapılır; hizmeti gerçekten çökertmez, yalnızca korumanın varlığını kanıtlar. Yalnızca gerçekten açık kalan uçları, yanlış pozitif gürültüsü olmadan raporlar.

Sık sorulan sorular

IP başına sınır koymak yeterli mi? Tek başına zayıftır. IP değiştirebilen ya da çok sayıda IP kullanan bir saldırgan, IP bazlı sınırı atlatır. Kimlik, oturum ve davranışın birlikte değerlendirildiği, maliyet duyarlı bir sınır daha etkilidir.

Sadece giriş sayfasını korusam olmaz mı? Olmaz. Giriş önemlidir ama parola sıfırlama, kod doğrulama ve pahalı sorgu uçları da korunmalıdır. Saldırgan, korumasız bırakılan diğer uçları kullanır. Tüm hassas ve pahalı uçlar sınırlanmalıdır.

Bot yönetimi meşru trafiği engeller mi? İyi kurulmuş bir bot yönetimi engellemez. Amaç, meşru otomasyonu bozmadan kötü niyetli olanı ayırt etmektir. Davranışa dayalı, kademeli bir yaklaşım, meşru kullanıcıyı ve iş ortağını korur.

Kaynaklar

Uygulamanızın ve API'nizin hız sınırı ve bot korumasını tahribatsız ve çalışan bir kanıtla test ettirmek için DSET ile iletişime geçin. Ankara Hacettepe Teknokent laboratuvarımızdan sızma testi ve güvenli kod denetimi sağlıyoruz.