Прод-чөйрөнү бекемдөө
Food курчап бекемдөө
1) Максаты жана алкагы
бекемдөө (hardening) прод-айлана-чөйрө - бул окуя ыктымалдыгын жана алардан келтирилген зыянды азайтат системалуу тажрыйба топтому. Focus: API периметри, кардарлардын/төлөмдөрдүн маалыматтары, CI/CD, контейнердик платформа, жеткиликтүүлүк, өзгөрүүлөрдү көзөмөлдөө, байкоо жүргүзүү жана жөнгө салуу талаптарына жооп берүү.
Негизги принциптери:- Security by Design & Default: минималдуу зарыл артыкчылыктар, коопсуз дефолттар.
- Zero Trust: эч кандай тармак, же текшерүү жок ID ишенбейм.
- Defence-in-Depth: көп баскычтуу коргоо (тармак → кызмат → колдонмо → маалыматтар).
- Артефакттардын иммунитети: "build once, run many".
- E2E-издери жана аудитория: ким, качан, эмне өзгөргөн - жана эмне үчүн.
2) Коркунуч модели жана маанилүү каражаттар
Активдер: эсептер жана төлөм токендери, PII/паспорт маалыматтары, RNG/оюн баланстары, шифрлөө ачкычтары, интеграция сырлары, деплой пайплайндары, контейнерлердин сүрөттөрү.
Векторлор: көз карандылыктын алсыздыгы, токендердин агып чыгышы, булуттун туура эмес конфигурациясы/K8s, APIде SSRF/RCE, chain supply (CI/CD/репозиторий компромисстери), инсайдердик кирүү, DDoS/бот-трафик.
Сценарийлер: авторизацияланбаган субъект тарабынан каражаттарды алуу, коэффициенттерди/баланстарды алмаштыруу, базаны агызуу, пайплайндарды басып алуу, өндүрүштөгү кол менен оңдоолор.
3) Тармактык архитектура жана изоляция
Сегментация: жеке VPC/VNet үчүн prod/этап/dev. Ичинде prod - edge (LB/WAF), API, DD, аналитиктер, админ-кызматтар үчүн көмөкчордондор.
Саясат "ачык-айкын жол берилет": көмөкчордондордун ортосундагы deny-all, биз гана керектүү портторду/багыттарын ачуу.
mTLS кызматтардын ортосунда, күбөлүктөрдүн айлануусу автоматташтырылган.
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) Идентификация жана жетүү (PAM/JIT)
бардык адам жетүү үчүн SSO + MFA.
RBAC&ABAC: булут деъгээлинде ролу, кластер, аты мейкиндик жана колдонмолор.
PAM: jump/bastion, JIT-жетүү (чектелген убакыт), сессия жазуу.
Break-glass: аппараттык ачкычы менен мөөр басылган эсептер, журнал чыгаруу.
"Ким эмнеге жетүү мүмкүнчүлүгүнө ээ" үзгүлтүксүз сканерлөө, 30 күндө бир жолу.
5) Сырлар жана ачкычтар
Жашыруун сактоо (Vault/KMS/Secrets Manager), Git сырларын алып салуу.
Негизги ачкычтар үчүн KMS/HSM; KEK/DEK, автоматтык айлануу.
TTL саясаты: кыска мөөнөттүү токендер (OIDC/JWT), CI үчүн убактылуу эсептер.
Шифрлөө: тынч (AES-256/GCM), учуу (TLS 1. 2 +/mTLS), PII/карта маалыматтары - өзүнчө ачкыч.
6) Supply chain и CI/CD hardening
prod үчүн runner's изоляция (жеке тармакта өзүн-өзү хостинг).
Артефакттарга кол коюу (Sigstore/cosign), деплойго кол тамганы текшерүү.
SBOM (CycloneDX/SPDX), SCA/VA ар бир Committee жана бошотуу алдында.
"No tag latest" саясаты, бир гана иммундук теги.
4-көз принцип: милдеттүү code review жана 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) Контейнерлер жана Kubernetes
Минималдуу сүрөт базасы (distroless), rootless, read-only FS, drop CAPs.
Admission-Control: тыюу privileged, hostPath, hostNetwork.
Pod Security Standards: baseline/restricted для prod ns.
ImagePolicyWebhook: кол коюлган сүрөттөрдү гана өткөрүп жиберүү.
Runtime-саясат (Falco/eBPF): анормалдуу syscalls боюнча Алерт.
Quota/LimitRange: түйүндөрдү "ызы-чуу кошуналардан" коргоо.
8) API периметри: WAF, Rate Limits, Bot/DDoS
API Gateway: аутентификация (OAuth2/JWT/HMAC), нормалдаштыруу, mTLS, validation схемасы.
WAF: негизги эрежелер + бизнес-метрика боюнча кастинг.
Rate limits: Global/IP/кардардын ачкычы боюнча; "токендер" жана 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: жүрүм-турум сигналдары, device fingerprint, challenge.
DDoS: CDN/edge-скруббинг, autoscaling, ысык чүчүкулак үчүн "dark-launch".
9) Конфигурация саясаты жана коопсуз дефолттар
Feature flags/kill-switches тез тобокелдик өзгөчөлүктөрүн өчүрүү үчүн.
Config-as-Code схемалар валидациясы менен, конфигурациялар үчүн canary/blue-green.
Time-to-Revoke конфигурацияларды/ачкычтарды чакыртып алууда KPI катары.
10) Маалыматтар жана купуялык
Классификация: PII/финансы/операциялык логдор/телеметрия.
минималдаштыруу: гана зарыл сактоо, жашыруун/псевдоним.
Backups: өзүнчө эсеп/долбоор, шифрлөө, үзгүлтүксүз DR репетициялары.
Алып салуу эрежелери: same-method, velocity-лимиттери, тобокелдик-эсеби, 4-көз.
Legal Hold/retenshn: сактоо графиктер, башкарылуучу кайра иштетүү.
11) Байкоо, тобокелдик жана жооп
Triad: Логи (жашыруун эмес), метрика (SLO/SLA), соода (W3C).
Коопсуздук сигналдары: ийгилик/ийгиликсиз кирүү, артыкчылыктардын күчөшү, сырлардын өзгөрүшү, трафиктин четтеши.
SIEM + SOAR: корреляция жана жарым автоматтык playbook.
Playbook окуялар: DDoS, сырлардын ачыкка чыгышы, runner 'a компромисс, rollback релизи, "тоңдурулган" төлөмдөр.
MTTD/MTTR негизги натыйжалуулугун метриктер катары.
12) Өзгөртүүлөрдү жана толуктоолорду башкаруу
Change Advisory Board (жеңил) жогорку тобокелдик өзгөрүүлөр үчүн.
Pre-prod gates: тесттер, коопсуздук, perf, DD көчүрүү.
Canary/Blue-Green/Shadow deploi, SLO боюнча автоматтык rollback.
Тике түзөтүүлөргө тыюу салуу: өзгөртүү гана Paypline аркылуу.
13) Кемчиликтер жана тактар
Patch policy: критикалык - ASAP; high - N күн ичинде.
Фикстен кийин кайра сканерлөө; экспозиция боюнча CVE-таразалоо.
Chaos-security: мезгил-мезгили менен көнүгүүлөр "стол-top" жана кол салуу "кызыл команда" бөлүнгөн терезелерде.
14) Шайкештик жана аудит
Control Frameworks: PCI DSS (төлөмдөр), SOC 2, ISO 27001.
Артефакттар: контролдоо матрицасы, өзгөртүү журналдары, сканер отчеттору, DR тестинин жыйынтыгы, access-review.
Үзгүлтүксүз даярдык: "evidence as code" - экспонаттар автоматтык түрдө пайплайндардан жана системалардан чогултулат.
15) Экономика жана ишенимдүүлүк
Guardrails наркы боюнча: квоталар, бюджеттер, тобокелдиктер, пайдаланылбаган ресурстарды автоматтык түрдө өчүрүү.
Сыйымдуулугу: SLO багытталган пландаштыруу, жүктөө тесттер, "башаламандык күндөрү".
Калыбына келтирүү артыкчылыктары: кызматтар боюнча RTO/RPO, көз карандылык картасы.
16) Анти-үлгүлөрү
Git-жылы .env сырлары, жалпы "админ", "түздөн-түз SSH-жылы", контейнерлерде кол phicks, "latest" теги, бардыгы үчүн бир жалпы кластер, коомдук бакет, CI-runner менен outbound-Интернет менен prod-тармагында, PII менен Логи, жок "ысык" үчүн kill-switch fichey.
17) Тез баштоо чек тизмеси (90 күн)
0-30 күн
MFA/SSO киргизүү, кирүү ревю; deny-all тармак саясаты; Secrets Manager/KMS; тыюу privileged K8s; WAF/Rate-limit кирет; негизги кириш/эскалация алерттери.
31-60 күн
Сүрөт кол + ImagePolicy; SBOM + SCA в CI; canary/rollback; SIEM байланыштар; IR плейбуктар; JIT/PAM; DR-тест менен камдык.
61-90 күн
IaC үчүн OPA-guardrails; eBPF/Falco; бот-менеджмент; periodic access-review; chaos-security көнүгүү; конфигурацияларды текшерүү жана cost-guardrails.
18) Жетилүү метрикасы
Жеткиликтүүлүктөрү:% MFA эсептери, токендердин орточо жашы, кайра чакыртып алуу убактысы.
Paypline:% кол менен сүрөттөр/SBOM, SAST/DAST каптоо.
Платформа: read-only FS, PSS-restricted, NetworkPolicy каптоо менен pod's үлүшү.
Периметри:% rate-limit/WAF эрежелери менен API, DDoS үчүн орточо жооп.
IR: MTTD/MTTR, "table-top" жыштыгы, ийгиликтүү DR репетициялардын пайызы.
Шайкештик: автоматтык далилдер менен контролдоо үлүшү.
19) Тиркеме: саясат үлгүлөрү
AWS SCP (коомдук бакет тыюу салуу)
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
контейнерлер үчүн OPA (тыюу privileged)
rego package k8s. admission deny[msg] {
input. request. object. spec. containers[_].securityContext. privileged == true msg:= "Privileged containers are not allowed in prod"
}
20) Корутунду
Тамак-аш чөйрөсүн чыңдоо - бул үзгүлтүксүз процесс. тобокелдиктерди максималдуу азайтуу менен иш-чараларды артыкчылык: жеткиликтүүлүк жана сырлар, тармактык изоляция, артефакттардын кол тамгасы жана пайплайн контролдоо, API периметрин коргоо, байкоо жана өзгөртүү тартиби. Калгандарын жетилүү метрикасын жана башкаруу экономикасын бекитүү менен итеративдүү түрдө көбөйтүңүз.