GH GambleHub

Proto-mühitin möhkəmləndirilməsi

Prod mühitinin möhkəmləndirilməsi

1) Məqsəd və çərçivə

Prod-mühitin möhkəmləndirilməsi (hardening) hadisələrin baş vermə ehtimalını və onlara dəyən ziyanı azaldan sistemli bir təcrübədir. Focus: API perimetri, müştəri/ödəniş məlumatları, CI/CD, konteyner platforması, giriş, dəyişiklik nəzarəti, müşahidə və tənzimləmə tələblərinə uyğunluq.

Əsas prinsiplər:
  • Security by Design & Default: minimum lazımi imtiyazlar, təhlükəsiz defoltlar.
  • Zero Trust: yoxlama olmadan şəbəkəyə və ya şəxsiyyətə etibar etməyin.
  • Defence-in-Depth: çox səviyyəli müdafiə (şəbəkə → xidmət → tətbiq → məlumat).
  • Artefaktların immutabilliyi: «build once, run many».
  • E2E izləri və auditoriya: kim, nə vaxt, nə dəyişdi - və niyə.

2) Təhlükə modeli və kritik aktivlər

Aktivlər: hesablar və ödəniş tokenləri, PII/pasport məlumatları, RNG/oyun balansları, şifrələmə açarları, inteqrasiya sirləri, deploy paylaynları, konteyner şəkilləri.
Vektorlar: asılılıq zəiflikləri, tokenlərin sızması, buludun/K8s, API-də SSRF/RCE səhv konfiqurasiyası, supply chain (CI/CD/reposition kompromasiyası), insayder girişi, DDoS/bot trafiki.
Ssenarilər: icazəsiz subyekt tərəfindən vəsaitlərin çıxarılması, əmsalların/balansların dəyişdirilməsi, bazanın boşaldılması, payplaynın tutulması, prodda əl ilə düzəlişlər.

3) Şəbəkə arxitekturası və izolyasiya

Seqmentasiya: prod/stage/dev üçün ayrı-ayrı VPC/VNet. Prod daxilində - edge (LB/WAF), API, DB, analitiklər, inzibati xidmətlər üçün alt şəbəkələr.
«Açıq şəkildə icazə verilir» siyasəti: alt şəbəkələr arasında yalnız lazımi limanları/istiqamətləri açırıq.
mTLS xidmətlər arasında, sertifikatların rotasiyası avtomatlaşdırılmışdır.

NetworkPolicy K8s nümunəsi (deny-all + allow-list):
yaml apiVersion: networking. k8s. io/v1 kind: NetworkPolicy metadata:
name: default-deny namespace: prod spec:
podSelector: {}
policyTypes: ["Ingress","Egress"]
apiVersion: networking. k8s. io/v1 kind: NetworkPolicy metadata:
name: allow-api-to-db namespace: prod spec:
podSelector:
matchLabels: {app: db}
ingress:
- from:
- podSelector: {matchLabels: {app: api}}
ports: [{protocol: TCP, port: 5432}]

4) Kimlik və Access (PAM/JIT)

Bütün insan girişləri üçün SSO + MFA.
RBAC&ABAC: bulud səviyyəsində rollar, klaster, ad məkanları və tətbiqlər.
PAM: jump/bastion, JIT-access (məhdud vaxt), session recording.
Break-glass: aparat açarı ilə möhürlənmiş qeydlər, jurnallaşdırılan çıxış.
«Kim nəyə çıxış əldə edə bilər» müntəzəm skan, hər 30 gündə bir dəfə.

5) Sirləri və açarları

Gizli saxlama (Vault/KMS/Secrets Manager), Git-dən sirləri istisna edirik.
Master-açarlar üçün KMS/HSM; KEK/DEK, avtomatik rotasiya.
TTL siyasətləri: qısa ömürlü tokenlər (OIDC/JWT), CI üçün müvəqqəti qeydlər.
Şifrələmə: dinc (AES-256/GCM), uçuşda (TLS 1. 2 +/mTLS), PII/kart məlumatları - ayrıca açar.

6) Supply chain и CI/CD hardening

prod üçün runner izolyasiyası (xüsusi şəbəkədə self-hosted).
Artefaktların imzası (Sigstore/cosign), deployun imzasının yoxlanılması.
SBOM (CycloneDX/SPDX), SCA/VƏ hər bir kommit və buraxılışdan əvvəl.
Siyasətlər «no tag latest», yalnız immutable tags.
4-göz prinsipi: məcburi code review və change approval.
Infrastructure as Code: Terraform/Helm с policy-as-code (OPA/Conftest).

OPA regl nümunəsi (public S3/Storage qadağası):
rego package iac. guardrails

deny[msg] {
input. resource. type == "storage_bucket"
input. resource. acl == "public-read"
msg:= sprintf("Public bucket forbidden: %s", [input. resource. name])
}

7) Konteynerlər və Kubernetes

Minimum görüntü bazası (distroless), rootless, read-only FS, drop CAPs.
Admission-control: qadağan privileged, hostPath, hostNetwork.
Pod Security Standards: baseline/restricted для prod ns.
ImagePolicyWebhook: Yalnız imzalanmış şəkilləri atlayın.
Runtime-policies (Falco/eBPF): anormal syscalls üçün alert.
Quota/LimitRange: «səs-küylü qonşulardan» düyünlərin qorunması.

8) API perimetri: WAF, Rate Limits, Bot/DDoS

API Gateway: autentifikasiya (OAuth2/JWT/HMAC), normallaşdırma, mTLS, schema validation.
WAF: biznes metriklər üçün əsas qaydalar + kasta.
Rate limits: qlobal/IP/müştəri açarı; «tokenlər» və burst.

NGINX-rate-limit nümunəsi:
nginx limit_req_zone $binary_remote_addr zone=api:20m rate=10r/s;

server {
location /api/ {
limit_req zone=api burst=30 nodelay;
proxy_pass http://api_backend;
}
}

Bot management: davranış siqnalları, device fingerprint, challenge.
DDoS: CDN/edge-scrubbing, autoscaling, isti fich üçün «dark-launch».

9) Konfiqurasiya siyasəti və təhlükəsiz defolt

Feature flags/kill-switches riskli funksiyaları tez dayandırmaq üçün.
Config-as-Code validasiya sxemləri, konfiqurasiya üçün canary/blue-green.
Konfiqurasiya/açarları geri çağırarkən KPI kimi Time-to-Revoke.

10) Məlumatlar və məxfilik

Təsnifat: PII/maliyyə/əməliyyat log/telemetriya.
Minimallaşdırma: yalnız lazım olanı saxlayın, anonimləşdirmə/təxəllüsləşdirmə.
Backups: ayrıca hesab/layihə, şifrələmə, müntəzəm DR məşqləri.
Çıxış qaydaları: same-method, velocity-limitlər, risk-skor, 4-göz.
Legal Hold/retenshn: saxlama qrafikləri, idarə olunan utilizasiya.

11) Müşahidə, həyəcan və reaksiya

Triada: loqlar (sirləri olmayan), metriklər (SLO/SLA), treyslər (W3C).
Təhlükəsizlik siqnalları: giriş müvəffəqiyyəti/uğursuzluğu, imtiyazların artması, sirlərin dəyişdirilməsi, trafik sapmaları.
SIEM + SOAR: korrelyasiya və yarı avtomatik pleybuklar.
Hadisələrin pleybukları: DDoS, sirlərin sızması, runner 'a güzəşti, reliz rollback, ödənişlərin «dondurulması».
MTTD/MTTR əsas performans metrik kimi.

12) Dəyişikliklər və buraxılışın idarə edilməsi

Change Advisory Board (yüngül) yüksək riskli dəyişikliklər üçün.
Pre-prod gates: testlər, təhlükəsizlik, perf, DB miqrasiyası.
Canary/Blue-Green/Shadow deploi, SLO avtomatik rollback.
Prodda birbaşa düzəlişlərin qadağan edilməsi: dəyişikliklər yalnız paypline vasitəsilə.

13) Boşluqlar və yamalar

Patch policy: kritik - ASAP; high - N gün ərzində.
Fiksdən sonra təkrar tarama; ekspozisiya CVE-tartı.
Chaos-security: «table-top» periodik məşqlər və xüsusi pəncərələrdə «qırmızı komanda» hücumları.

14) Uyğunluq və audit

Nəzarət çərçivələri: PCI DSS (ödənişlər), SOC 2, ISO 27001.
Artefaktlar: nəzarət matrisi, dəyişiklik jurnalları, skan hesabatları, DR test nəticələri, access-review.
Davamlı hazırlıq: «evidence as code» - artefaktlar avtomatik olaraq payplaynlardan və sistemlərdən toplanır.

15) İqtisadiyyat və etibarlılıq

Guardrails dəyərinə görə: kvotalar, büdcələr, risklər, istifadə olunmayan resursların avtomatik söndürülməsi.
Tutum: SLO yönümlü planlaşdırma, yük testləri, «xaos günləri».
Bərpa prioritetləri: xidmətlər üzrə RTO/RPO, asılılıq xəritəsi.

16) Anti-nümunələr

Git-də v.env sirləri, hamı üçün ümumi «admin», «prod-da birbaşa SSH», konteynerlərdə əl fiksləri, «latest» etiketləri, hər şey üçün bir ümumi klaster, ictimai baketlər, prod-şəbəkədə outbound interneti olan CI-runner, PII-lər, «isti» üçün kill-switch yoxdur Fich.

17) Sürətli başlanğıc çek siyahısı (90 gün)

0-30 gün

MFA/SSO, giriş review daxil edin; deny-all şəbəkə siyasətçiləri; Secrets Manager/KMS; K8s privileged qadağası; WAF/Rate-limit daxil edin; giriş/eskalasiyanın əsas alertləri.

31-60 gün

Şəkil imzası + ImagePolicy; SBOM + SCA в CI; canary/rollback; SIEM korrelyasiya; IR pleybukları; JIT/PAM; DR testi ilə ehtiyat.

61-90 gün

IaC üçün OPA-guardrails; eBPF/Falco; bot-menecment; periodic access-review; chaos-security məşq; konfiqurasiya audit və cost-guardrails.

18) Yetkinlik metrikası

Accessories:% MFA ilə hesablar, tokenlərin orta yaşı, geri çağırma vaxtı.
Paypline: %/SBOM imzalı şəkillər, SAST/DAST örtüyü.
Platforma: read-only FS, PSS-restricted, NetworkPolicy əhatə ilə pod 'ların payı.
Perimetri:% rate-limit/WAF qaydaları ilə API, DDoS-ə orta cavab.
IR: MTTD/MTTR, «table-top» tezliyi, uğurlu DR məşqlərinin faizi.
Uyğunluq: avtomatik dəlillərlə nəzarət payı.

19) Əlavə: siyasət şablonları

AWS SCP (ictimai baxetlərin qadağan edilməsi)

json
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "DenyPublicS3",
"Effect": "Deny",
"Action": ["s3:PutBucketAcl","s3:PutBucketPolicy"],
"Resource": "",
"Condition": {"StringEquals": {"s3:x-amz-acl": "public-read"}}
}]
}

Kubernetes PodSecurity (namespace-label)

yaml apiVersion: v1 kind: Namespace metadata:
name: prod labels:
pod-security. kubernetes. io/enforce: restricted pod-security. kubernetes. io/audit: restricted

Konteynerlər üçün OPA (privileged qadağası)

rego package k8s. admission deny[msg] {
input. request. object. spec. containers[_].securityContext. privileged == true msg:= "Privileged containers are not allowed in prod"
}

20) Nəticə

Proto-mühitin möhkəmləndirilməsi davamlı bir prosesdir. Maksimum risk azaldılması tədbirlərinə üstünlük verin: giriş və sirlər, şəbəkə izolyasiyası, artefaktların imzası və paylayıcı nəzarət, API perimetrinin qorunması, müşahidə və intizam dəyişiklikləri. Qalanları yetkinlik göstəricilərini və nəzarət iqtisadiyyatını qeyd edərək iterativ şəkildə artırın.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

Telegram
@Gamble_GC
İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.