Инфрақұрылымдағы қауіпсіздік қабаттары
(Бөлім: Технологиялар және Инфрақұрылым)
Қысқаша түйіндеме
Қауіпсіздік - қабаттар жүйесі: әрбір қабат алдыңғы қабат сәтсіз болса, шабуылдарды тоқтатады және анықтайды. iGaming үшін бұл әсіресе өте маңызды: төлем ағындары, PII, серіктестік интеграциялар және ең жоғары жүктемелер. Төменде - бір басқарылатын бағдарламаға желіні, сәйкестікті, қосымшаларды, деректерді және операциялық процестерді қосатын defense-in-depth қаңқасы.
1) Қатерлер моделі және базалық қағидаттар
Threat Modeling: STRIDE/kill chain негізгі ағындар үшін (логин, депозит, мөлшерлеме, шығарылым, бэкофис).
Zero Trust: «әдепкі сенбеу», минималды құқықтар, әрбір хопта тексеру.
Least Privilege & Segregation of Duties: рөлдері атомарлы, сезімтал операциялар бөлінген.
Secure by Default: жабық порттар, deny-all саясаты, қауіпсіз дефолттар.
Auditability: барлық қолжетімділіктер/өзгерістер - орталықтандырылған аудитте.
2) Желі және периметр
Мақсаты: бүйірден орын ауыстыруға және тәуекелді оқшаулап басқаруға жол бермеу.
Сегментация/аймақтар: Edge (CDN/WAF) → API → сервистер → деректер (DB/KMS) → әкімші/бэкофис.
VPC/VNet оқшаулау + көпшілік/жеке сервистерге арналған кіші желілер; NAT/egress-бақылау (оның ішінде PSP/ойын провайдерлеріне egress-allowlist).
mTLS барлық жерде (mesh/Ingress), TLS 1. 2 +/HSTS/нақты криптоконфигурация.
WAF/бот-менеджмент/DDoS периметрде; credential stuffing үшін анти-скоринг.
DNS қауіпсіздігі: split-horizon, DNSSEC, істен шығуға төзімділік, критикалық домендер үшін кэш-пиннинг.
yaml apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: { name: api-deny-all, namespace: prod }
spec:
podSelector: { matchLabels: { app: api } }
policyTypes: [Ingress, Egress]
ingress: [] # deny-all egress:
- to:
- namespaceSelector: { matchLabels: { name: prod } }
podSelector: { matchLabels: { app: payments } }
ports: [{ protocol: TCP, port: 8080 }]
3) Сәйкестілік және қолжетімділік (IAM/PAM)
Мақсат: әрбір қолжетімділік негізделген, шектелген және ашық аудиттеледі.
Адамдар мен машиналар үшін SSO + MFA; артықшылықты есептерге арналған аппараттық кілттер.
бұлт/K8s/бэкофис үшін RBAC/ABAC; SCIM - автоматты түрде қосу/өшіру.
JIT-қолжетімділік (уақытша), күшейтілген аудиті бар break-glass.
Қысқа өмір сүретін токендері бар Service Accounts (OIDC/JWT), клиенттік құпиялар аудиті.
Bastion/пәрмендерді көрсету: тек bastion және жазу сессиялары арқылы прод-ДБ/тораптарға қатынау.
4) Құпиялар мен кілттер
Мақсаты: кілттердің жылыстауын болдырмау және басқарылатын өмірлік циклін қамтамасыз ету.
KMS/HSM (шебер кілті), тұрақты ротация; кілттерді аймақтар/мақсаттар бойынша бөлу.
Құпия сақтау орны (Vault/Cloud KMS Secrets) dynamic-creds және lease.
- At rest (DB/бакеттер/снапшоттар) envelope encryption.
- In transit (TLS/mTLS).
- Төлем деректері үшін Tokenization; PAN-safe ағындары және 3-domain security (PCI DSS).
hcl path "kv/prod/payments/" {
capabilities = ["read","list"]
}
path "database/creds/readonly" {
capabilities = ["read"]
}
5) Контейнерлер мен Kubernetes қауіпсіздігі
Мақсаты: рантайм деңгейінде шабуыл жасау бетін барынша азайту.
Бейнелер: ең аз базалық, компиляторсыз/жібексіз; қолтаңбалар (cosign) және SBOM.
Admission-control (OPA/Gatekeeper/Kyverno): тыйым ': latest', 'privileged', 'hostPath', 'root'.
Runtime-политики: Seccomp/AppArmor, `readOnlyRootFilesystem`, `drop ALL` capabilities + allow-list.
Secrets - құпия менеджерден volume/env ретінде; bake-in бейнесіз.
PodSecurity (или Pod Security Admission): enforce restricted.
Тіркелімдер: жеке, осалдығы тексерілген (SAST/DAST/CSA).
yaml apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sAllowedRepos metadata: { name: only-internal-registry }
spec:
repos: ["registry.internal.local/"]
6) Supply-chain и CI/CD
Мақсаты: коммиттен өндiрiске дейiнгi артефактiлерге сену.
Branch-policies: код-ревью, қорғалған бұтақтар, міндетті тексерулер.
Артефактілер мен provenance (SLSA/COSIGN) қолы, өзгермейтін тегтер (иммутабельді бейнелер).
SBOM (CycloneDX/SPDX), Dependabot/Renovate және пиннинг тәуелділіктері.
CI оқшаулау: эфемерлік раннерлер, құпиялар тек қорғалған джобтарда, no-plaintext.
CD-гейттер: quality/SAST/лицензиялар/вендор-саясат; тек GitOps арқылы ғана жарнамаланады.
7) Қосымшалардың қауіпсіздігі (API/веб/мобайл)
Мақсаты: қисынды және техникалық шабуылдардың алдын алу.
AuthN/AuthZ: OAuth2/OIDC/JWT; қысқа TTL, кілттерді ротациялау, audience/issuer тексеру.
Input Security: валидация/қалыпқа келтіру, инъекциядан қорғау, параметрлері бар үлгілер.
CSP/HSTS/XFO/XSS-Protection, қатаң CORS, жүктелетін MIME/өлшемдерін шектеу.
Rate limit/quotas, idempotency-keys төлемдер/төлемдер үшін.
Фичефлагтар: қауіпті функциялар үшін жылдам kill-switch.
nginx add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;
add_header Content-Security-Policy "default-src 'self'; img-src 'self' data: https:;" always;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
8) Деректер, PII және комплаенс (оның ішінде PCI)
Мақсаты: ең аз жинау, ең аз қол жеткізу, барынша ашықтық.
Data-zones/классы: `public/internal/confidential/pii/pci`. Сақтау орындары мен логтардағы тегтер.
PII барынша азайту: «player _ id» бүркеншік атау, төлем деректемелерін токенизациялау.
Сақтау саясаты: ыстық/суық, аудит үшін WORM; TTL бойынша автоматты түрде жою.
Қатынау: тек келісілген рөлдер мен төлсипаттар арқылы (өңір/мақсат).
PCI-сегментация: оқшауланған сегмент, кіру журналдары, тұрақты сканерлер/ASV.
9) Edge қабаты: CDN/WAF/DDoS/бот қорғанысы
Мақсаты: платформаның өзегіне дейін «қоқысты» елеу.
CDN: гео-блоктар, кэш-стратегиялар, layer-7-ден қорғау.
WAF: базалық белгілер + API-ге арналған кастомдық ережелер (JSON-схемалар, стандартты емес әдістерге тыйым салу).
Боттар: мінез-құлық талдауы, device fingerprint, rate-limit/аномалиялар кезінде капчалар.
TLS/ALPN: ескі шифрларды өшіріп, OCSP stapling қосыңыз.
10) Мониторинг, телеметрия және SecOps
Мақсаты: шабуылдарды көру және инцидентке дейін әрекет ету.
Бақылануы: метрика/логи/трестер 'trace _ id' және audit-өрістерімен.
SIEM/SOAR: оқиғаларды корреляциялау (аутентификация, IAM, WAF өзгерістері, құпияларға қол жеткізу).
Анықтау қағидалары: 401/403 жарылыстар, role-escalation, жаппай төлемдер, гео.
Сканерлеу: SAST/DAST/IAST, CSPM/KSPM, тұрақты pene-тесттер және баг-баунти.
Анти-фрод: транзакциялар/мінез-құлық, velocity-сүзгілер, санкциялық тізімдер.
11) Сенімділік, резерв және бизнес-континуитет
Мақсат: деректерді және SLA жоғалтпай жаңылыстан аман қалу.
ДБ үшін репликация және PITR, тестілерді қалпына келтірумен жиі снапшоттар.
DR-жоспар: RTO/RPO, region failover сценарийлері, ауыстыру тестілері.
DR құпиялары: тәуелсіз кілттер/KMS репликасы, авариялық ротация процесі.
Ресми гайдтар: қалпына келтіру және game-day жаттығуларының чек-парақтары.
12) Операциялық процестер және мәдениет
Мақсат: қауіпсіздік «әдепкі» болуы үшін.
Security by PR: сезімтал өзгерістер үшін міндетті security-review.
Релиздер саясаты: түнгі/ең жоғары терезелер жабық; pre-flight чек парақтары.
Secure Runbooks: қауіпсіз параметрлері бар нұсқаулықтар, әрекеттер аудиті.
Оқыту: фишинг-симуляциялар, инциденттер бойынша жаттығулар, «тірі» tabletop-сессиялар.
13) Бақылау тізімдері (қысқаша)
Желі және периметр
- WAF/CDN үшін барлық ingress; DDoS қосылған
- Сервистер арасындағы mTLS; deny-all желілік саясаттары
- Egress-allowlist сыртқы провайдерлерге
Сәйкестік
- SSO+MFA; Аудитпен JIT және break-glass
- RBAC/ABAC, SCIM-жұмыстан шығаруды тоқтату
- Service Accounts қысқа белгілерімен
K8s/контейнерлер
- Сурет қолтаңбалары + SBOM; Тыйым салу ': latest'
- Seccomp/AppArmor, read-only FS, drop caps
- Gatekeeper/Kyverno саясаты және deny-тізімдер
Құпиялар/кілттер
- Vault/KMS, ротация, кілттерді бөлу
- at rest/in transit шифрлау
- Төлемдер үшін Tokenization
CI/CD и supply-chain
- Эфемерлік раннерлер; құпия тек қорғалған кендірде ғана
- SAST/DAST/лицензиялар; артефактілерге қол қою
- GitOps-промоушен, сапа гейтс
/ PII/PCI деректері
- Деректерді жіктеу және сақтау орындарындағы тегтер
- Retention/WORM саясаты; рөлдер бойынша қол жеткізу
- PCI сегментін оқшаулау, ASV сканерлері
SecOps
- SIEM/SOAR ережелері, эскалациялар бойынша алерталар
- Антифрод және velocity сүзгілері
- DR жоспары, RTO/RPO тесттері
14) «Қатаң» саясаттың мысалдары
Kyverno: артықшылықты контейнерлерге тыйым салу
yaml apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: { name: disallow-privileged }
spec:
rules:
- name: no-priv match: { resources: { kinds: ["Pod"] } }
validate:
message: "Privileged containers are not allowed"
pattern:
spec:
containers:
- securityContext:
privileged: "false"
OPA (Rego): тыйым салу 'hostNetwork'
rego package kubernetes.admission
violation[msg] {
input.request.kind.kind == "Pod"
input.request.object.spec.hostNetwork == true msg:= "hostNetwork is not allowed"
}
15) Қарсы үлгілер
«Периметрді қорғаймыз» ішкі mTLS/segmentation → бүйірлік қозғалыссыз.
Env-ауыспалы CI құпиялары, логиге түсіру.
'latest' бейнелері, қолтаңбалардың болмауы және SBOM.
Кластердегі allow-all саясаты; барлығы үшін ортақ неймспейстер.
Кілттерді және қалпына келтіру тестілерін нақты алмастырусыз «қағазда» шифрлау.
Логиканы түзетудің және деректерді валидациялаудың орнына WAF-қа сүйену.
DR/кестелік сценарийлер жоқ - жоспар «тозаңданады».
16) Қалай бастау керек (90 күндік жоспар)
1. 1-2 апта: есептерді/деректерді түгендеу, жіктеу, ағындардың картасы.
2. Апта 3-4: mTLS/deny-all желілік саясатын, WAF/DDoS/бот сүзгілерін қосу.
3. Апта 5-6: Vault/KMS, кілттерді ротациялау, төлемдерді токенизациялау.
4. 7-8 апта: Gatekeeper/Kyverno, Seccomp/AppArmor, тыйым салу 'privileged '/' hostPath'.
5. 9-10 апта: бейнелердің қолтаңбалары, SBOM, CI/CD гейттері, GitOps-промоушен.
6. Апта 11-12: SIEM/SOAR ережелері, эскалация алаңдары, анти-фрод.
7. 13-апта: DR-жаттығу, рунабуктарды және сәйкестік мәртебесін жаңарту (PII/PCI).
Қорытынды
Қауіпсіздік қабаттары - бұл «қанатшалар» жинағы емес, шешімдердің архитектурасы. Желі сегментациясын және Zero Trust, қатаң IAM, қауіпсіз контейнерлер/K8s, басқарылатын құпиялар мен крипто, қорғалған пайплайндар, edge-қорғаныс және SecOps бақылауын қосыңыз. Сонда тіпті шабуылдар мен іркілістер кезінде де платформа деректердің тұтастығын, PII/PCI құпиялылығын және кез келген ең жоғары сағаттарда негізгі ағымдардың - депозиттердің, мөлшерлемелер мен шығарулардың қолжетімділігін сақтайды.