İçeriğe geç

API Uç Noktası Koruma

API endpoint’leri credential stuffing, rate limit bypass ve agresif scraping gibi saldırılara özellikle açıktır.

# POST /login için sıkı rate limit
IF http.request.method == POST
AND http.request.base_uri == /login
THEN ratelimit 20/60s
# Hosting/datacenter IP'lerinden API isteklerine CAPTCHA
IF http.request.base_uri has_prefix /api
AND waf.client.ip_type == hosting
THEN captcha
# 401 yanıtlarında failban sayacını artır (credential stuffing)
IF http.response.status == 401
THEN failban

Konsolda bu seçimlerle:

  • Login’e rate limit — Alan HTTP Metodu · Operatör eşittir · Değer POST VE Alan Path (sorgusuz) · Operatör eşittir · Değer /login → Aksiyon Rate Limit (20 istek / 60 sn)
  • Hosting IP’lerine API’de CAPTCHA — Alan Path (sorgusuz) · Operatör ile başlar · Değer /api VE Alan IP Altyapı Tipi · Operatör eşittir · Değer hosting → Aksiyon CAPTCHA
  • 401’leri failban’e say — Alan Origin Yanıt Kodu · Operatör eşittir · Değer 401 → Aksiyon Otomatik Engelleme

/login endpoint’i, credential stuffing saldırılarının birincil hedefidir. 20 istek/60 saniye sınırı, meşru kullanıcıların normal davranışını karşılarken otomatize kaba kuvvet denemelerini etkin biçimde durdurur.

Veri merkezi ve hosting IP’leri gerçek tarayıcı kullanan son kullanıcılardan nadiren gelir. API uç noktalarına bu kaynaklardan gelen istekleri CAPTCHA’ya yönlendirmek, meşru B2B partner sistemlerini yanlışlıkla engellemeden saldırı yüzeyini daraltır.

failban, her 401 Unauthorized yanıtında bir sayaç artırır. Eşiği aşan IP’ler otomatik olarak engellenir. Bu mekanizma, kısmi başarı elde eden credential stuffing araçlarına karşı özellikle etkilidir çünkü hatalar birikir ve tetikleme kaçınılmaz hale gelir.

# API anahtarı olmayan istekleri engelle
IF http.request.base_uri has_prefix /api
AND http.header not_contains Authorization=
THEN block
# Çok hızlı ardışık istek gönderen botları yakala
IF http.request.base_uri has_prefix /api
AND waf.bot_score ge 70
THEN captcha

Konsolda bu seçimlerle:

  • API anahtarı olmayanı engelle — Alan Path (sorgusuz) · Operatör ile başlar · Değer /api VE Alan Header · Operatör içermez · Değer Authorization= → Aksiyon Engelle
  • Yüksek bot skorlu API’ye CAPTCHA — Alan Path (sorgusuz) · Operatör ile başlar · Değer /api VE Alan Bot Skoru (0–100) · Operatör büyük eşittir · Değer 70 → Aksiyon CAPTCHA

Authorization başlığı içermeyen API isteklerini doğrudan engellemek, kimlik doğrulama katmanınıza ulaşmadan önce kötüye kullanımın büyük bölümünü keser. Bunu yalnızca tüm istemcilerinizin Authorization başlığı gönderdiğini doğruladıktan sonra etkinleştirin.

Yüksek bot skoru olan API trafiği, büyük ihtimalle scraper veya otomatize test aracıdır. Bu katmanı temel rate limit kurallarıyla birlikte kullanmak saldırıya karşı derinliğe savunma sağlar.

  • Güvenilir partner IP’leri için Rate Limit Muaf aksiyonunu kullanın
  • Otomatik Engelleme aksiyonunu Origin Yanıt Kodu == 401 koşuluyla birleştirmek credential stuffing’e karşı çok etkilidir
  • API yanıt sürelerini etkilememek için rate limit değerlerini prodüksiyonda kademeli artırın