GH GambleHub

API xavfsizligi va soʻrovlarni filtrlash

1) Nima uchun bu zarur?

API - platformaning tashqi va ichki chegarasi. So’rovlarni autentifikatsiyalash, avtorizatsiya qilish, validatsiya qilish yoki normallashtirishdagi har qanday xato zaifliklarni ekspluatatsiya qilishga aylanadi (BOLA/IDOR, injection, SSRF, ommaviy ortiqcha tortishuvlar, resurs kamayishi). Maqsad: o’lchanadigan SLO va xavf-xatarlar nazorati bilan perimetrdan biznes qoidalarigacha ko’p darajali himoya (defense-in-depth) yaratish.

2) API inventarizatsiyasi va tasnifi

API katalogi: barcha servislar/endpointlar reyestri, mijozlar (web, mobile, sheriklar), rejim (ommaviy/sherik/ichki), PII/moliyaviy ma’lumotlar egalari, versiyalari, turlari.
Tanqidiylik: High (moliyaviy operatsiyalar/avtorizatsiya), Medium (profil o’qish), Low (ommaviy ma’lumotnomalar).
Hujum yuzasi: REST, GraphQL, gRPC, WebSocket, webhooks.
Maqomi: prod/staging/experimental, deprekeyt siyosati, token/kalitlarning umr ko’rish muddati.
Shadow/Tashlab ketilgan API: loglar ingrest orqali aniqlash, eBPF/Service Mesh telemetriyasi, katalog bilan taqqoslash.

3) Tahdidlar modeli (qisqacha)

Identifikatsiya: tokenlarni o’g’irlash, sessiyani tuzatish, MitM, replay.
Avtorizatsiya: BOLA/IDOR, gorizontal/vertikal eskalatsiya.
Inyeksiya (SQL/NoSQL/LDAP), shablon/serilizatsiya, path traversal, sarlavhalar.
Trafik: DDoS/L7-fludlar, sekin so’rovlar, fantom retrajlar.
Integratsiyalar: xavfsiz webhooks, URL moslamalari orqali SSRF, fayl/skanerlarni yuklash.
Mantiq: bonuslarni suiiste’mol qilish, poygalar, nomuvofiqlik.

4) Xavfsizlikning bazaviy standarti (minimal)

1. TLS 1. 2 + hamma joyda; HSTS; zaif shifrlar oʻchirilgan.
2. Autentifikatsiya: mijozlar uchun OAuth2/OIDC, mTLS/yoki HMAC - servis-k-servis.
3. Avtorizatsiya: markazlashtirilgan PDP (RBAC/ABAC), obyekt darajasida tekshirish (BOLA).
4. Validatsiya: qattiq sxema (OpenAPI/JSON Schema/Protobuf), ortiqcha maydonlarda rad etish.
5. Limitlar: rate/quotas + burst, per-mijoz/per-IP/per-token.
6. Write-operatsiyalarda idempotentlik, takrorlash/poygalardan himoya qilish.
7. WAF/geytvey-filtrlash: yo’llarni/sarlavhalarni normallashtirish, deny-varaqlar, payload-anti-pattern bloki.
8. Sirlar: KMS/Vault, kalitlarni/sertifikatlarni almashtirish, sizib chiqishni nazorat qilish.
9. Kuzatilganlik: trassing, xavfsizlik audit-loglari (kim/nima/qachon/natija), alertlar.
10. Protseduralar: hodisalar playbook, test-keyslar va muntazam pentestlar/DAST.

5) Tokenlarni autentifikatsiyalash va boshqarish

OAuth2/OIDC: qisqa umr ko’radigan access-tokenlar, refresh qat’iy ravishda OIDC bo’yicha; audience/issuer/exp gatveyda tekshiriladi.
JWT: RS256/ES256; klimlarning minimal to’plami;’nbf/exp/aud’majburiy; PII saqlashni taqiqlash. JWKS orqali kalitlarni aylantirish.
DPoP/PoP: replay/oʻgʻirlash xavfini kamaytirish uchun tokenni mijoz kalitiga bogʻlash.
ichki tizimlar va ishonchli sheriklar uchun mTLS (CN/SAN, CRL/OCSP bo’yicha attestatsiya).
HMAC (imzolar): determinizatsiya qilingan kanonikalizatsiya (usul + yo’l + timestamp + nonce + body-hash); ruxsat etilgan vaqt oynasi (± 300s).
Brauzer seanslari: SameSite = strict/lax, HttpOnly, Secure; CSRF (double submit/state-tokenlar) dan himoya qilish.
Mijozlar ombori: mobil - xavfsiz omborxonalar (Keychain/Keystore), debagdan himoya qilish, sertifikatlarni pinning.

6) Avtorizatsiya (BOLA-first)

Object-level: har bir operatsiya muayyan manbaga boʻlgan huquqni tekshiradi (resource owner/scope/atributlar).
RBAC/ABAC: rollar + atributlar (mamlakat, segment, xavf limitlari, KYC-daraja).
Siyosati: deny-by-default; aniq allow; siyosatni versiyalash; salbiy holatlarga testlar.
Yechimlar keshi: moslashuvchan TTL + rollar/segmentlar o’zgarganda nogironlik.

7) So’rovlarni filtrlash va normallashtirish (gatveyda/WAF)

Normallashtirish: takroriy slashlarni siqish, taqiqlash’../’, bir marta dekodlash, bo’shliqlarni/nol baytlarni kesish.
Sarlavhalar: allow-list (’Host’,’Content-Type’,’Accept’,’Authorization’,’Date’,’Idempotency-Key’, kerakli trace-sarlavhalar).
Usullar:’GET/HEAD’tanasiz;’POST/PUT/PATCH’-’application/json’yoki qat’iy ruxsat etilgan.
O’lchamlari: max-body, max-headers, max-path; early-reject 413/431.
Fayllar: MIME validator, antivirus/sandbox, aktiv kontent, resayz/sanitayz tasvirlar.
URL-manzillar/fetchi: SSRF bloki (deny private ranges/metadata IP, faqat’https’sxemasi, domenlarning allow-list).
SQL/NoSQL-patternlar: WAF rule-sets + so’rovlarni server parametrlashtirish orqali inyeksiya signaturalari.

Sarlavha siyosatining namunasi (psevdo-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) Limitlar, kvotalar va antibot himoyasi

Rate limiting: token-bucket/ leaky-bucket; darajalar - per IP, per API key, per user, per org.
Quotas: kunlik/oylik, alohida write/expensive usullari.
Moslashuvchanlik: anomaliyalarda dinamik qattiqlashish (sudden burst/credential stuffing).
Slow-loris/slow-POST: o’qish/keep-alive taymautlari, parallel ulanishlarni cheklash.
Antibot: device-fingerprint, xulq-atvor belgilari, yuqori xavfga proof-of-work/kapcha, tor/proksi-tarmoqlar ro’yxati.
IP-nazorat: geo/ASN-filtrlar, «iflos» kichik tarmoqlarning deny-varaqlari, sheriklar/ma’muriy panellar uchun allow-varaqlar.

9) Kirish ma’lumotlari va sxemalarini validatsiya qilish

Fail-closed: sxemadan oʻtmagan hamma narsa - 400. Ortiqcha maydonlarni rad etish.
Turlari/diapazonlari: sonlar, sanalar (UTC/ISO-8601), enum-qiymatlar, satr uzunliklari, regeksplar.
JSON sifati: max-nesting, katta massivlar/kalitlarni taqiqlash, canonical order (ixtiyoriy).
Biznes-validatsiya: «Idempotency-Key» bo’yicha idempotentlik; anti-frod qoidalari (operatsiyalar chastotasi limitlari, amount caps).
GraphQL: depth/complexity-limitlar, allow-listed queries, per-pole avtorizatsiya.
gRPC: qat’iy Protobuf sxemalari, majburiy dalalar, xabarlar hajmining chegaralari.

10) Webhooks va tashqi qo’ng’iroqlar

Imzolar: Taymstampli HMAC/nonce; qayta ishlashdan oldin verifikatsiya qilish; oyna +/- 5 daqiqa

Yetkazib berish: eksponensial pauza va jitter bilan retralar; max-urinishlar; hodisa IDsi bo’yicha de-duplikatsiya.
yetkazib beruvchining IP allow-list; alohida pastki domen/yo’l; minimal hosting steki.
Javoblar: 2xx faqat muvaffaqiyatli ichki yozuvdan keyin; aks holda 4xx/5xx tushunarli kod bilan.
Chiquvchi SSRF nazorati: callback URL - allow-list, shaxsiy manzillarni taqiqlash.

11) Shifrlash va sirlarni boshqarish

Kanalda: TLS 1. 2+/1. 3, pinning, shifrlarning qat’iy siyosati.
Xotirjam: DB/obyekt omborini shifrlash, PII/findanlar uchun alohida kalitlar.
KMS/Vault: markazlashtirilgan sir saqlash, qisqa TTL, avtomatik rotatsiya.
Kalitlar va sertifikatlar: atrof-muhit uchun alohida; berishlar auditi; ro’yxatga olishni taqiqlash.
Token-introspection: offline-roʻyxati (revocation), qisqa’exp’.

12) Kuzatuv, audit va harakat qilish

Xavfsizlik loglari: autentifikatsiyalashga urinishlar/muvaffaqiyatlar, avtorizatsiyani rad etish, rate-limit hodisalar, rollar/limitlarni o’zgartirish.
Izlash: correlation-ID oraliq; tashqi qo’ng’iroqlar trassingi.
Metriklar: RPS, P95/P99 latency, kodlar bo’yicha error-rate, 401/403/429 ulushi, hit-rate limitlari, anomaliyalar.
Alertlar: 401/403/429 portlashlari, o’sish 5xx, tez-tez uchraydigan idempotency-ziddiyatlar, QL-complexity grafiklarining keskin og’ishi.
Playbooks: kalitlarni/tokenlarni blokirovka qilish, qoidalarni tezda qaytarish, deny-varaqni qizdirish, servis egalarini xabardor qilish.
Forenzika: bahsli payload (xavfsiz tahrirlangan PII), izolyatsiya qilingan stendda repleyani saqlash.

13) Xatolar va mijozga javoblar

Xatolarning yagona formati (kod, xabar, trace-id, toifa).
Oqish yoʻq: SQL, jadval nomlari, ichki ID’larni oshkor qilmang; 403 «nima uchun aniq emas» o’rniga.
Kodlar: 400 (validatsiya), 401 (autentifikatsiya yo’q), 403 (huquqlar yo’q), 404 (mavjudlikni yashirish), 405/406, 413/429, 500/503.
Retry-Hints: для 429 — `Retry-After`; idempotentlik uchun - xuddi shu kalit bilan takrorlash bo’yicha maslahat.

14) Arxitektura patternlari

Zero-Trust: mTLS, barcha xizmatlar oʻrtasida aniq avtorizatsiya, minimal imtiyozlar.
API-shlyuz + WAF + servis-mesh: vazifalar bo’linishi - perimetr, L7-siyosatlar, ichki autentifikatsiya.
Canary/Blue-Green: yangi filtrlash qoidalarini bosqichma-bosqich kuzatib borish.
Fail-closed: tanqidiy write uchun noto’g’ri operatsiyaga yo’l qo’yishdan ko’ra xavfsiz rad etish yaxshiroqdir.
Backpressure: navbatlar/buferlar, circuit breaker, timeouts/budgets.

15) Amaliy qoidalar namunalari (psevdo- )

15. 1. Yo’l va usullarni cheklash


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

15. 2 Idempotentlik


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

15. 3 So’rov imzosi (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 himoyasi


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

15. 5 GraphQL limit


graphql:
max_depth: 8 max_complexity: 500 allowlisted_operations_only: true

16) iGaming/Moliya xususiyatlari

Segment limitlari: KTS/mamlakat/tavakkalchilik profiliga bog’liq.
Vaqtinchalik oynalar: depozitlar/pullar chastotasi qoidalari, tranzaksiyalar orasidagi «sovish».
Anti-abyuz bonuslar: akkaunt/qurilma/IP/to’lov vositasiga konsistent blokirovkalari.
Regulyator talablari auditi: harakatlar va qarorlar loglarini saqlash (KYC/AML), retenshn-davrlar, o’zgarmas jurnallar.

17) Prod-tayyorgarlikning nazorat ro’yxati

  • To’liq API katalogi va ma’lumotlar oqimi xaritasi (PII/moliya belgilandi).
  • OpenAPI/Protobuf sxemalari, validatsiya testlari va CI shartnomalari.
  • mTLS/HMAC/OAuth2 sozlangan; qisqa TTL tokenlari; kalitlarni rotatsiya qilish.
  • BOLA-testlar va avtorizatsiyaning salbiy holatlari; markazlashtirilgan PDP.
  • Limitlar/kvotalar/anti-bot, slow-loris himoyasi; IP filtrlar.
  • WAF/geytway normallashtirish qoidalari, anti-in’ektsiya belgilari.
  • Write-operatsiyalarning idempotentligi; replay himoyasi.
  • Webhook-imzolar va allow-list; izolyatsiyalangan endpoints.
  • KMS/Vault’dagi sirlar; shifrlangan storajlar; anomaliyadagi alertlar.
  • Dashbordlar, alertlar, audit-loglar; ishlab chiqilgan playbooks hodisalar.
  • Muntazam pentest/DAST/SAST, zaiflik treklari va patchlar.

18) Antipatternlar (nima mumkin emas)

’X-Forwarded-’ ga ishonish

Ixtiyoriy «Content-Type» va «yumshoq» JSON sxemalarini qabul qilish.
Uzoq umr ko’radigan JWT qaytarib olinmaydi/rotatsiya qilinmaydi.
Markazlashtirilgan siyosatsiz koddagi rollar va biznes qoidalarini aralashtirish.
Sirli loglar/PII; tashqariga batafsil 500-xabarlar.
Limitsiz va avtorizatsiyasiz «vaqtinchalik» ochiq endpointlar.

19) Versiyalash va deprekeyt

Yo’ldagi/sarlavhadagi versiyalar; qo’llab-quvvatlash siyosati (masalan, N-2).
E’lonlar: deprekeyt muddatlari, eski versiyalardan foydalanish monitoringi, boshqariladigan o’chirish.
Muvofiqlik: mijozlar/sheriklarning kontraktlari va test-matritsalari.

20) Xavfsizlikni sinovdan o’tkazish

Sxemalar/siyosatning kontrakt testlari, kirish fuzzing, negative auth.
Limitlar/kvotalar bilan perfomans-profillar, himoyalarni sinash (chaos-trafik).
Red-team/bug-bounty: BOLA, SSRF, imzolar/repleylar, GraphQL-complexity ssenariylari.

TL; DR

1. API katalogi + qattiq sxemalar.
2. Mijozlar uchun OAuth2/OIDC, mTLS/HMAC ichida.
3. BOLA-perimetri har bir resurs uchun (ABAC/RBAC).
4. Filtrlash: yo’llar/sarlavhalarni normallashtirish, limitlar, WAF qoidalari.
5. Idempotentlik, imzolar, replay/SSRF himoyasi.
6. KMS/Vault va sirlarni almashtirish.
7. Kuzatuv, alerta, playbooks.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.