İçeriğe geç

API Güvenliği: Rate Limit ve WAF Neyi Çözer, Neyi Çözmez?

Yazar: Yayın: Güncelleme: 5 dk okuma

API'ler neden ayrı bir güvenlik konusudur?

API, uygulamanın veri ve işlem kapısıdır; çoğu zaman tarayıcı arayüzünden daha az sınırlama içerir. Saldırgan bir formu doldurmaz, doğrudan uç noktayı çağırır ve parametreleri değiştirir. Bu yüzden web sitesi için işe yarayan "ziyaretçi insan mı?" sorusu API'lerde yetersiz kalır.

OWASP API Security Top 10 listesi bu riskleri sıralar. Başlıkları kısaca:

  • BOLA (nesne düzeyinde yetki ihlali): /orders/123 yerine /orders/124 isteyip başkasının verisini okumak.
  • Bozuk kimlik doğrulama: zayıf token üretimi, süresiz token, brute force'a açık giriş.
  • Sınırsız kaynak tüketimi: hız sınırı, boyut sınırı ve sayfalama sınırı olmayan uç noktalar.
  • Bozuk işlev düzeyinde yetki: normal kullanıcının yönetici uç noktasını çağırabilmesi.
  • SSRF, yanlış yapılandırma, envanter eksikliği: unutulmuş eski sürümlerin hâlâ açık olması.

WAF ve hız sınırı neyi yapar, neyi yapmaz?

Dengeli bir beklenti için ayırın:

TehditWAF / hız sınırıAsıl çözüm
SQL enjeksiyonu, XSS payload'ıYardım eder (imza ve normalleştirme)Parametreli sorgu, girdi doğrulama
Brute force, credential stuffingYardım eder (hız sınırı)Çok faktörlü doğrulama, hesap kilidi
Kaynak tüketimi, taramaYardım ederSayfalama sınırı, maliyetli sorgu sınırı
BOLA, işlev düzeyinde yetkiÇözmezHer istekte sahiplik ve rol denetimi
İş mantığı kötüye kullanımıKısmenUygulama kuralları

WAF, isteğin geçerli ama yetkisiz olduğunu bilemez. GET /orders/124 sözdizimi olarak temizdir; o siparişin bu kullanıcıya ait olmadığını yalnızca uygulama bilir. WAF'ın genel çalışması için WAF nedir rehberine bakın.

Hız sınırı nasıl tasarlanır?

Anahtarı seçin. IP tek başına kaba bir anahtardır: aynı ofis veya mobil operatör NAT'ı arkasındaki yüzlerce müşteri tek IP görünür. Kimlikli API'lerde token başına sınır daha adildir; IP sınırını ikinci katman olarak tutun.

Pencereyi seçin. Sabit pencere, dakikanın başında patlamaya izin verir. Kayan pencere daha düzgün sonuç verir.

Reddi iyi bildirin. Sınır aşılınca 429 Too Many Requests döndürün (RFC 6585) ve ne kadar bekleneceğini Retry-After başlığıyla söyleyin (RFC 9110). İyi istemciler bu değere göre geri çekilir; gövdesiz bir 429 ise yeniden deneme fırtınası doğurur.

Maliyete göre ağırlıklandırın. Arama uç noktası ile sağlık kontrolü aynı limiti paylaşmamalıdır.

Token kapsamları ve idempotency

Her token, yalnızca ihtiyaç duyduğu işlemi yapabilmelidir (en az yetki). Salt okuma token'ı ile site oluşturan token'ı ayırın; sızan bir token'ın zararı böylece sınırlı kalır. Token'ları süreli yapın ve düzenli döndürün.

Idempotency anahtarı, aynı isteğin ağ hatası sonrası tekrarında işlemin yinelenmesini önler. İstemci her mantıksal işlem için benzersiz bir değer gönderir, sunucu aynı değeri görünce ilk yanıtı geri verir. Ödeme ve kaynak oluşturma çağrılarında özellikle işe yarar.

Webhook ve mobil uygulamalar

Tarayıcıya yönelik doğrulama sayfaları (CAPTCHA, proof-of-work) JavaScript çalıştırmayan istemcilerde işlemez. Webhook gönderen bir ödeme sistemi, mobil uygulama veya sunucudan sunucuya çağrı bu sayfayı çözemez; engellenir. Çözüm, bu yolları ayrı ele almaktır: webhook'ları imza doğrulamasıyla kendi tarafınızda koruyun, yolu doğrulama sayfasından hariç tutun ve IP veya hız sınırıyla sınırlayın. Bot tarafının nasıl ele alındığını bot koruması rehberinde bulabilirsiniz.

Sık yapılan hatalar

  • Tek global limit. Giriş ve parola sıfırlama uç noktalarına, genel okuma uç noktalarından çok daha sıkı bir sınır gerekir.
  • Sınırı yalnızca kenarda tutmak. Proxy sınırı yanında uygulama içinde de kaynak başına denetim bırakın; proxy atlanırsa son savunma uygulamadır.
  • Token'ı URL'ye koymak. Sorgu dizesindeki token erişim günlüklerine, tarayıcı geçmişine ve referrer'a sızar. Başlık kullanın.
  • Sınırı bildirmemek. İstemci sınırı bilmiyorsa körlemesine yeniden dener; sınırı belgeleyin.

Hata yanıtları ve envanter

Ayrıntılı hata mesajları saldırgana yol gösterir: yığın izi, SQL hata metni veya dosya yolu bilgi sızdırır (CWE-209). API'nizde istemciye genel bir mesaj ve bir korelasyon kimliği, sunucu günlüğünde ayrıntı bırakın.

Envanter de güvenlik işidir. /v1 ile birlikte unutulmuş /v0 hâlâ yayında olabilir ve eski, yamasız bir kod yolunu açık tutar. Yayındaki her sürümü, her ortamı (staging dahil) ve her uç noktayı listeleyin; kullanılmayanı kapatın. Staging'i kimlik katmanının arkasına almak için Zero Trust rehberine bakın.

Nexren Shield bunu nasıl ele alır

Trafik profilleri. IP başına saniyede istek sınırı: api 20, webhook 5, realtime 30. Saldırı veya azaltma sırasında bu değerler yarıya iner.

Yol bazlı hız sınırı. Yol başına IP sınırı konabilir; aşıldığında 429 ve Retry-After döner.

REST API v1. OpenAPI 3.1 ile tanımlıdır, kapsamlı token kullanır. Token'ı Authorization: Bearer <token> ya da X-API-Key başlığıyla gönderirsiniz. Token başına varsayılan sınır dakikada 120 istektir (kayan pencere); IP başına 300 sınırı da vardır. Idempotency-Key ile gönderilen isteklerin yanıtı 24 saat saklanır. Temel adres shield.nexren.info/api/v1, belgeler apidocs.nexren.info adresindedir.

MCP sunucusu. shield.nexren.info/mcp adresinde JSON-RPC 2.0 üzerinden altı araç sunar: site listeleme, site getirme, DNS doğrulamalı site oluşturma, önbellek temizleme, WAF yapılandırmasını okuma ve olay sorgulama. Yetkiler panel modül izinleriyle aynıdır.

Token'ınızın kimliğini ve sınırını görmek için:

curl -s https://shield.nexren.info/api/v1/whoami \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Uç nokta token bilgisini, verilen kapsamları, istemci IP'sini ve hız sınırı durumunu döndürür. YOUR_API_TOKEN yerine kendi token'ınızı koyun.

Sınırlar: WAF 600'den fazla imza kuralı kullanır ve regex tabanlıdır; yanlış pozitif oranı ölçülmemiştir. BOLA gibi yetki hatalarını Nexren Shield çözmez. Ürünün genel yapısı için teknoloji sayfasına bakın. Saldırı altındaki davranış için Under Attack modu ne zaman rehberini okuyun.

Kontrol listesi

  1. Her uç nokta sahiplik ve rol denetimi yapıyor mu? (BOLA)
  2. Token'lar kapsamlı, süreli ve döndürülebilir mi?
  3. Hız sınırı token ve IP için ayrı ayrı tanımlı mı?
  4. 429 yanıtları Retry-After içeriyor mu?
  5. Webhook ve mobil yolları doğrulama sayfasından hariç tutuldu mu, imza doğrulaması var mı?
  6. Eski API sürümleri envanterde ve kapalı mı?

Kaynaklar

İlgili ürün sayfaları:Teknoloji

Sık sorulan sorular

WAF bir API'deki BOLA açığını kapatır mı?

Hayır. BOLA'da istek tamamen geçerlidir; hata, uygulamanın nesne sahipliğini denetlememesidir. Bu, uygulama kodunda düzeltilir.

Hız sınırını IP'ye mi token'a mı bağlamalıyım?

Kimlikli API'lerde token'a, kimliksiz uç noktalarda IP'ye bağlayın. Ortak çıkış IP'si olan müşterileri tek IP sınırı haksız yere keser; token sınırı bunu önler.

Mobil uygulamam CAPTCHA çözemiyor, ne yapmalıyım?

Mobil uygulama ve sunucudan sunucuya çağrılar tarayıcı gibi bir doğrulama sayfasını çözemez. API yollarını hariç tutun veya api trafik profilini kullanın; koruma için token ve hız sınırına dayanın.

Nexren Shield API'sinde kimlik doğrulama nasıl yapılır?

Kapsamlı bir API token'ını Authorization: Bearer başlığıyla ya da X-API-Key başlığıyla gönderirsiniz. Belgeler apidocs.nexren.info adresindedir.

Idempotency-Key ne işe yarar?

Aynı isteği ağ hatası sonrası tekrar gönderirseniz işlemin iki kez yapılmasını önler. Nexren Shield API v1 yanıtları Idempotency-Key ile 24 saat tutar.

İlgili rehberler

Nexren Shield’i yakından inceleyin

Paketleri ve fiyatları inceleyin; hesaplar ekibimiz tarafından açılır, iletişim formundan hesap talebi gönderebilirsiniz.