Jak kasyno monitoruje bezpieczeństwo żądań API
Dlaczego bezpieczeństwo API jest krytyczne w iGaming
API - system nerwowy kasyna: zakłady, portfel, pulpit, dostawcy gier, KYC/KYT, telemetria. Każda dziura = pieniądze, PII, licencja, reputacja. W przeciwieństwie do zwykłego handlu elektronicznego, kasyna mają cechy: pieniądze w czasie rzeczywistym, regulacje, wysoka motywacja atakujących i złożona matryca integracji.
Zasady architektoniczne (szkielet ochrony)
1. Zero-Trust & Least Privilege. Nie ufamy sieci ani klientom. Każde połączenie jest sprawdzane, dostęp jest minimalnym wymaganym (RBAC/ABAC).
2. Oddzielenie domeny. Pieniądze/PII/cash/game gateways - różne obwody i sieci, różne klucze i zasady.
3. Pojedyncza brama API. Punkt: mTLS, zarządzanie WAF/bot, OAuth2/JWT, limity stawek, źródła zagrożenia, rejestrowanie.
4. Domyślna obserwacja. Śledzenie, korelacja 'traceId', wpisy dotyczące anomalii (SLO/SIEM).
5. Bezpieczne domyślne. Krótkie żetony TTL, zakazujące „szerokiego” systemu CORS, odmawiające domyślnie w Dziale Polityki.
Uwierzytelnianie i autoryzacja
Połączenia międzyresortowe: mTLS + krótkotrwała JWT (5-10 min) z 'aud/iss/kid' i rotacją klucza; opcjonalny podpis nadwozia HMAC.
Call Integrity - podpisy, czas, idempotencja
Podpis HMAC kanonizowanego wniosku o złożenie: sortowanie parametrów, stabilna serializacja JSON (bez zbędnych przestrzeni, ta sama kolejność kluczy), nagłówki:
X-Request-Timestamp: 2025-10-17T14:22:05Z
X-Request-Nonce: 8c1c... fa
X-Request-Signature: v1 = HMAC-SHA256: base64 (...)
X-Idempotency-Key: c0a4-77f...
Ochrona przed powtórzeniem: prawidłowe okno czasu (± 300 sekund), sprawdzanie 'nonce' w pamięci podręcznej.
Idempotency-Key for money/webhooks: powtarzanie żądania nie tworzy drugiego debetu/kredytu.
mTLS do portfela/kasy/dostawców: szyfrowanie transportu + wzajemna weryfikacja stron.
Przykład bezpiecznego poczty:
POST/portfel/debet
Typ treści: aplikacja/json
X-Request-Timestamp: 2025-10-17T14:22:05Z
X-Request-Nonce: 8c1c0cfa
X-Idempotency-Key: 9a7f-2b1c
X-Request-Signature: v1 = HMAC-SHA256: Z2V... = =
{
odtwarzanie Id: "p _ 123", "kwota": "10. 00”, „waluta”:” EUR”, „powód”:” zakład. miejsce „,” roundId': „R-2025-10-17-PRAGM-12”
}
Walidacja wejściowa: schematy i kanonizacja
JSON Schema/OpenAPI jako umowa. Dowolny ciąg - poprzez walidację typów, zakresów i whitelistów (kody ISO walut/krajów, statusy enum).
Ograniczenia wielkości: ograniczyć rozmiar ciała i tablic, zakazać „głębokiego” gniazdowania.
Kanonizacja JSON przed podpisem/logami, przesiewanie znaków specjalnych, ścisłe 'Content-Type'.
Masowe przypisanie blokady-Explicit zezwala-listy pól.
Ochrona powierzchni: WAF, boty, prędkość
Zarządzanie WAF/bot: podpisy i wykrywanie behawioralne (szybkość, geo, odcisk palca urządzenia).
Limity/kwoty stawek: według metody IP/token/client/; oddzielne limity pieniężne i niepieniężne.
DoS/abuse-control: wyłączniki, timeouts, backpressure, „szare listy”.
CORS: punkt „Access-Control-Permit-Origin”, zakaz wildcard i „Authorization” w przeglądarce pochodzi niepotrzebnie.
OWASP API Top-10 → konkretne środki
BOLA/BFLA (Broken Object/Function Level Auth): ABAC według właściciela zasobów, filtry za pomocą 'plaاId', zakaz' obcych 'identyfikatorów.
Wtrysk/SSRF: parametryzowane żądania, zakaz zewnętrznych adresów URL w wywołaniach serwera, lista dopuszczalna hosta.
Nadmierna ekspozycja na dane: kształtowanie odpowiedzi (maska pól), paginacja, normalizacja błędów bez wycieku części.
Błędna konfiguracja zabezpieczeń: jedność wersji TLS/cipher, nagłówki CSP/Permissions-Policy/Referrer-Policy.
Niebezpieczne zużycie API: owijarki nad dostawcą API z terminami, przekładkami, deduplikacją.
PII i prywatność
Tokenizacja i szyfrowanie PII (atrybuty gracza, dokumenty KYC): KMS/HSM, pola - AES-GCM.
Minimalizacja danych: w zdarzeniach/dziennikach - tylko pseudonimy (odtwarzanie), nigdy - numery dokumentów/kart.
Zachowanie: TTL jest inny dla domen (portfel/gry/kasa) zgodnie z wymogami jurysdykcji.
Dostęp do ról: zróżnicowanie odczytu PII na poziomie bazy danych i usług (bezpieczeństwo/polityka na poziomie wiersza).
Bezpieczne haki i kasy
Weryfikacja dwuskładnikowa: mTLS do webhook + podpis HMAC dostawcy.
Anty-replay: 'X-Idempotence-Key', 'X-Timestamp', okno czasu.
Dopuszczlist dostawca IP/ASN, statyczny egress-IP z nami.
„Trujące” ładunki: limity wielkości, ignorowanie niewykorzystanych pól, ścisły schemat.
Punkt końcowy audytu i testu: dostawca piaskownicy + testy kontraktowe.
Sekrety i klucze
Pamięć masowa: KMS/HSM/Secrets-manager, nigdy w zmiennych git/środowiskowych bez szyfrowania.
Obrót: automatyczny, 'dzieciak' w nagłówkach/metadanych, cofanie kluczy kompromisowych.
Dostęp: break-glass procedury, rejestrowanie wszystkich dostępu do tajemnic.
Kłody, szlaki, wpisy
Korelacja: 'traceId/ Id/pla, Id/roundId' w każdej warstwie (ingress → API → portfel → dostawca → webhook).
Anomalie: gwałtowny „401/403/429”, wzrost „VOID”, skoki „bet. reject” według regionu, awarie HMAC/mTLS.
Sygnały ataku: wiele 'nonce' powtórzeń, stare 'timestamp' attempts, długie ciała, nieznane 'dziecko'.
Przechowywanie dziennika: immutable (WORM), oddzielna strefa dostępu, maskowanie PII.
Plan badań i kontrola jakości
Static/Dynamic AppSec: SAST/DAST na każdym CI, tajne podpisy, zależności - SCA.
Pentests i ed-tim: powtórka skryptów, podpis na złym kanale, obwodnica limitów, BOLA, SSRF.
Testy kontraktowe: dla OpenAPI/JSON-Schema, „przypadki negatywne”.
Ćwiczenia chaosu/opóźnienia: zachowanie w czasie dostawców/kasy, poprawność idempotencji.
Bug-bounty: program o oddzielnym obwodzie i zasadach sprawozdawczości.
Przydatne tytuły i ustawienia
"Ścisłe bezpieczeństwo transportu: maksymalny wiek = 63072000; „SubDomeny”; preload "
"Content-Security-Policy: default-src" none "; frame-ancestors 'none' (dla domen API)
„Referrer-Policy: no-referrer”
„Uprawnienia-Polityka: geolokalizacja = (), mikrofon = (), kamera = ()”
„X-Content-Type-Options: nosniffe”
"Cache-Control: no-store 'na prywatnych punktach końcowych
Odpowiedzi na błędy - jednolity format
json
{"błąd": "INVALID _ SIGNATURE", "code": "SEC _ 401", "traceId": "tr _ 5f1", "ts':" 2025-10-17T14: 22: 06Z "}
Anty-wzory (co łamie bezpieczeństwo)
Długotrwałe żetony JWT/odświeżające bez obrotu i wiązania z urządzeniem.
Podpis „jak jest” bez kanonik JSON → przejście kontroli.
Brak 'Idempotence-Key' na pieniądzach/webhakach → podwójne odpisy.
Wildcard-CORS i "w" Access-Control-Permit-Origin "dla punktów końcowych z" Authorization ".
Dzienniki z PII/sekrety, wspólny dostęp do dzienników „dla wszystkich”.
Jeden wspólny klucz HMAC dla wszystkich integracji.
Brak limitów wielkości/głębokości JSON, brak terminów i wyłączników.
Błędy, które ujawniają wewnętrzne części (ślady stosu, SQL, wersje biblioteczne).
Lista kontrolna bezpieczeństwa API w kasynie
Obwód i transport
- mTLS na kanałach między usługami i usługodawcami; TLS 1. 3 wszędzie.
- Brama API z zarządzaniem WAF/bot, ograniczanie stawki, feed-threats.
- CORS - adresowalny tylko, bez karty dzikiej.
Uwierzytelnianie/autoryzacja
- OAuth2/OpenID dla klientów, JWT z TTL ≤ 10 min, rotacja klucza („dziecko”).
- RBAC/ABAC według domen; admin - SSO + MFA + IP-permlist.
Integralność i ponowne wnioski
- Podpis HMAC, „X-Request-Timestamp”, „X-Request-Nonce” i okno czasowe.
- „X-Idempotency-Key” na pieniądze, haki internetowe, kasę; przechowywanie kluczy w pamięci podręcznej.
Walidacja
- OpenAPI/JSON-Schema, kanonizacja JSON, ograniczenia wielkości/głębokości.
- Maskowanie i whitelisty dla pól; zakaz masowego przydziału.
PII i dane
- Tokenizacja/szyfrowanie PII (KMS/HSM), minimalizacja, oddzielne zasady retencji.
- Split storage for PII/telemetry/money.
Integracja
- Haki internetowe: mTLS + HMAC, permlist IP, anty-replay, testy kontraktowe.
- Gotówka/krypta: dwóch dostawców i różne klucze/sieci, idempotencja dla wejścia/wyjścia.
Obserwowalność
- Śledzenie za pomocą 'traceId/plaاId/roundId', alert do sygnałów ataku.
- Dzienniki niezmienne (WORM), brak PII/tajemnic.
Procesy
- SAST/DAST/SCA w CI, pentests/ed-tim regularnie, bug-bounty.
- Incydenty w książkach startowych: cofnij klucze, odwrót, komunikacja.
Bezpieczeństwo API w iGaming nie jest "umieścić WAF. "Są to system: mTLS + podpisy + idempotencja, ścisła walidacja i kanonizacja, ochrona obwodu i prędkości, izolacja PII, bezpieczne haki kasowe, obserwowalność i regularne kontrole. Tworząc tę część kultury inżynieryjnej, chronisz pieniądze, graczy i licencję, zachowując jednocześnie szybkość produktu i stabilność uwalniania.