GH GambleHub

API güvenliği ve istek filtreleme

1) Neden ihtiyacınız var

API - dış ve iç platform sınırı. İsteklerin doğrulanması, yetkilendirilmesi, doğrulanması veya normalleştirilmesindeki herhangi bir hata, güvenlik açıklarının kullanılmasına (BOLA/IDOR, enjeksiyon, SSRF, büyük numaralandırma, kaynak tükenmesi) dönüşür. Amaç: Ölçülebilir SLO'lar ve risk kontrolü ile çevreden iş kurallarına kadar derinlemesine savunma oluşturun.

2) API Envanteri ve Sınıflandırması

API dizini: tüm hizmetlerin/uç noktaların, sahiplerin, sürümlerin, müşteri türlerinin (web, mobil, ortaklar), modun (genel/ortak/dahili), PII/finansal verilerin kaydı.
Kritiklik: Yüksek (finansal işlemler/yetkilendirme), Orta (profil okuma), Düşük (genel dizinler).
Saldırı yüzeyi: REST, GraphQL, gRPC, WebSocket, webhooks.
Durum: prod/evreleme/deneysel, amortisman politikası, token/anahtar ömrü.
Gölge/terk edilmiş API: ingrest günlükleri, eBPF/Service Mesh telemetrisi, bir dizin ile karşılaştırma yoluyla algılama.

3) Tehdit modeli (kısa)

Kimlik: belirteç kaçırma, oturum taahhüt, MitM, yeniden oynatma.
Yetkilendirme: BOLA/IDOR, yatay/dikey yükseltme.
Giriş: Enjeksiyonlar (SQL/NoSQL/LDAP), şablon/serileştirme, yol geçişi, başlıklar.
Trafik: DDoS/L7 seller, yavaş istekler, fantom retrays.
Entegrasyonlar: Güvensiz webhook'lar, URL parametreleri ile SSRF, dosya/tarama indirmeleri.
Mantık: bonusların kötüye kullanılması, yarış, idempotansın tutarsızlığı.

4) Temel güvenlik standardı (minimum)

1. TLS 1. 2 + her yerde; HSTS; Zayıf şifreler devre dışı bırakılır.
2. Kimlik doğrulama: İstemciler için OAuth2/OIDC, mTLS/veya HMAC - servisten servise.
3. Yetkilendirme: Merkezi PDP (RBAC/ABAC), Nesne Seviyesi Denetimi (BOLA).
4. Doğrulama: katı şema (OpenAPI/JSON Schema/Protobuf), ekstra alanlarla başarısızlık.
5. Limitler: oran/kotalar + patlama, istemci başına/IP başına/belirteç başına.
6. Yazma işlemlerinde idempotans, tekrarlara/yarışlara karşı koruma.
7. WAF/ağ geçidi filtreleme: yol/başlık normalleştirme, reddetme listeleri, payload-anti-patterns bloğu.
8. Sırlar: KMS/Vault, anahtar/sertifika rotasyonu, sızıntı kontrolü.
9. Gözlemlenebilirlik: izleme, güvenlik denetim günlükleri (kim/ne/ne zaman/sonuç), uyarılar.
10. Prosedürler: Playbook olayları, test vakaları ve düzenli pentest/DAST.

5) Kimlik doğrulama ve belirteç yönetimi

OAuth2/OIDC: kısa ömürlü erişim belirteçleri, kesinlikle OIDC'ye göre yenilenir; Audience/issuer/exp ağ geçidinde kontrol edilir.
JWT: RS256/ES256; Minimum istiridye seti; 'nbf/exp/aud' gereklidir; PII depolamanın yasaklanması. JWKS üzerinden anahtar rotasyonu.
DPoP/PoP: Tekrarlama/kaçırma riskini azaltmak için belirteci istemci anahtarına bağlayın.
Dahili sistemler ve güvenilir ortaklar için mTLS (CN/SAN kalifikasyonu, CRL/OCSP).
HMAC (signatures): deterministik kanonikleştirme (method + path + timestamp + nonce + body-hash); Geçerli zaman penceresi (30'lu ±).
Tarayıcı oturumları: SameSite = katı/gevşek, HttpOnly, Güvenli; CSRF koruması (çift gönderme/durum belirteçleri).
İstemci depolama: Mobil - güvenli depolama (Keychain/Keystore), hata ayıklama koruması, sabitleme sertifikaları.

6) Yetkilendirme (BOLA-first)

Nesne düzeyi: Her işlem belirli bir kaynağın hakkını denetler (kaynak sahibi/kapsam/nitelikler).

RBAC/ABAC: roller + nitelikler (ülke, segment, risk limitleri, KYC seviyesi)

Politikalar: varsayılan olarak reddet; Açıkça izin ver; Negatif vakalar için poliçe sürüm testleri.
Karar önbelleği: Değişen rollerde/segmentlerde adaptif TTL + engellilik.

7) İsteklerin filtrelenmesi ve normalleştirilmesi (ağ geçidi/WAF)

Normalleştirme: tekrarlanan eğik çizgilerin sıkıştırılması, yasaklama '../', bir kez kod çözme, boşlukları kesme/sıfır bayt.
Üstbilgiler: allow-list ('Host', 'Content-Type', 'Accept', 'Authorization', 'Date', 'Idempotency-Key', gerekli izleme başlıkları).
Yöntemler: Bir vücut olmadan 'GET/HEAD'; 'POST/PUT/PATCH' - 'application/json' türünde veya kesinlikle izin verilir.
Boyutlar: max-body, max-headers, max-path; Erken reddetme 413/431.
Dosyalar: MIME doğrulayıcı, antivirüs/sandbox, aktif içerik yasağı, görüntü geri dönüşümü/sterilizasyon.
URL yönlendirir/fetchi: SSRF bloğu (özel aralıkları/meta veri IP'sini reddeder, şema yalnızca 'https', izin verilen liste etki alanları).
SQL/NoSQL kalıpları: WAF kural setleri + sorguların sunucu parametreleştirilmesi yoluyla enjeksiyon imzaları.

Örnek Başlık İlkesi (Sözde Format)


deny_headers: ["X-Forwarded-Proto","X-Original-URL","Proxy-Connection","Destination"]
require_headers: ["Authorization" (для protected), "Content-Type" (для write)]
strip_duplicates: true max_header_count: 32 max_header_size: 16KB

8) Sınırlar, kotalar ve antibot koruması

Hız sınırlaması: token-bucket/leaky-bucket; Seviyeler - IP başına, API anahtarı başına, kullanıcı başına, org başına.
Kotalar: Günlük/aylık, yazma/kapsamlı yöntemler için ayrı.
Uyarlanabilirlik: Anomaliler altında dinamik sıkma (ani patlama/kimlik bilgisi doldurma).
Yavaş loris/yavaş POST: okuma/canlı tutma zaman aşımları, eşzamanlı bağlantı kısıtlaması.
Antibot: cihaz-parmak izi, davranışsal işaretler, artan risk için iş kanıtı/captcha, torus/proxy ağlarının listesi.
IP kontrolü: geo/ASN filtreleri, "kirli" alt ağların listelerini reddetmek, ortaklar/yönetici panelleri için listelere izin vermek.

9) Giriş verilerinin ve devrelerinin doğrulanması

Fail-closed: Şemada başarısız olan her şey 400'dür. Ekstra alanlar - reddet.
Türler/aralıklar: sayılar, tarihler (UTC/ISO-8601), enum değerleri, çizgi uzunlukları, regexps.
JSON kalitesi: maksimum yuvalama, büyük dizilerin/anahtarların yasaklanması, kanonik düzen (isteğe bağlı).
İş doğrulama: 'Idempotency-Key'e göre idempotency; Dolandırıcılıkla mücadele kuralları (işlem sıklığı sınırları, miktar sınırları).
GraphQL: derinlik/karmaşıklık sınırları, izin verilen sorgular, alan başına yetkilendirme.
gRPC: sıkı Protobuf şemaları, zorunlu alanlar, mesaj boyutu sınırları.

10) Webhook'lar ve harici aramalar

İmzalar: Zaman damgalı/nonce HMAC; İşlemeden önce doğrulama; Pencere + - 5 dk.

Teslimat: Üstel duraklama ve jitter ile Retrai; max-girişimleri; Olay kimliği veri tekilleştirme

Satıcı IP izin listesi ayrı alt alan/yol; minimal hosting yığını.
Cevaplar: 2xx sadece başarılı bir dahili kayıttan sonra; Aksi takdirde açık kodlu 4xx/5xx.
Giden SSRF kontrolü: geri çağrılan URL - allow-list olduğunda, özel adresleri reddedin.

11) Şifreleme ve gizli yönetim

Kanalda: TLS 1. 2+/1. 3, sabitleme, sıkı şifre politikası.
Tek başına: DB/nesne depolama şifrelemesi, PII/finansal veriler için ayrı anahtarlar.
KMS/Vault: sırların merkezi depolanması, kısa TTL, otomatik rotasyon.
Anahtarlar ve sertifikalar: ortamlar için ayrı; Konuların denetlenmesi; kütüklere çıkış yasağı.
Token-introspection: çevrimdışı iptal listeleri, kısa 'exp'.

12) Gözlemlenebilirlik, denetim ve yanıt

Güvenlik günlükleri: kimlik doğrulama girişimleri/başarıları, yetkilendirme hataları, hız sınırı olayları, rol/sınır değişiklikleri.
İzleme: Korelasyon-ID uçtan uca; Harici çağrı izleme.
Metrikler: RPS, P95/P99 gecikme, kodla hata oranı, 401/403/429 paylaşımı, isabet oranı limitleri, anormallikler.
Uyarılar: 401/403/429 ani artışlar, 5xx büyüme, sık sık idempotency çakışmaları, QL-karmaşıklık grafiğinin keskin sapmaları.
Playbooks: Anahtarları/belirteçleri engelleme, kuralları hızla geri alma, reddetme listesini ısıtma, servis sahiplerine bildirme.
Adli tıp: tartışmalı yükün korunması (güvenli PII düzenleme ile), izole edilmiş bir stantta tekrar oynatma.

13) Hatalar ve müşteriye verilen cevaplar

Tekdüzen hata biçimi (kod, mesaj, trace-id, kategori).
Sızıntı yok: SQL, tablo adları, dahili idies ifşa etmeyin; "Neden olmasın" yerine 403.
Kodlar: 400 (doğrulama), 401 (kimlik doğrulama yok), 403 (hak yok), 404 (maske varlığı), 405/406, 413/429, 500/503.
Retry-İpuçları: для 429 - 'Retry-After'; idempotency için - aynı anahtarla tekrarlama tavsiyesi.

14) Mimari desenler

Zero-Trust: mTLS, tüm hizmetler arasında açık yetkilendirme, minimum ayrıcalıklar.
API ağ geçidi + WAF + servis ağı: görevlerin ayrılması - çevre, L7 politikaları, dahili kimlik doğrulama.
Kanarya/Mavi-Yeşil: Yeni filtrasyon kurallarını gözetim altında aşamalı olarak dağıtın.
Başarısız-kapalı: Kritik yazı için, yanlış çalışmaya izin vermektense güvenli bir şekilde reddetmek daha iyidir.
Backpressure: kuyruklar/tamponlar, devre kesici, zaman aşımları/bütçeler.

15) Pratik kurallara örnekler (sözde yapılandırma)

15. 1 Yolları ve yöntemleri sınırlama


/api/v1/payments:
allow_methods: [POST, GET]
auth: oauth2_required body:
content_type: application/json max_size: 256KB

15. 2 Idempotency


require_header: Idempotency-Key (UUIDv4)
store: redis:ttl=24h on_duplicate: return_previous_result

15. 3 İstek İmzası (HMAC)


signature:
scheme: "HMAC-SHA256"
required_headers: ["X-Signature","X-Timestamp","X-Nonce"]
allowed_drift: 300s string_to_sign: METHOD + "\n" + PATH + "\n" + SHA256(body) + "\n" + X-Timestamp + "\n" + X-Nonce

15. 4 SSRF koruması


outbound_http:
allowlist_domains: ["kyc. partner. com","psp. example. net"]
block_private_ip: true require_https: true

15. 5 GraphQL sınırı


graphql:
max_depth: 8 max_complexity: 500 allowlisted_operations_only: true

16) iGaming/Finansın Özellikleri

Segment sınırları: CCM/ülke/risk profiline bağlı olarak.
Zaman pencereleri: para yatırma/çekme sıklığı kuralları, işlemler arasında "soğutma".
Bonus kötüye kullanımı önleme: hesap/cihaz/IP/ödeme aracında tutarlı kilitler.
Düzenleyici gerekliliklerin denetimi: eylem ve karar günlüklerinin depolanması (KYC/AML), saklama süreleri, değişmeyen günlükler.

17) Prod Hazır Kontrol Listesi

  • Tam API dizini ve veri akış haritası (PII/finansal etiketli).
  • OpenAPI/Protobuf şemaları, doğrulama testleri ve CI'daki sözleşmeler.
  • mTLS/HMAC/OAuth2 yapılandırılmış; Kısa TTL jetonları; Anahtar rotasyon.
  • BOLA testleri ve negatif yetkilendirme durumları; Merkezi PDP.
  • Sınırlar/kotalar/anti-bot, yavaş lorise karşı koruma; IP filtreleri.
  • WAF/ağ geçidi normalleştirme kuralları, anti-enjeksiyon imzaları.
  • Yazma işlemlerinin idempotency; Tekrar oynatmaya karşı koruma.
  • Webhook imzaları ve izin listesi; Yalıtılmış uç noktalar.
  • KMS/Vault Sırları; şifreli depolar; Anomalileri uyarır.
  • Gösterge tabloları, uyarılar, denetim günlükleri; Playbook olaylarında çalıştı.
  • Düzenli pentest/DAST/SAST, güvenlik açığı parçaları ve yama indirme.

18) Antipatterns (mümkün değildir)

Çevresinde katı TLS olmadan 'X-Forwarded-' güven.
Keyfi 'Content-Type've' soft 'JSON şemalarını kabul edin.
Hatırlama/rotasyon olmadan uzun ömürlü JWT'ler.
Merkezi politikalar olmadan rolleri ve iş kurallarını kodda karıştırın.
Sırlar/PII ile günlükleri; Dışa doğru ayrıntılı 500-mesaj.
"Geçici" sınır ve izin olmaksızın açık uç noktaları.

19) Sürüm ve Deprekate

Yoldaki/başlıktaki sürümler; destek politikası (örn. N-2).
Duyurular: kullanımdan kaldırma, eski sürümlerin kullanımını izleme, kontrollü kapatma için son tarihler.
Uyumluluk: müşteri/ortak sözleşmeleri ve test matrisleri.

20) Güvenlik testi

Şemaların/politikaların sözleşme testleri, bulanık girdiler, negatif auth.
Limitli/kotalı performans profilleri, koruma testi (kaos trafiği).
Kırmızı takım/bug-bounty: BOLA komut dosyaları, SSRF, imzalar/tekrarlar, GraphQL karmaşıklığı.

TL; DR

1. API dizini + katı şemalar.
2. Müşteriler için OAuth2/OIDC, mTLS/HMAC içeride.
3. BOLA kaynak başına çevre (ABAC/RBAC).
4. Filtreleme: Yolların/başlıkların, sınırların, WAF kurallarının normalleştirilmesi.
5. Idempotans, imzalar, tekrar oynatma/SSRF koruması.
6. KMS/Vault ve gizli rotasyon.
7. Gözlemlenebilirlik, uyarılar, oyun kitapları.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Telegram
@Gamble_GC
Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.