GH GambleHub

API անվտանգությունը և հոսանքները

Live ռեզյումե

API-ի անվտանգությունը ինտեգրման մեխանիզմների, հեղինակային իրավունքի, կրիպտոգրաֆիկ պաշտպանության, anti-չարաշահման և դիտարկման ամբողջությունն է, որն ապահովում է, որ հարցումը կատարում է սպասվող սուբյեկտ սպասվող ռեսուրսի համար սպասվող համատեքստում։ Հիմնական արտեֆակտը ցնցումն է (կամ հարցման ստորագրությունը), որը ապացուցում է զանգի իրավունքը։ Լավ ճարտարապետությունը հիմնված է կարճատև հոսանքների վրա, հստակ կատակներ, նվազագույն արտոնություններ, պաշտպանություն խոհարարներից, rate limiting և վիրահատական ընթացակարգերից (ռոտացիաներ, աուդիտ, միջադեպեր)։

Ռուսական API մոդելներ. Երբ և ինչ ընտրել

API բանալին (ստատիկ գաղտնիք)

Պարզ է B2B ինտեգրման և ցածր դատարանների համար։ Չի կրում կոնտեքստը, պահանջում է պահեստավորում միգրանցների կողմից։

Օգտագործեք միայն IP/ASN allow-list, ֆիքսված քվոտաներ, կարճ TTL և պարտատոմսեր։

OAuth 2. 1 / OIDC

Օգտագործողի և ինտեգրման համար ստանդարտ ՝ www.token (հակիրճ) + refresh token (ռոտացիա) + սկուտեր։

Public հաճախորդները 'PKCE-ից; wwww.idential հաճախորդները հաճախորդի գաղտնիքով/mTRC-ով։

Client Credentials (m2m)

Մեքենան նկարագրում է մեքենան 'wwww.token ծառայությունների համար խիստ տեղադրված կոշիկների և audience-ի համար, հաճախ առանց refresh (նորից ստանալը)։

MTSA (փոխադարձ TLS)

Այն կապում է ինքնությունը միգրանցների հետ։ Կատարյալ է բարձր ռիսկային կամ երկրորդային ինտեգրիաների համար (PoP վերևում TFC)։

Այն կարող է համակցվել OAuth-ի հետ (հոսանքները միայն mTRC հաճախորդներով)։

Հարցումների ստորագրությունները (HMAC/EddDSA)

Երբ անհրաժեշտ է անկախ PoP տրանսպորտից 'ստորագրության վերնագիր, timestamp և nonce։ Հարմար է ուեբհուկի և օֆլինի ստուգման համար։

Մոսկվան և հոսանքների տեսակները

JWT (JWS, ստորագրված)

Ինքնաբուխ, ստուգվում են տեղական; պարտադիր «iss», «sub», «aud», «exp», «iat», «jti», «scope»։

Ռիսկը ավելի բարդ է 'օգտագործեք կարճ TTL (5-15 րոպե) + արձագանքված «jti» ցուցակը միջադեպերի ժամանակ։

JWE (կոդավորված JWT)

Անհրաժեշտ է, եթե payload զգայուն (PII)։ Արժեքը բարձր է բարդությունից և ծախսերից։

Reference tokens

Անթույլատրելի ցուցանիշները ստուգվում են introsport-ի միջոցով Authorization Server-ի միջոցով, ավելի հեշտ է հղում/կենտրոնացում։

PoP/DPoP

Կապումը ցնցված է հաճախորդի բանալին կամ TRC նստաշրջանին, նվազեցնում է գողացված հոսանքի արժեքը։

Հոսանքի պարունակությունը նվազագույն է

Առաջարկվող կլեյմները (JWT)

"iss" (issuer), "sub" (wwww.ject), "aud" (նպատակային համակարգ/ռեսուրս), "exp" (ժամանակ), "iat", "nbf" (opti ")," jti "։

«scope »/« permissions» (նվազագույն անհրաժեշտ), «tenae» (բազմաբնույթ), «device _ compliance »/« amr» (մեթոդ), «ip »/« asn» (եթե կիրառելի է քաղաքականության համար)։

Կանոնները

Կարճ TTL-ի համար (5-15 րոպե), refresh-12-48 ժամ (պտտվող ռոտացիայի հետ)։

Լսարանը («aud») խիստ կոնկրետ ռեսուրս է, հակառակ դեպքում «վերաօգտագործելի» է։

Սկոպները գործողություն և օբյեկտ են (օրինակ 'payments: withdrance։ read`).

Չափը 382-4 KB է վերնագրերի և մետաղների համար։ հակառակ դեպքում հնարավոր են խնդիրներ խաղախաղերի հետ։

Հեղինակային իրավունքի և քաղաքականության մասին

RBAC + ABAC 'դերը + ենթատեքստը (կազմակերպություն, գեո, ռիսկ, սարքի վիճակը)։

PEP/PDP 'հոսանքի ստուգումը և API դարպասի/2019 (Envoy/OPA) որոշումը մինչև ծրագիրը։

Կառավարական կանոնները 'պահել Git-ում, անցնել policy-tes.ru CI-ում։

Ռեգոյի օրինակը (պարզեցված)

rego package policy. withdraw

default allow = false

allow {
input. token. aud == "wallet-api"
input. token. scope[_] == "payments:withdraw. create"
input. device. compliant == true input. risk. score < 70
}

Հարցումների ստորագրությունը (HMAC) և anti-replay

Երբ անհրաժեշտ է 'webhuks, առանց OAuth-ի, կրիտիկական վիրահատությունների կրկնակի ստուգում։

Վերնագրերի սխեման (օրինակ)


X-Client-Id: <id>
X-Timestamp: 2025-11-05T13:20:10Z
X-Nonce: 4d1f...a2
X-Signature: base64(HMAC_SHA256(secret, method + "\n" + path + "\n" + sha256(body) + "\n" + timestamp + "\n" + nonce))

Կանոնները

Շեղել հարցումները ժամանակի ռասինխրոնի հետ> 36300 վ։

Nonce պահել 5-15 րոպե և չընդունել կրկնությունները (replay-cash)։

Ստորագրեք հարցման կանոնականացված ներկայացումը (մեթոդ, ճանապարհ, query, մարմնի հեշ)։

Idempotention և գործարքային պաշտպանություն

Idempotency-Key-ը ապամոնտաժման/վճարման/ստեղծման վիրահատությունների համար 'նույն բանալին, որը համապատասխանում է նույն ազդեցությանը։

Ստեղնաշարի կյանքի ժամանակահատվածը բիզնես-թայմաուտի կանոնավոր ժամանակն է (սովորաբար 24-72 ժամ)։

Տրամաբանությունը սերվերի կողմում 'համեմատել հարցման պարամետրերը նախկինում նշված բանալին։

Զննարկիչ և բջջային հաճախորդներ

PKCE-ը պարտադիր է (public հաճախորդներ)։

Refresh-tocen զննարկչի մեջ 'խուսափել; Եթե ձեզ հարկավոր է ROTATION + արձագանքը խոհարարին (replay-մանկություն)։

Պահեստավորում ՝ session storage> wwww.al storage; ավելի լավ է հոսանքի համար պատասխանատու է backend for frontend (BFF)։

SameSite, Secure, HttpOnly для cookie; SYS-ը ակնհայտ allow-lis.ru, վերնագրեր և մեթոդներ են։ www.flight-keshing ապահով։

m2m և բարձրորակ կոմպոզիցիաներ

MTSA + OAuth2 Client Credentials-ը սկուտեղներով և «aud»։

IP/ASN allow-list խաղացողի վրա։

PoP/DPoP կամ HMAC ստորագրությունները TLS-ի վերևում կրիտիկական վիրահատությունների համար։

Քվոտաներ և rate limits կազմակերպության/հաճախորդի/բանալին։

Հավատարմագրում, հետ կանչեք և արձագանքեք միջադեպերին

Գաղտնիքների վերացումը և ռուսական ստորագրությունները (JWKS) 'ժամանակացույցի վրա + հարկադիր պատահականության ժամանակ։

Dj-key rollout: Հրատարակեք նոր ռուսական զույգ նախօրոք (kid2), ստորագրեք նրա հոսանքները, պահեք հին (kid1) վալիդացիայի համար մինչև TTL սպառումը։

Refresh-rotation: refresh-ի յուրաքանչյուր փոխանակում նոր հոսանք է, հինը անմիջապես դառնում է անվավեր։ խոհարարը փոխզիջման ազդանշան է։

Revocation: JWT-ի համար 'կարճ ժամանակով հետ կանչված «jti» ցուցակները։ reference toxens-ը AS-ում ռուսական արգելափակումն է։

Break-glass-ի սցենարները 'ժամանակավոր ստատիկ կրեդները նվազագույն իրավունքներով և կոշտ TTL-ով, գրեք ամսագրում։

Rate limiting, bot-պաշտպանություն և պաշտպանություն ընդհատումից

Երեք շերտավոր լիմիտներ ՝ per-key/per-IP/per-կազմակերպություն։

Burst + sustained: token-bak/սայթաքող պատուհան։

Բարդ ստուգումներ ՝ device fingerprint, վարքագծային ազդանշաններ, geo/ASN անոմալիաներ, CAPTCHA միայն UI-ի համար։

Nokout/slowdown-ը ստորագրության/NMAS-ի տեղափոխման և մրցույթի անհաջող փորձերի ժամանակ։

Տրամաբանություն, չափումներ և SLO

Լոգարանների նվազագույն հավաքածուն ՝ «request _ id», «client _ id», «sub», «aud», «scope», «decision», «reason», «jti», «ip», «asn», «latency», «delta _ state»։

Մետրիկները

Տոկենի (%) հաջողությունը, p95 վերականգնման ժամանակը։

Replay-շեղումների հաճախականությունը, Idempotency-Key կրկնօրինակները։

PoP/DPoP/mTSA հարցումների մասը։

«Aud/scope» սխալները, որոնք ավարտեցին «exp», ժամանակի տեղաշարժերը (NTP)։

SLO (օրինակներ)

Auth/AS 3599 հասանելիությունը։ 95 %/մես; p95 introspection ≤ 50 мс.

Զրոյական հոսանքները TTL <60 c երկարությամբ (պաշտպանիչ մետրիկ)։

Ավելի քան 0։ 1% սխալներ «aud/scope» օրական (ինտեգրման որակը)։

Միգրացիոն օրինակներ

Envoy 'JWT ստուգում և audience

yaml http_filters:
- name: envoy. filters. http. jwt_authn typed_config:
providers:
as:
issuer: https://auth. example. com/
audiences: ["wallet-api"]
remote_jwks:
http_uri:
uri: https://auth. example. com/.well-known/jwks. json cluster: jwks_cluster cache_duration: 600s rules:
- match: { prefix: "/v1/withdraw" }
requires:
provider_and_audiences:
provider_name: as audiences: ["wallet-api"]

NGINX: mTLS к backend

nginx proxy_ssl_server_name on;
proxy_ssl_name wallet. internal;
proxy_ssl_certificate   /etc/nginx/mtls/client. crt;
proxy_ssl_certificate_key /etc/nginx/mtls/client. key;
proxy_ssl_trusted_certificate /etc/nginx/mtls/ca. crt;
proxy_ssl_verify on;
proxy_ssl_verify_depth 2;

Ստորագրության վերնագրի օրինակ (webhuks)


X-Signature: t=1730803210,n=ac12...,s=base64(HMAC_SHA256(secret, "POST\n/webhook\nsha256(body)\n1730803210\nac12..."))

Սերվերը մերժում է, եթե «t» -ը 300-ից բարձր է, «n» -ը արդեն հանդիպել է, կամ «s» -ը չի ծեծում։

Տվյալների պաշտպանությունը և գաղտնիությունը

Նվազագույնի հասցրեք կլեյմերը (հատկապես PII) և կյանքի ժամանակահատվածը։

Ծածկագրեք զգայուն կլեյմերը (JWE) երրորդ կողմի ինտեգրման համար։

Drok/DLP լոգոներում 'մի տրամաբանեք մարմինները PAN/PII-ից, հոսանքները միայն' kid '/դրոշներ, գաղտնիք չէ։

Տիպիկ սխալներ

Երկար բազմապատկող մետաղադրամներ և «հավերժական» refresh։

«aud »/« scope» -ի բացակայությունը բազմաբնույթ է։

Webhuks ստորագրությունը առանց "timestamp '/" nonce"։

JWT-ի ստուգումը միայն խմբագրության մեջ է, ոչ թե խաղացողի վրա (PEP)։

Միգրացիայի բացակայությունը և dox-key rollout-ը։

MSS «» և թույլատրված անապահով մեթոդներ առանց վերնագրերի վերահսկման։

Հոսանքների պահպանումը 'www.alStorage' առանց BFF-ի։

Իրականացման քարտեզը

1. API-ի և դասակարգման (հանրային/գործընկեր/ներքին, զգայունություն)։

2. AuthN մոդելի ընտրությունը 'OAuth2/OIDC օգտագործողների, mTSA + Client Credentials/HMAC-ի համար m2m-ի համար։

3. Տոկենները ՝ կարճ TTL, խիստ «aud», կարճ, DPoP/PoP կրիտիկական վիրահատությունների համար։

4. PEP խաղացողի վրա 'JWT, ստորագրություններ և rate limits մինչև ծրագիրը։

5. Anti-replay-ը և գաղափարախոսությունը ՝ timestamp/nonce/Idempotency-Key։

6. Ռոտացիաները և JWKS: dj-key, ավտոմատիզացիան և ալերտինգը։

7. Դիտարկումը 'չափումներ/SLO, հասանելիության ամսագրեր, UEBA ազդանշաններ։

8. Ուսուցումները 'ստորագրման ստեղնը, ռեֆրեսի արտահոսքը, քվոտաների ծանրաբեռնվածությունը։

Հատուկ iGaming/fintech

Վճարումներ/վճարումներ ՝ միայն mTSA + PoP/HMAC, խիստ կոշիկներ («withdr.ru»)։ create '), idempotency-ը պարտավոր է։

Գործընկերները (PMS/բովանդակության պրովայդերներ): per-partner բանալիներ/հավաստագրեր, IP/ASN allow-list, առանձին քվոտաներ և dashbords։

GDPR/PCI DSS-ը 'քլեյմների նվազեցումը, PII-ի արգելքը երրորդ կողմի հոսքերում, զգայուն ռեսուրսների հասանելիության տրամաբանությունը, որը համապատասխանում է ակնարկին։

Anti-abuse: վարքագծային լիմիտներ, գեո վերահսկողություն, պաշտպանություն բոնուս-աբուզից API մակարդակում։

FAQ

JWT կամ reference token?

JWT-ը արտադրողականություն և ինքնավարություն է։ reference-ը կենտրոնացված արձագանք և պարզություն է։ Հաճախ հիբրիդ 'արտաքին' JWT, ներքին 'reference։

Արդյո՞ ք JWE-ն անհրաժեշտ է։

Միայն եթե payload-ը պարունակում է PII/գաղտնիքները։ Հակառակ դեպքում, JWS-ը նվազագույն կլեյմերով։

Կարո՞ ղ եք ապրել API-բաների վրա։

Այո, բայց միայն կարճ TTL, խիստ քվոտաների, IP-allow-list-ի և հարցումների ստորագրությամբ։ Օգտագործողների համար - OAuth/OIDC։

DPoP/PoP։

Միշտ չէ, որ։ Բայց high-risk վիրահատությունների համար (վճարումներ, եզրակացություններ) չափազանց ցանկալի է։

Արդյունքը

API-ի հուսալի անվտանգությունը կառուցվում է կարճ հոսանքների, ճշգրիտ սկուտերների և լսարանների վրա, որոնք պաշտպանված են ալիքներով (TFC/mTRK), հարցումների ստորագրությունները և խիստ հակատիպային պաշտպանության ստորագրությունները, որոնք ամրացված են սահմաններով և դիտարկմամբ։ Ավելացրեք ավտոմատացված ռոտացիաները, dig-key rollout-ը և քաղաքական վերահսկողությունը խաղախաղերի վրա, և ձեր API-ն կդառնա կայուն արտահոսքի, խոհարարների և չարաշահումների համար, պահպանելով բարձր արտադրողականությունը և կառավարումը։

Contact

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

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

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

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

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

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