Чӣ гуна казино амнияти дархостҳои API-ро назорат мекунад
Чаро амнияти API дар IGaming муҳим аст
API - системаи асабии казино: гарав, ҳамён, кассаи пулӣ, провайдерҳои бозӣ, KYC/KYT, телеметрия. Ҳама гуна сӯрохи = пул, PII, литсензия, обрӯ. Баръакси тиҷорати муқаррарии электронӣ, казиноҳо дорои хусусиятҳо мебошанд: пули воқеӣ, танзим, ҳавасмандии баланди ҳамлагарон ва матритсаи мураккаби ҳамгироӣ.
Принсипҳои меъморӣ (скелети муҳофизатӣ)
1. Имтиёзи сифр-эътимод ва камтарин. Мо ба шабака ё муштариён эътимод надорем. Ҳар як занг тафтиш карда мешавад, дастрасӣ ҳадди аққал талаб карда мешавад (RBAC/ABAC).
2. Ҷудосозии домейн. Пул/PII/пули нақд/дарвозаҳои бозӣ - периметрҳо ва шабакаҳои гуногун, калидҳо ва сиёсатҳои гуногун.
3. Дарвозаи ягонаи API. Нуқта: m: TTLS, идоракунии WAF/бот, OAuth2/JWT, маҳдудиятҳои нархҳо, каналҳои таҳдидкунанда, чӯбкорӣ.
4. Мушоҳидаҳои пешфарз. Пайгирӣ, коррелятсияи 'trrace' Id, огоҳиҳо дар бораи аномалияҳо (SLO/SIEM).
5. Пешфарзҳои бехатар. Нишонаҳои кӯтоҳи TTL, ки CORS-и "васеъ" -ро манъ мекунанд, дар Network-Policy бо нобаёнӣ рад мекунанд.
Аутентификатсия ва авторизатсия
Зангҳои байниминтақавӣ: mTLS + JWT-и кӯтоҳмуддат (5-10 дақиқа) бо 'aud/iss/kid' ва гардиши калидӣ; имзои ихтиёрии бадани HMAC.
Беайбии занг - имзоҳо, вақт, номутаносибӣ
Имзои HMAC дархости пешниҳоди кононизатсияшуда: мураттабсозии параметрҳо, сериализатсияи устувори JSON (бе фосилаҳои нолозим, ҳамон тартиби калидӣ), сарлавҳаҳо:
X-Дархост-Вақт: 2025-10-17T14:22:05Z
X-Дархост-Nonce: 8c1c... fa
X-Дархост-Имзо: v1 = HMAC-SHA256: base64 (...)
Калиди X-Idempotency: c0a4-77f...
Муҳофизати такрорӣ: равзанаи вақти дуруст (± 300 сония), санҷиши 'nonce' дар кэш.
Idempotency-Key барои пул/webhooks: такрори дархост дебет/кредити дуюмро эҷод намекунад.
MTLS ба ҳамён/кассаи/провайдерҳо: рамзгузории нақлиёт + санҷиши мутақобилаи тарафҳо.
Намунаи POST-и бехатар:
POST/ҳамён/дебет
Намуди мундариҷа: барнома/json
X-Дархост-Вақт: 2025-10-17T14:22:05Z
X-Дархост-Nonce: 8c1c0cfa
Калиди X-Idempotency: 9a7f-2b1c
X-Дархост-Имзо: v1 = HMAC-SHA256: Z2V... = =
{
"player 'Id":" p _ 123", "маблағ":" 10. 00", "асъор":" EUR", "сабаб":" бет. ҷой," "round-Id":" R-2025-10-17-PRAGM-12"
}
Тасдиқи вуруд: схемаҳо ва каноникализатсия
JSON Schema/Open-API ҳамчун шартнома. Ҳама гуна сатр - тавассути тасдиқи намудҳо, диапазонҳо ва сафедпӯстон (рамзҳои ISO асъор/кишварҳо, статусҳои энум).
Маҳдудиятҳои андоза: андозаи бадан ва массивҳоро маҳдуд кунед, лонаҳои "амиқ" -ро манъ кунед.
Каноникализатсияи JSON пеш аз имзо/гузоришҳо, намоиши аломатҳои махсус, қатъии 'Мазмун-намуди'.
Қулфи таъиноти оммавӣ-Рӯйхати иҷозатномаҳои саҳроҳо.
Муҳофизати рӯизаминӣ: WAF, ботҳо, суръат
Идоракунии WAF/бот: имзоҳо ва муайянкунии рафтор (суръат, гео, изи ангуштони дастгоҳ).
Меъёрҳо/квотаҳо: бо IP/токен/мизоҷ/усул; маҳдудиятҳои ҷудогонаи пул ва пул.
ДО/сӯиистифода аз назорат: қаторкӯҳҳо, танаффусҳо, бозгашт, "рӯйхати хокистарӣ".
CORS: нуқтаи 'Дастрасӣ-Назорат-Иҷозат-пайдоиш', манъи ваҳшӣ ва 'Авторизатсия' дар пайдоиши браузер беасос.
Чораҳои мушаххаси OWASP API Top-10
BOLA/BFLA (Broken Object/Function Level Auth): ABAC аз ҷониби соҳиби захираҳо, филтрҳо аз ҷониби 'Player', манъи идентификаторҳои "хориҷӣ".
Тазриқ/SSRF: дархостҳои параметри, манъи URL-ҳои беруна дар зангҳои сервер, рӯйхати мизбон.
Таъсири аз ҳад зиёди маълумот: ташаккули посухҳо (ниқоби майдонҳо), пагинатсия, нормализатсияи хатогӣ бидуни ихроҷи қисм.
Танзими нодурусти амният: ягонагии TLS/шифр, CSP/Иҷозат-Сиёсат/Referrer-Policy сарлавҳаҳо.
Истеъмоли хатарноки API-ҳо: парпечҳо аз болои провайдери API-ҳо бо танаффус, бозсозӣ, такроркунӣ.
PII ва махфият
Токенизатсия ва рамзгузории PII (атрибутҳои бозингар, ҳуҷҷатҳои KYC): KMS/HSM, майдонҳо - AES-GCM.
Кам кардани маълумот: дар рӯйдодҳо/гузоришҳо - танҳо тахаллусҳо ('player' Id '), ҳеҷ гоҳ - рақамҳои ҳуҷҷат/корт.
Нигоҳдорӣ: TTL барои доменҳо (ҳамён/бозиҳо/кассаи пулӣ) аз рӯи талаботи қаламравҳо фарқ мекунад.
Дастрасии нақш: фарқияти хондани PII дар сатҳи пойгоҳи додаҳо ва хидматҳо (сатҳи амният/сиёсат дар сатр).
Webhooks бехатар ва дафтари қуттӣ
Тафтиши ду-омил: mTLS ба webhook + имзои HMAC провайдер.
Анти-такрорӣ: 'X-Idempotency-Key', 'X-Timestamp', равзанаи вақт.
Провайдери Allowlist IP/ASN, egress-IP статикӣ бо мо.
Сарбории "заҳролуд": маҳдудиятҳои андоза, сарфи назар кардани майдонҳои истифоданашуда, нақшаи қатъӣ.
Нуқтаи аудит ва нуқтаи санҷиш: санҷишҳои провайдер + санҷишҳои шартномавӣ.
Асрҳо ва калидҳо
Нигоҳдорӣ: KMS/HSM/Secrets-manager, ҳеҷ гоҳ дар тағирёбандаҳои git/муҳити зист бидуни рамзгузорӣ.
Гардиш: худкор, 'кӯдак' дар сарлавҳаҳо/метамаълумот, бекор кардани калидҳои осебпазир.
Дастрасӣ: расмиёти шишагин, сабти ҳама дастрасӣ ба асрҳо.
Гузоришҳо, роҳҳо, огоҳиҳо
Коррелятсия: 'пайгирӣ/дархост/Id/player
Аномалияҳо: афзоиши '401/403/429', афзоиши 'VOID', ҷаҳиши 'bet. рад' аз рӯи минтақа, нокомии HMAC/MTLS.
Сигналҳои ҳамла: такрори бисёр 'nonce', замонҳои кӯҳна ', баданҳои дароз,' кӯдак 'номаълум.
Захираи журнал: тағйирнопазир (WORM), минтақаи дастрасии алоҳида, ниқоби PII.
Нақшаи санҷиш ва назорати сифат
Барномасозии статикӣ/динамикӣ: SAST/DAST дар ҳар як CI, имзоҳои махфӣ, вобастагӣ - SCA.
Пентестҳо ва ed-tim: скриптҳои такрорӣ, имзо дар канали нодуруст, гузариши меъёрҳо, BOLA, SSRF.
Санҷишҳои шартномавӣ: барои OpEN API/JSON-Schema, "ҳолатҳои манфӣ".
Машқҳои бесарусомонӣ/дермонӣ: рафтор ҳангоми таъини провайдерҳо/кассаҳои пулӣ, дурустии аблаҳӣ.
Баракат: барнома бо периметри алоҳида ва қоидаҳои гузоришдиҳӣ.
Унвонҳо ва танзимоти муфид
'Амнияти сахт-нақлиёт: макс-синну сол = 63072000; дохилкунии Sub- Domains; боркунии пешакӣ '
'Мазмун-Амният-Сиёсат: пешфарз-src' ҳеҷ '; чорчӯба-ниёгон 'none "(барои доменҳои API)
'Referer-Policy: истинод нест'
'Иҷозат-сиёсат: геолокация = (), микрофон = (), камера = ()'
'X-Content-Type-Options: nosniff'
'Кэш-Назорат: Нуқтаҳои ниҳоии хусусӣ нест
Ҷавобҳои хато - Формати ягона
json
{"хато ": "INVALID _ SIGNATURE", "рамз ": "SEC _ 401", "пайгирӣ ":" tr _ 5f1", "ts ":" 2025-10-17T14: 22: 06Z"}
Анти-намунаҳо (ки амниятро вайрон мекунад)
Нишонаҳои дарозмуддати JWT/тароват бидуни гардиш ва ҳатмӣ ба дастгоҳ.
Имзои "мисли" бидуни каноникализатсияи JSON → гузариши чекҳо.
Набудани 'Idempotency-Key' дар пул/webhooks → аз ҳисоб баровардани дукарата.
Wildcard-CORS ва "дар 'Дастрасӣ-Назорат-Иҷозат-пайдоиш' барои нуқтаҳои ниҳоӣ бо 'Авторизатсия'.
Сабтҳо бо PII/асрори, дастрасии муштарак ба гузоришҳо "барои ҳама".
Калиди ягонаи HMAC барои ҳамаи интегратсияҳо муштарак аст.
На маҳдудиятҳои андоза/умқи JSON, на танаффус ва ҳам схемаҳо.
Хатогиҳое, ки қисмҳои дохилиро ошкор мекунанд (пайҳои стек, SQL, версияҳои китобхона).
Рӯйхати санҷиши амнияти казино API
Периметр ва нақлиёт
- m-TLS дар каналҳои байнишаҳрӣ ва провайдерҳо; TLS 1. 3 дар ҳама ҷо.
- Дарвозаи API бо идоракунии WAF/бот, маҳдудияти нархҳо, каналҳои таҳдидкунанда.
- CORS - танҳо суроға, ҳеҷ ваҳшӣ.
Аутентификатсия/авторизатсия
- барои мизоҷон, JWT бо TTL 10 дақиқа, гардиши калидӣ ('кӯдак').
- RBAC/ABAC аз рӯи домен; админ - SSO + MFA + IP-алловлист.
Беайбӣ ва дархостҳои дубора
- Имзои HMAC, 'X-Request-Timestamp', 'X-Request-Nonce' ва равзанаи вақт.
- 'X-Idempotency-Key' оид ба пул, webhooks, кассир; нигоҳ доштани калидҳо дар кэш.
Тасдиқот
- Кушодани API/JSON-Schema, каноникализатсияи JSON, маҳдудиятҳои андоза/амиқ.
- Маскаҳо ва сафедпӯстон барои майдонҳо; манъ кардани таъини оммавӣ.
PII ва маълумот
- Токенизатсия/рамзгузории PII (KMS/HSM), ҳадди аққал, сиёсати алоҳидаи нигоҳдорӣ.
- Тақсимоти анбор барои PII/telemetry/пул.
Интегратсия
- Webhooks: MTLS + HMAC, IP allowlist IP, анти-такрорӣ, санҷишҳои шартнома.
- Пули нақд/крипто: ду провайдер ва калидҳо/шабакаҳои гуногун, номутобиқатӣ барои вуруд/баромад.
Мушоҳидакорӣ
- Пайгирӣ бо 'trace
- Гузоришҳои ивазнашаванда (WORM), PII/асрори нест.
Равандҳо
- SAST/DAST/SCA дар CI, пентестҳо/ed-tim мунтазам, хайрхоҳӣ.
- Ҳодисаҳои дафтарчаҳо: бекор кардани калидҳо, бозгашт, иртибот.
Амнияти API дар IGaming "гузошта намешавад WAF. "Инҳоянд система: имзоҳои MTLS + idempotency, санҷиши қатъӣ ва каноникализатсия, периметр ва муҳофизати суръат, ҷудокунии PII, веб-кассаҳои бехатар, мушоҳидаҳо ва чекҳои мунтазам. Бо ин як қисми фарҳанги муҳандисӣ, шумо ҳангоми нигоҳ доштани суръати маҳсулот ва устуворӣ пул, бозингарон ва литсензияро ҳифз мекунед.