API Uç Noktası Koruma
API endpoint’leri credential stuffing, rate limit bypass ve agresif scraping gibi saldırılara özellikle açıktır.
Temel Kurallar
Bölüm başlığı “Temel Kurallar”# POST /login için sıkı rate limitIF http.request.method == POSTAND http.request.base_uri == /loginTHEN ratelimit 20/60s
# Hosting/datacenter IP'lerinden API isteklerine CAPTCHAIF http.request.base_uri has_prefix /apiAND waf.client.ip_type == hostingTHEN captcha
# 401 yanıtlarında failban sayacını artır (credential stuffing)IF http.response.status == 401THEN failbanKonsolda bu seçimlerle:
- Login’e rate limit — Alan HTTP Metodu · Operatör eşittir · Değer
POSTVE 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
/apiVE Alan IP Altyapı Tipi · Operatör eşittir · Değerhosting→ 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.
Gelişmiş Varyant
Bölüm başlığı “Gelişmiş Varyant”# API anahtarı olmayan istekleri engelleIF http.request.base_uri has_prefix /apiAND http.header not_contains Authorization=THEN block
# Çok hızlı ardışık istek gönderen botları yakalaIF http.request.base_uri has_prefix /apiAND waf.bot_score ge 70THEN captchaKonsolda bu seçimlerle:
- API anahtarı olmayanı engelle — Alan Path (sorgusuz) · Operatör ile başlar · Değer
/apiVE Alan Header · Operatör içermez · DeğerAuthorization=→ Aksiyon Engelle - Yüksek bot skorlu API’ye CAPTCHA — Alan Path (sorgusuz) · Operatör ile başlar · Değer
/apiVE Alan Bot Skoru (0–100) · Operatör büyük eşittir · Değer70→ 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.
İpuçları
Bölüm başlığı “İpuç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