GH GambleHub

API қауіпсіздігі және сұрау сүзгісі

1) Бұл не үшін қажет

API - платформаның сыртқы және ішкі шекарасы. Аутентификациядағы, авторизациядағы, валидациядағы немесе нормаландырудағы кез келген қате осалдықтарды пайдалануға айналады (BOLA/IDOR, injection, SSRF, жаппай шектен шығу, ресурстық сарқылу). Мақсаты: өлшенетін SLO және тәуекелдерді бақылаумен периметрден бизнес-ережелерге дейін көп деңгейлі қорғанысты (defense-in-depth) құру.

2) API түгендеу және жіктеу

API каталогы: барлық сервистердің/эндпоинттердің тізілімі, клиенттердің иелері, нұсқалары, типтері (web, mobile, серіктестер), режим (жария/серіктес/ішкі), PII/қаржылық деректер.
Сындылығы: High (қаржылық операциялар/авторизация), Medium (бейінді оқу), Low (көпшілік анықтамалықтары).
Шабуыл беті: REST, GraphQL, gRPC, WebSocket, webhooks.
Мәртебесі: prod/staging/experimental, депрекейт саясаты, токендер/кілттердің өмір сүру мерзімі.
Shadow/тасталған API: логтардың ингресті арқылы табу, eBPF/Service Mesh телеметрия, каталогпен салыстыру.

3) Қатерлер моделі (қысқаша)

Сәйкестендіру: токендерді ұрлау, сессияны тіркеу, MitM, replay.
Авторизация: BOLA/IDOR, көлденең/тік эскалация.
Енгізу: инъекциялар (SQL/NoSQL/LDAP), шаблондық/серилизациялық, path traversal, тақырыптар.
Трафик: DDoS/L7-флудалар, баяу сұраулар, фантомдық ретрациялар.
Интеграциялар: қауіпсіз емес webhooks, URL параметрлері арқылы SSRF, файлдарды/сканерлерді жүктеу.
Логика: бонустарды теріс пайдалану, жарыстар, сәйкессіздік.

4) Қауіпсіздіктің базалық стандарты (минимум)

1. TLS 1. 2 + барлық жерде; HSTS; әлсіз шифрлар ажыратылған.
2. Аутентификация: клиенттер үшін OAuth2/OIDC, mTLS/немесе HMAC - сервис-к-сервис.
3. Авторизация: орталықтандырылған PDP (RBAC/ABAC), объектілік деңгейде тексеру (BOLA).
4. Валидация: қатаң схема (OpenAPI/JSON Schema/Protobuf), артық өрістерде істен шығу.
5. Лимиттер: rate/quotas + burst, пер-клиент/пер-IP/пер-токен.
6. Write-операциялардағы теңсіздік, қайталанудан/жарыстан қорғау.
7. WAF/гейтвей-сүзу: жолдарды/тақырыптарды қалыпқа келтіру, deny-парақтар, payload-анти-паттерндер блогы.
8. Құпиялар: KMS/Vault, кілттерді/сертификаттарды ротациялау, ағындарды бақылау.
9. Бақылануы: трассинг, қауіпсіздік аудит-логтары (кім/не/қашан/нәтиже), алерта.
10. Процедуралар: playbook инциденттер, тест-кейстер және тұрақты пентесттер/DAST.

5) Токендерді аутентификациялау және басқару

OAuth2/OIDC: қысқа өмір сүретін access-токендер, refresh қатаң OIDC бойынша; audience/issuer/exp гейтвейде тексеріледі.
JWT: RS256/ES256; ең аз клеймо жиынтығы; 'nbf/exp/aud' міндетті; PII сақтауға тыйым салу. JWKS арқылы кілттерді ротациялау.
DPoP/PoP: replay/айдап әкету қаупін төмендету үшін токенді клиент кілтіне байланыстыру.
Ішкі жүйелер мен сенімді серіктестерге арналған mTLS (CN/SAN, CRL/OCSP бойынша аттестаттау).
HMAC (қолдары): детерминирленген каноникализация (әдіс + жол + timestamp + nonce + body-hash); рұқсат етілген уақыт терезесі (± 300s).
Шолғыш сеанстары: SameSite = strict/lax, HttpOnly, Secure; CSRF (double submit/стейт-токендер) қорғанысы.
Клиенттердің қоймасы: мобильді - қауіпсіз сақтау орындары (Keychain/Keystore), дебагтан қорғау, сертификаттар пиннингі.

6) Авторизация (BOLA-first)

Object-level: әрбір операция нақты ресурстың құқығын тексереді (resource owner/scope/төлсипаттар).
RBAC/ABAC: рөлдер + атрибуттар (ел, сегмент, тәуекел лимиттері, KYC-деңгей).
Саясат: deny-by-default; айқын allow; саясатты нұсқалау; теріс жағдайларға арналған тестілер.
Шешімдердің кеші: бейімделген TTL + рөлдер/сегменттер өзгерген кезде мүгедектік.

7) Сұратуларды сүзу және қалыпқа келтіру (гейтвейде/WAF)

Қалыпқа келтіру: қайталама слэштерді қысу, тыйым салу '../', бір рет декодтау, бос орындарды/нөл байттарды кесу.
Тақырыптар: allow-list ('Host', 'Content-Type', 'Accept', 'Authorization', 'Date', 'Idempotency-Key', қажетті trace-тақырыптар).
Әдістер: 'GET/HEAD' денесіз; 'POST/PUT/PATCH' - 'application/json' түрімен немесе қатаң рұқсат етілген.
Өлшемдері: max-body, max-headers, max-path; early-reject 413/431.
Файлдар: MIME валидаторы, антивирус/сандбокс, белсенді мазмұнға тыйым салу, суреттерді ресайз/санитайз.
URL-мекенжайлар/фетчтер: SSRF блогы (deny private ranges/metadata IP, тек 'https', домендердің allow-list схемасы).
SQL/NoSQL-үлгілері: 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.
Quotas: тәуліктік/айлық, write/expensive әдістері үшін бөлек.
Бейімділігі: аномалиялар кезінде динамикалық қатаю (sudden burst/credential stuffing).
Slow-loris/slow-POST: оқу/keep-alive таймауттары, параллель қосылыстарды шектеу.
Антибот: device-fingerprint, мінез-құлық белгілері, жоғары тәуекелге proof-of-work/капча, торлар/прокси-желілер тізімі.
IP-бақылау: гео/ASN-сүзгілер, «лас» кіші желілердің deny-парақтары, серіктестер/әкімшілік панельдер үшін allow-парақтары.

9) Кіріс деректері мен схемаларын валидациялау

Fail-closed: схемадан өтпегендердің барлығы - 400. Артық өрістер - қабылдамау.
Түрлері/диапазондары: сандар, күндер (UTC/ISO-8601), enum-мәндер, жол ұзындықтары, регэксптер.
JSON-сапасы: max-nesting, үлкен массивтерге/кілттерге тыйым салу, canonical order (қосымша).
Бизнес-валидация: «Idempotency-Key» бойынша ұқсастық; анти-фрод-ережелер (операциялар жиілігінің лимиттері, amount caps).
GraphQL: depth/complexity-лимиттер, allow-listed queries, пер-өріс авторизациясы.
gRPC: қатаң Protobuf схемалары, міндетті өрістер, хабарламалар өлшемінің лимиттері.

10) Webhooks және сыртқы қоңыраулар

Қолтаңбалар: Таймстамппен HMAC/nonce; өңдеуге дейінгі верификация; терезе +/- 5 мин.
Жеткізу: экспоненциалды үзілісі және джиттері бар ретра; max-әрекеттер; оқиға ID бойынша дедупликация.
жеткізушінің IP allow-list; жеке кіші домен/жол; минималды хостинг-стек.
Жауаптар: 2xx сәтті ішкі жазбадан кейін ғана; керісінше 4xx/5xx түсінікті кодпен.
Шығыс SSRF бақылау: callback URL - allow-list кезінде, жеке мекенжайларға тыйым салу.

11) Шифрлау және құпияларды басқару

Арнада: TLS 1. 2+/1. 3, пиннинг, шифрлардың қатаң саясаты.
Тыныштықта: ДБ/объектілік қойманы шифрлау, PII/қаржылық деректер үшін жеке кілттер.
KMS/Vault: орталықтандырылған құпияларды сақтау, қысқа TTL, автоматты ротация.
Кілттер мен сертификаттар: қоршаған ортаға арналған жеке; беру аудиті; логиге шығаруға тыйым салу.
Token-introspection: offline-шолу тізімдері (revocation), қысқа 'exp'.

12) Бақылау, аудит және ден қою

Қауіпсіздік логтары: аутентификация әрекеттері/табыстары, авторизациядан бас тарту, rate-limit оқиғалар, рөлдерді/лимиттерді өзгерту.
Трасса: correlation-ID өтпелі; сыртқы шақырулар трассингі.
Метриктер: RPS, P95/P99 latency, кодтар бойынша error-rate, 401/403/429 үлесі, hit-rate лимиттері, аномалиялар.
Алерталар: 401/403/429 жарылыстары, 5xx биіктігі, жиі idempotency-қақтығыстар, QL-complexity бағандарының күрт ауытқулары.
Playbooks: кілттерді/токендерді бұғаттау, ережелерді жылдам қайтару, deny-парақты қыздыру, сервис иелеріне хабарлау.
Форензика: даулы payload (PII қауіпсіз редакциялау), репликаны оқшауланған стендте сақтау.

13) Қателер және клиентке жауаптар

Бірыңғай қате пішімі (код, хабарлама, trace-id, санат).
Ағытусыз: SQL, кесте атаулары, ішкі айдтар ашылмасын; 403 «неге нақты жоқ» орнына.
Кодтар: 400 (валидация), 401 (аутентификация жоқ), 403 (құқықтар жоқ), 404 (тіршілікті бүркемелеу), 405/406, 413/429, 500/503.
Retry-Hints: для 429 — `Retry-After`; демпотенттілік үшін - сол кілтпен қайталау жөніндегі кеңес.

14) Сәулет паттерндері

Zero-Trust: mTLS, барлық сервистер арасында айқын авторизация, ең аз артықшылықтар.
API-шлюз + WAF + сервис-меш: міндеттерді бөлу - периметр, L7-саясат, ішкі аутентификация.
Canary/Blue-Green: жаңа сүзу ережелерін бақылаумен кезең-кезеңімен шығару.
Fail-closed: сыни write үшін - дұрыс емес операцияға жол беруден гөрі қауіпсіз бас тарту жақсы.
Backpressure: кезектер/буферлер, circuit breaker, timeouts/budgets.

15) Практикалық ережелердің үлгілері (жалған)

15. 1 Жолдар мен әдістерді шектеу


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

15. 2 Сәйкессіздік


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/Қаржы ерекшелігі

Сегменттік лимиттер: ӨЕК/ел/тәуекел бейініне байланысты.
Уақытша терезелер: депозиттер/шығарулар жиілігінің ережелері, транзакциялар арасында «салқындату».
Анти-абьюз бонустар: аккаунтқа/құрылғыға/IP/төлем құралына консистенттік бұғаттау.
Реттеуіштер талаптарының аудиті: әрекеттер мен шешімдер логтарын сақтау (KYC/AML), ретеншн-кезеңдер, өзгермейтін журналдар.

17) Prod-әзірліктің бақылау тізімі

  • Толық API каталогы және деректер ағындарының картасы (PII/қаржы белгіленген).
  • OpenAPI/Protobuf схемалары, валидация тестілері және CI келісімшарттары.
  • mTLS/HMAC/OAuth2 теңшелген; қысқа TTL токендері; кілттерді ротациялау.
  • BOLA-тесттер және авторизацияның теріс жағдайлары; орталықтандырылған PDP.
  • Лимиттер/квоталар/anti-bot, slow-lorisтен қорғау; IP сүзгілері.
  • WAF/гейтвей-қалыпқа келтіру ережелері, инъекцияға қарсы белгілер.
  • Write-операциялардың ұқсастығы; replay қорғанысы.
  • Webhook қолтаңбалары және allow-list; оқшауланған endpoints.
  • KMS/Vault құпиялары; шифрланған сторадждер; аномалиядағы аллергия.
  • Дэшбордтар, алерттар, аудит-логтар; істен шыққан playbooks оқиғалар.
  • Тұрақты пентест/DAST/SAST, осалдықтар тректері және патчтар.

18) Антипаттерндер (не мүмкін емес)

'X-Forwarded-' дегенге сенім артыңыз.
Еркін 'Content-Type' және 'жұмсақ' JSON схемаларын қабылдау.
Ұзақ өмір сүретін JWT кері қайтарусыз/ротациясыз.
Орталықтандырылған саясаттарсыз кодтағы рөлдер мен бизнес-ережелерді араластыру.
Құпиялары бар логтар/PII; сыртқа егжей-тегжейлі 500-хабарлар.
Лимитсіз және авторизациясыз «уақытша» ашық эндпоинттер.

19) Нұсқалау және депрекейт

Жолдағы/тақырыптағы нұсқалар; қолдау саясаты (мысалы, N-2).
Хабарландырулар: депрекейт мерзімдері, ескі нұсқаларды пайдалану мониторингі, басқарылатын ажырату.
Үйлесімділік: келісімшарттар және клиенттердің/әріптестердің тест-матрицалары.

20) Қауіпсіздікті тестілеу

Схемалардың/саясаттың келісімшарттық тестілері, кірістердің fuzzing, negative auth.
Лимиттері/квоталары бар перфоманс-профильдер, қорғауды сынау (chaos-трафик).
Red-team/bug-bounty: BOLA, SSRF сценарийлері, қолтаңбалар/репликалар, GraphQL-complexity.

TL; DR

1. API каталогы + қатаң схемалар.
2. клиенттер үшін OAuth2/OIDC, mTLS/HMAC ішінде.
3. Әр ресурсқа BOLA-периметр (ABAC/RBAC).
4. Сүзу: жолдарды/тақырыптарды қалыпқа келтіру, лимиттер, WAF-ережелер.
5. Теңсіздік, қолтаңбалар, replay/SSRF қорғанысы.
6. KMS/Vault және құпияларды ротациялау.
7. Бақылау, алерталар, playbooks.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Telegram
@Gamble_GC
Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.