Senagat gurşawyny berkitmek
Senagat gurşawyny berkitmek
1) Maksady we çarçuwasy
Prod-gurşawy berkitmek (hardening), hadysalaryň ähtimallygyny we olardan ýetirilen zyýany azaldýan ulgamlaýyn tejribe toplumydyr. Fokus: API-perimetri, müşderi/töleg maglumatlary, CI/CD, konteýner platformasy, elýeterlilik, üýtgeşmelere gözegçilik, gözegçilik etmek we kadalaşdyryjy talaplara laýyk gelmek.
Esasy ýörelgeler:- Security by Design & Default: iň az zerur artykmaçlyklar, ygtybarly defoltlar.
- Zero Trust: tassyklamazdan torlara ýa-da şahsyýetlere ynanmaň.
- Defence-in-Depth: köp derejeli gorag (ulgam → hyzmat → programma → maglumatlar).
- Artefaktlaryň immuniteti: "build once, run many".
- E2E-yzlar we diňlenişik: kim, haçan, näme üýtgedi we näme üçin.
2) Howplaryň nusgasy we möhüm aktiwler
Aktiwler: hasaplar we töleg tokenleri, PII/pasport maglumatlary, RNG/oýun balanslary, şifrlemek açarlary, integrasiýa syrlary, deploýyň paýlaýynlary, konteýnerleriň şekilleri.
Wektorlar: garaşlylygyň gowşaklygy, bellikleriň syzmagy, buludyň nädogry konfigurasiýasy/K8s, API-de SSRF/RCE, supply chain (CI/CD/repozitoriýa eglişigi), içerki giriş, DDoS/bot-trafik.
Ssenariýalar: ygtyýarlandyrylan däl subýektiň serişdeleri çykarmagy, koeffisiýentleri/balanslary çalyşmagy, bazany syzdyrmak, paýlaýjyny ele almak, önümdäki el bilen düzedişler.
3) Tor arhitekturasy we izolýasiýa
Segmentasiýa: prod/stage/dev üçin aýratyn VPC/VNet. Prodyň içinde - edge (LB/WAF), API, DB, analitikler, administratiw hyzmatlar üçin kiçi ulgamlar.
"Aç-açan rugsat berilýär" syýasaty: kiçi ulgamlaryň arasynda diňe zerur portlary/ugurlary açýarys.
mTLS hyzmatlarynyň arasynda, şahadatnamalaryň aýlanmagy awtomatlaşdyryldy.
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) Şahsyýet we elýeterlilik (PAM/JIT)
SSO + MFA ähli adam girişleri üçin.
RBAC&ABAC: bulut, klaster, atlar giňişligi we programmalar derejesindäki rollar.
PAM: jump/bastion, JIT-giriş (çäkli wagt), session recording.
Break-glass: apparat açary bolan möhürlenen hasaplar, çap edilýän bergi.
Her 30 günden bir gezek "kimiň nämä elýeterliligi" yzygiderli skanerleri.
5) Syrlar we açarlar
Gizlin ammar (Vault/KMS/Secrets Manager), gizlinlikleri Git-den aýyrýarys.
Master-açarlar üçin KMS/HSM; KEK/DEK, awtomatiki aýlanyş.
TTL syýasatlary: gysga ömürli tokenler (OIDC/JWT), CI üçin wagtlaýyn bellikler.
Şifrlemek: asuda (AES-256/GCM), uçuşda (TLS 1. 2 +/mTLS), PII/kart maglumatlary sütünleri - aýratyn açar bilen.
6) Supply chain и CI/CD hardening
Prod üçin runner's izolýasiýasy (hususy ulgamda öz-hosted).
Artefaktlaryň goly (Sigstore/cosign), deploýyň goluny barlamak.
SBOM (CycloneDX/SPDX), SCA/VA her komita we çykarylmazdan ozal.
"No tag latest" syýasaty, diňe immutable bellikler.
4 gözli prinsip: hökmany code review we change approval.
Infrastructure as Code: Terraform/Helm с policy-as-code (OPA/Conftest).
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) Konteýnerler we Kubernetes
Iň az surat bazasy (distroless), rootless, read-only FS, drop CAPs.
Admission-control: privileged, hostPath, hostNetwork gadaganlygy.
Pod Security Standards: baseline/restricted для prod ns.
ImagePolicyWebhook: diňe gol çekilen şekilleri sypdyrmak.
Runtime-syýasatlar (Falco/eBPF): anomal syscalls üçin alertler.
Quota/LimitRange: düwünleri "şowhunly goňşulardan" goramak.
8) API-perimetri: WAF, Rate Limits, Bot/DDoS
API Gateway: Autentifikasiýa (OAuth2/JWT/HMAC), kadalaşma, mTLS, shema validation.
WAF: esasy düzgünler + iş metrikleriniň kastasy.
Rate limits: global/IP/müşderi açary boýunça; "bellikler" we burst.
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: özüni alyp baryş signallary, device fingerprint, challenge.
DDoS: CDN/edge-scrubbing, autoscaling, "dark-launch".
9) Konfigurasiýa syýasatlary we ygtybarly defoltlar
Töwekgelçilikli funksiýalary çalt öçürmek üçin feature flags/kill-switches.
Konfig-as-Kod, konweýalar üçin kanary/blue-green.
KPI hökmünde Wagt-to-Revoke.
10) Maglumatlar we gizlinlik
Klassifikasiýa: PII/maliýe/operasiýa ýazgylary/telemetriýa.
Iň az: diňe zerur zady saklamak, anonimleşdirmek/lakamlaşdyrmak.
Backups: aýratyn hasap/taslama, şifrlemek, yzygiderli DR repetisiýalary.
Çykarmak düzgünleri: same-method, velocity-limitler, risk-skoring, 4-gözler.
Legal Hold/retenshn: saklamak grafikleri, dolandyrylýan ýok etmek.
11) Syn etmek, aladalar we jogap bermek
Triadalar: loglar (gizlin däl), metrikler (SLO/SLA), treýslar (W3C).
Howpsuzlyk signallary: girelgeleriň üstünligi/şowsuzlygy, artykmaçlyklaryň güýçlenmegi, syrlaryň üýtgemegi, traffigiň gyşarmagy.
SIEM + SOAR: baglanyşyk we ýarym awtomatiki pleýbuklar.
Wakalaryň pleýbuklary: DDoS, syrlaryň syzmagy, runner 'a eglişigi, reliz rollback, tölegleri "doňdurmak".
MTTD/MTTR esasy netijelilik metrikleri hökmünde.
12) Üýtgetmeleri dolandyrmak we çykarmak
Ýokary töwekgelçilikli üýtgeşmeler üçin Change Advisory Board (ýeňil).
Pre-prod gates: synaglar, howpsuzlyk, perf, DB migrasiýasy.
Canary/Blue-Green/Shadow deploi, SLO boýunça awtomatiki rollback.
Önümde gönüden-göni düzedişleri gadagan etmek: üýtgeşmeler diňe paýlaýjynyň üsti bilen.
13) Gowşaklyklar we ýamalar
Patch policy: kritiki - ASAP; high - N günüň dowamynda.
Fiksden soň gaýtadan gözden geçirmek; ekspozisiýa boýunça CVE-agram.
Chaos-security: saýlanan penjirelerde "table-top" wagtal-wagtal maşklar we "gyzyl topar" hüjümleri.
14) Laýyklyk we audit
Gözegçilik framkalary: PCI DSS (tölegler), SOC 2, ISO 27001.
Artefaktlar: gözegçilik matrisi, üýtgeşmeler magazinesurnallary, skan hasabatlary, DR-synaglaryň netijeleri, access-review.
Üznüksiz taýýarlyk: "evidence as code" - artefaktlar awtomatiki usulda paýlaýnlardan we ulgamlardan ýygnalýar.
15) Ykdysadyýet we ygtybarlylyk
Guardrails bahasy boýunça: kwotalar, býudjetler, aladalar, ulanylmaýan serişdeleri awtomatiki öçürmek.
Kuwwat: SLO-gönükdirilen meýilnamalaşdyryş, ýük synaglary, "bulam-bujarlyk günleri".
Dikeldiş ileri tutulýan ugurlary: Hyzmatlar boýunça RTO/RPO, garaşlylyk kartasy.
16) Anti-patternler
Git-de v.env syrlary, hemmeler üçin umumy "admin", "prod-a göni SSH", konteýnerlerdäki el fiksleri, "latest" bellikleri, hemme zat üçin bir umumy klaster, köpçülige açyk baketler, prod-torda outbound-internet bilen CI-runner, PII-li loglar, "gyzgyn" üçin öldüriji switch ýok fiçler.
17) Çalt başlamagyň çek-sanawy (90 gün)
0-30 gün
MFA/SSO-ny, giriş seslerini açyň; deny-all tor syýasatçylary; Secrets Manager/KMS; K8s privileged gadaganlygy; WAF/Rate-limit; girmegiň/güýçlenmegiň esasy alertleri.
31-60 gün
Şekilleriň goly + ImagePolicy; SBOM + SCA в CI; canary/rollback; SIEM baglanyşyklary; IR pleýbuklary; JIT/PAM; DR synagy bilen ätiýaçlyk göçürmesi.
61-90 gün
IaC üçin OPA-guardrails; eBPF/Falco; bot-dolandyryş; periodic access-review; chaos-security maşk; konfigurasiýalaryň barlagy we cost-guardrails.
18) Kämillik ölçegleri
Giriş:% MFA hasaby, bellikleriň ortaça ýaşy, yzyna çagyryş wagty.
Pipline: %/SBOM goly, SAST/DAST örtügi.
Platforma: read-only FS, PSS-restricted, NetworkPolicy örtügi bilen pod 'laryň paýy.
Perimetri:% rate-limit/WAF düzgünleri bilen API, DDoS-e ortaça jogap.
IR: MTTD/MTTR, "table-top" ýygylygy, üstünlikli DR repetisiýalarynyň göterimi.
Laýyklyk: awtomatiki subutnamalar bilen gözegçilikleriň paýy.
19) Goşundy: syýasat şablonlary
AWS SCP (köpçülik baketlerini gadagan etmek)
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
Konteýnerler üçin OPA (privileged gadaganlygy)
rego package k8s. admission deny[msg] {
input. request. object. spec. containers[_].securityContext. privileged == true msg:= "Privileged containers are not allowed in prod"
}
20) Netijenama
Proto-gurşawy berkitmek üznüksiz prosesdir. Töwekgelçiligi iň ýokary derejede azaltmak bilen çäreleri ileri tutuň: elýeterlilik we syrlar, tor izolýasiýasy, artefaktlara gol çekmek we paýlaýjyna gözegçilik etmek, API perimetri goramak, üýtgeşmeleriň synlanylyşy we tertibi. Galanlaryny kämillik ölçeglerini we gözegçilik ykdysadyýetini düzedip, iteratiw guruň.