GH GambleHub

API անվտանգությունը և ֆիլտրային հարցումները

1) Ինչո՞ ւ է դա անհրաժեշտ

API-ը պլատֆորմի արտաքին և ներքին սահմանն է։ Ցանկացած սխալ, հեղինակային իրավունքի, վավերացման կամ հարցումների նորմալացման մեջ վերածվում է խոցելիության (BOLA/IDOR, inject, SSRF, զանգվածային փոխանցումներ, ռեսուրս սպառումը)։ Նպատակը 'ստեղծել բազմաբնույթ պաշտպանություն (wwww.ense-in-depth) պարագծից մինչև բիզնես կանոնները, չափված SLO-ով և ռիսկերի վերահսկմամբ։

2) Բուլգարիզացիան և API դասակարգումը

API-ի կատալոգը 'բոլոր ծառայությունների/էնդպոինտների, սեփականատերերի, տարբերակների, հաճախորդների տեսակների (web, mobile, գործընկերներ), ռեժիմը (հանրային/ավստրիական/ներքին), PII/ֆինլանդական։

Քննադատությունը ՝ High (ֆինանսական վիրահատություններ/հեղինակային), Novich (կարդալը), Low (հասարակական գրողներ)։

Հարձակման մակերեսը ՝ REST, GraphQL, gRPC, Webhooks։

Կարգավիճակը ՝ 108/staging/experimental, դեպրեսիտի քաղաքականությունը, տոկենների կյանքի ժամանակահատվածը/108։

Shadow/լքված API-ը 'հայտնաբերումը լոգարանների ինգրեսով, eBPF/Windows Mesh հեռուստացույցի միջոցով, համեմատությունը ածխածնի հետ։

3) Սպառնալիքների մոդել (հակիրճ)

Նույնականացում 'հոսանքների անկյունը, նստաշրջանի ամրագրումը, MitM, replay։

Հեղինակի 'BOLA/IDOR, հորիզոնական/ուղղահայաց էսկալացիա։

Մուտքագրումը (SQL/Windows SQL/LDAP), մոդելային/սերիլիզացիոն, path traversal, վերնագրեր։

Տե՛ ս ՝ DDoS/L7-ֆլուդները, դանդաղ հարցումները, ֆանտոմային ռետրերը։

Մոսկվա 'անվտանգ webhooks, SSRF-ը URL պարամետրերի միջոցով, ֆայլերի/սկանների բեռնումը։

Տրամաբանություն 'բոնուսների չարաշահում, մրցավազք, կուռքերի անհամապատասխանություն։

4) Անվտանգության հիմնական ապահովումը (նվազագույն)

1. TLS 1. 2 + ամենուր; HSTS; անջատված են թույլ ծածկագրերը։

2. Վավերացում ՝ OAuth2/OIDC հաճախորդների համար, mTSA/կամ HMAC-ը-k ծառայություն է։

3. Հեղինակի 'կենտրոնացված PDP (RBAC/ABAC), օբյեկտի մակարդակում ստուգում (BOLA)։

4. Վալիդացիան 'խիստ սխեմա (OpenAPI/JSON Schema/Eurobuf), ավելորդ դաշտերում հրաժարվելը։

5. Limits: rate/www.tas + burst, նախկին հաճախորդ/www.ru-IP/2019-tocen։

6. Idempotention write վիրահատությունների վրա, պաշտպանություն խոհարարներից/մրցույթներից։

7. WAF/gatway ֆիլտրում 'ճանապարհների/վերնագրերի նորմալացում, deny-թերթիկներ, payload-anti-patrones բլոկը։

8. Գաղտնիքները ՝ KFC/Vance, կոդերի/հավաստագրերի լուծումը, արտահոսքի վերահսկումը։

9. Դիտարկումը 'ուղեբեռը, աուդիտի լոգները (ով/ինչ/երբ/արդյունքը), ալերտները։

10. Ընթացակարգերը ՝ playbook 2019, թեստային և պենտեստա/DTS։

5) Վավերացումը և հոսանքների կառավարումը

OAuth2/OIDC: Կարճ գոյատևող թոկեններ, refresh խստորեն OIDC-ով։ audience/issuer/exp ստուգվում են խաղացողի վրա։

JWT: RS256/ES256; Կլայմերի նվազագույն հավաքածուն '«nbf/exp/aud» պարտադիր է։ արգելք PII-ի պահպանման համար։ Միգրացիան կատարվում է JWKS-ի միջոցով։

DPoP/PoP 'կապակցումը պտտվում է հաճախորդի բանալին, որպեսզի նվազեցնի replay/ugons ռիսկը։

MTIM ներքին համակարգերի և վստահված գործընկերների համար (CN/SAN, CRL/OCERT)։

HMAC (ստորագրություններ) 'դետերմինացված կանոնականացում (մեթոդ + ճանապարհ + timestamp + nonce + body-hash); թույլատրելի ժամանակի պատուհանը (300s)։

Զննարկչի նիստերը ՝ SoftSite = strict/lax, You Only, Secure; պաշտպանություն CSRF (double dit/state-tocens)։

Հաճախորդների պահեստ 'լվացքի վրա' անվտանգ հյուրանոցներ (Keychain/Keystore), պաշտպանություն դեբագից, հավաստագրերի պիննինգ։

6) Հեղինակային իրավունքը (BOLA-first)

Object-level: յուրաքանչյուր վիրահատություն ստուգում է հատուկ ռեսուրսի իրավունքը (resource owner/scope/ատրիբուտներ)։

RBAC/ABAC 'դերերը + ատրիբուտներ (երկիրը, հատվածը, ռիսկի սահմանները, KYC մակարդակը)։

Քաղաքական գործիչները ՝ deny-by-210; ակնհայտ allow; քաղաքական գործչի տարբերակումը. փորձարկումներ բացասական դեպքերի վրա։

Լուծումների քեշը 'հարմարվողական TTL + հաշմանդամություն, երբ դերերը/հատվածները փոխվում են։

7) Ֆիլտրացումը և հարցումների նորմալացումը (խաղախաղի/WAF)

Նորմալացում 'կրկնվող արցունքների սեղմում, արգելք «../», մեկ անգամ անջատել, կտրել ածխաջրածինները/զրո բայթերը։

Վերնագրեր ՝ allow-list («Host», «Content-Type», «Accept», «Authorization», «Date», «Idempotency-Key», անհրաժեշտ տրace վերնագրեր)։

Մեթոդներ ՝ «GET/HEAD» առանց մարմնի; «POST/PUT/PATCH» - տեսակի հետ, որը խիստ թույլատրված է։

Չափերը ՝ max-body, max-headers, max-path; early-reject 413/431.

Ֆայլերը ՝ MIME-վալիդատոր, հակավիրուսային/սանդբոքս, ակտիվ բովանդակության արգելք, ռեսայիզ/պատկերների ալգորիթմ։

URL-metadation/fetchi: SSRF բլոկը (deny private ranges/metadata IP, միայն «https», allow-list թողարկումներ)։

SQL/Windows SQL-pattern 'WAF rule-sets + հարցումների սերվերացման ազդանշաններ։

Վերնագրերի քաղաքականության օրինակ (կեղծ ձևաչափ)


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) Լիմիտներ, քվոտաներ և հակատանկային պաշտպանություն

Rate limiting: token-bucket/ leaky-bucket; մակարդակները 'per IP, per API key, per user, per org։

Դելտաս 'ամենօրյա/ամսական, առանձին write/expensive մեթոդների համար։

Հարմարվողականություն 'դինամիկ խստացում անոմալիաների դեպքում (sudden burst/credential stuffing)։

Slow-loris/slow-POST: ընթերցանության/keep-alive թայմաուտները, զուգահեռ պարամետրերի սահմանափակումը։

Antibot: device-fingerprint, վարքագծային նշաններ, proof-of-work/գլխարկ ռիսկի վրա, tor/2019 ցանցերի ցուցակը։

IP վերահսկումը 'geo/ASN ֆիլտրեր, «կեղտոտ» հաշվարկների deny թերթիկներ, գործընկերների/admin վահանակների համար allow թերթիկներ։

9) Մուտքային տվյալների և սխեմաների վալիդացիան

Fail-closed: Այն ամենը, ինչ չի անցնում, 400 է։ Լրացուցիչ դաշտերը շեղվում են։

Տեսակներ/միջակայքներ ՝ թվեր, ամսաթվեր (UTC/MS-8601), enum-արժեքներ, տողերի երկարություն, ռեգեքսպներ։

JSON որակը 'max-nesting, մեծ զանգվածների արգելք/108, canonical order (oporational)։

Բիզնես-վալիդացիա '«Idempoty-Key» գաղափարախոսություն; anti-frod կանոնները (գործողության հաճախության սահմանները, amount caps)։

GraphQL: depth/complexity-limits, allow-listed queries, հեղինակային դաշտը։

GRPC 'խիստ Delobuf-սխեմաները, պարտադիր դաշտերը, հաղորդագրությունների չափի սահմանները։

10) Webhooks-ը և արտաքին մարտահրավերները

Ստորագրություններ ՝ HMAC timstamp/nonce; վերափոխումը մինչև վերամշակումը; պատուհան +/- 5 ռուբլի

Առաքում 'էքսպոնենցիալ դադար և ջիթեր։ max-փորձեր; dedeplication իրադարձական ID-ով։

IP allow-list 2019; առանձին տիրույթ/ճանապարհ; նվազագույն հոստինգը։

Պատասխանները ՝ 2xx միայն հաջողակ ներքին ձայնագրությունից հետո։ հակառակ դեպքում 4xx/5xx-ը հասկանալի կոդով։

SSRF-վերահսկումը 'callback URL-ը allow-list-ն է, մասնավոր հասցեների արգելքը։

11) Գաղտնագրումը և գաղտնիքները կառավարելը

Ջրանցքում ՝ TFC 1։ 2+/1. 3, pinning, խիստ ծածկագրերի քաղաքականություն։

Հանգիստ 'BD/օբյեկտի կոդավորումը, PII/findan-ի համար առանձին բանալիներ։

KFC/Vox: գաղտնիքների կենտրոնացված պահպանումը, կարճ TTL, ավտոմատ նավարկումը։

Բանալիներ և հավաստագրեր 'առանձին շրջակա միջավայրի համար։ կոդավորման աուդիտ; արգելում է դուրս գալ։

Token-introsp.ru: www.ru-ցուցակները (revocation), կարճ «exp»։

12) Դիտարկումը, աուդիտը և արձագանքը

Անվտանգության լոգները 'փորձարկումներ/մրցույթի հաջողություններ, հեղինակային իրավունքի մերժումներ, rate-limit իրադարձություններ, դերերի/սահմանների փոփոխություններ։

Ուղիներ ՝ www.relation-ID միջով; արտաքին զանգերի հետք։

Մետրիկները ՝ RPS, P95/P99 latency, error-rate կոդերով, 401/403/429, hit-rate, anomalia։

Ալերտները ՝ 401/403/429, 5xx աճը, հաճախակի idempotency հակամարտությունները, grofQL-complexity կտրուկ շեղումները։

Playbooks: արգելափակել 105/հոսանքները, արագ արձագանքել կանոնները, տաքացնել deny թերթիկը, ծանուցել ծառայությունների սեփականատերերին։

Ֆորենզիկա 'սպորտային payload պահպանումը (անվտանգ PII խմբագրությամբ), մեկուսացված պատի վրա։

13) Սխալներ և պատասխաններ հաճախորդի համար

Սխալների միասնական ձևաչափը (կոդը, հաղորդագրություն, trace-id, կատեգորիա)։

Առանց արտահոսքի 'մի բացահայտեք SQL-ը, աղյուսակների անունները, ներքին այդին։ 403 փոխարեն «ինչու՞ ոչ»։

Շվեյցարիա ՝ 400 (վալիդացիա), 401 (ոչ 105), 403 (ոչ ճիշտ), 404 (դիմակավորել գոյությունը), 407/406, 413/429, 500/503։

Retry-Hints: для 429 — `Retry-After`; համակրանքի համար 'նույն բանալին կրկնելու խորհուրդ։

14) Ճարտարապետական արտոնագրեր

Zero-Trust: mTSA-ը, որը ակնհայտ է բոլոր ծառայությունների միջև, նվազագույն արտոնություններ։

API-դարպասը + WAF + ծառայություն-մեշ 'պարտականությունների բաժանումը' պարիմետր, L7 քաղաքականություն, ներքին վավերացում։

Canary/Blue-Green: Նոր ֆիլտրման կանոններ փակցնել, բայց դիտարկմամբ։

Fail-closed: կրիտիկական write-ի համար ավելի լավ է ապահով հրաժարվել, քան թույլ տալ սխալ վիրահատություն։

Backpressure: Հերթեր/թողարկումներ, circuit breaker, timeouts/budgets։

15) Գործնական կանոնների օրինակներ (կեղծ-2019)

15. 1 Ճանապարհների և մեթոդների սահմանափակում


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

15. 2 Idempotenty


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

15. 3 Հարցման ստորագրություն (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 պաշտպանություն


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

15. 5 GraphQL լիմիտ


graphql:
max_depth: 8 max_complexity: 500 allowlisted_operations_only: true

16) iGaming/ֆինանսական առանձնահատկությունները

Հատվածային լիմիտներ 'կախված են KUS/երկրից/ռիսկային լուծույթից։

Ժամանակավոր պատուհանները 'ավանդների/եզրակացությունների հաճախության կանոնները, գործարքների միջև «սառեցումը»։

Բոնուսների Anti-abuze 'խորհրդատվական արգելափակում հաշիվների/սարքի/IP/ստացիոնար գործիքի վրա։

Կարգավորիչների պահանջների աուդիտը 'գործողությունների և որոշումների լոգոների պահպանումը (KYC/AML), rentenshn ժամանակահատվածները, անփոփոխ ամսագրերը։

17) Բժշկական պատրաստվածության վերահսկման ցուցակը

  • API-ի ամբողջական կատալոգը և տվյալների հոսքերի քարտեզը (PII/ֆինանսները նշված են)։
  • OpenAPI/Eurobuf-սխեմաներ, վալիդացիայի թեստեր և պայմանագրեր CI-ում։
  • mTFC/HMAC/OAuth2 տրամադրված է; կարճ TTL թոկեններ; միգրացիայի վերացումը։
  • BOLA թեստեր և բացասական հեղինակային գործեր. կենտրոնացված PDP։
  • Limits/քվոտաներ/anti-bot, պաշտպանություն slow-loris; IP ֆիլտրեր։
  • WAF/գեյթվեյի կանոնները, հակաբիոտիկ ազդանշանները։
  • Idempotention write վիրահատություն; պաշտպանություն replay-ից։
  • Webhook ստորագրություններ և allow-list; մեկուսացված endpoinae։
  • Գաղտնիքները KFC/Vox-ում; ծածկագրված ստորաջներ; ալերտներ անոմալիայի վրա։
  • Dashbords, alerts, adit-logs; մշակված playbooks 2019։
  • Ստացիոնար պենտեստ/DFC/SBS, խոցելիության հետքեր և պաթոմների դիֆերենցիալ։

18) Անտիպատեռնները (ինչը անհնար է)

Վստահել «X-Forwarded-» առանց TFC-ի խիստ տերմինիզացիայի իր պարագծի վրա։

Ընդունել կամայական «Content-Type» և «փափուկ» JSON սխեմաները։

Երկար գոյատևող JWT-ն առանց հետ կանչելու/ռոտացիայի։

Խառնեք դերերը և բիզնես կանոնները կոդում առանց կենտրոնացված քաղաքական գործչի։

Լոգները գաղտնիքներով/PII; մանրամասն 500 հաղորդագրությունները դուրս են գալիս։

«Ժամանակավոր» բաց էնդպոինտները առանց սահմանների և հեղինակային իրավունքի։

19) Տարբերակումը և դեպրեկտը

Ուղու/վերնագրի տարբերակները։ աջակցության քաղաքականությունը (օրինակ, N-2)։

Հայտարարությունները 'դեպրեսիտի ժամկետները, հին տարբերակների օգտագործումը, կառավարվող անջատումը։

Համատեղելիություն 'հաճախորդների/գործընկերների պայմանագրեր և թեստային մատրիցա։

20) Անվտանգության փորձարկում

Սխեմաների պայմանագրային թեստերը/քաղաքական, fuzzing մուտքեր, negative auth։

Պերֆոմանսի պրոֆիլները լիմիտների/քվոտաների հետ, պաշտպանության փորձարկումը (chaos-2019)։

Red-team/bug-bounty: BOLA, SSRF, ստորագրություններ/ակնարկներ, GraphQL-complexity։

TL; DR

1. API-ի կատալոգը + խիստ սխեմաներ է։

2. OAuth2/OIDC հաճախորդների համար, mTMS/HMAC ներսում։

3. BOLA-պարիմետրը յուրաքանչյուր ռեսուրսի վրա (ABAC/RBAC)։

4. Ֆիլտրում 'ճանապարհների/վերնագրերի նորմալացում, լիմիտներ, WAF կանոնները։

5. Idempotenty, ստորագրություններ, պաշտպանություն replay/SSRF-ից։

6. KFC/Vance-ը և գաղտնիքների լուծարումը։

7. Դիտարկումը, ալերտները, playbooks։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Telegram
@Gamble_GC
Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։