加強方案環境
加強保護環境
1)目標和框架
強化(強化)保護環境是一套系統化的做法,可減少事故的可能性和損害。焦點:API周邊,客戶/支付數據,CI/CD,容器平臺,可訪問性,變更控制,可觀察性和法規遵從性。
主要原則:- 通過Design&Default提供安全性:最低要求的特權,安全默認。
- 零信托:不信任網絡或身份未經驗證。
- 深度防禦:分層保護(網絡→服務→應用程序→數據)。
- 人工制品的不可動搖性:「構建一個人,運行瘋狂」。
- E2E跟蹤和可審核性:誰,何時,什麼改變了-以及為什麼。
2)威脅模式和關鍵資產
資產:帳戶和支付令牌,PII/護照數據,RNG/遊戲資產負債表,加密密鑰,集成秘密,派發派對線,容器圖像。
向量:依賴性漏洞、令牌泄漏、雲/K8s配置錯誤、API中的SSRF/RCE、supply chain (CI/CD/存儲庫損害)、內幕訪問、DDoS/機器人流量。
情景:由未經授權的實體取款,變換系數/資產負債表,清除基地,捕獲管線,手動編輯。
3)網絡架構與隔離
分段:prod/stage/dev的單個VPC/VNet。內部prod是邊緣(LB/WAF),API,DB,分析,管理服務的子網。
策略是「明確允許的」:在子網之間進行降級,僅打開所需的端口/方向。
服務之間的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訪問(有限時間),會話記錄。
破玻璃:帶有硬件密鑰的密封憑證,日誌發行。
定期掃描「誰可以訪問」,每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(在私人網絡中自我主機)。
工件簽名(Sigstore/cosign),簽名驗證。
SBOM(CycloneDX/SPDX),SCA/VA在每個發布之前和發布之前。
「No tag latest」策略,僅固定標簽。
4眼原理:強制性代碼審查和change approval。
Infrastructure as Code: Terraform/Helm с policy-as-code (OPA/Conftest).
OPA Regle示例(禁止public S3/Storage):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。
管理控制: 禁止特權,hostPath, hostNetwork.
Pod Security Standards: baseline/restricted для prod ns.
ImagePolicyWebhook:只跳過已簽名的映像。
Runtime Policy (Falco/eBPF):異常的syscalls。
Quota/LimitRange:保護節點免受「噪音鄰居」的影響。
8)API外圍: WAF,Rate限制,Bot/DDoS
網關API:身份驗證(OAuth2/JWT/HMAC),規範化,mTLS,計劃驗證。
WAF:業務指標下的基本規則+種姓。
費率限制:全局/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;
}
}
博特管理:行為提示,設備指紋,挑戰。
DDoS:CDN/邊緣洗牌,自動緩解,「黑暗發射」用於熱頭。
9)配置策略和安全違約
Feature flags/kill-switches可快速關閉風險功能。
帶有電路驗證的Config-as-Code,用於Configs的金絲雀/藍綠色。
當召回configs/keys時,time-to-Revoke作為KPI。
10)數據和隱私
分類:PII/財務/操作邏輯/遙測。
最小化:僅存儲所需,匿名/別名化。
Backups:一個單獨的帳戶/項目,加密,定期DR排練。
推理規則:same-method,velocity限制,風險評分,4眼。
Legal Hold/Relence:存儲時間表,管理處置。
11)可觀察性,異物和響應
三合會:logi(不包含秘密),度量(SLO/SLA),traces(W3C)。
安全信號:輸入/失敗,特權升級,更改秘密,流量偏差。
SIEM+SOAR:相關性和半自動花花公子。
事件花花公子:DDoS,泄露秘密,損害亞軍,回滾發布,「凍結」付款。
MTTD/MTTR是主要的響應度量標準。
12)變更與發行管理
更改咨詢委員會(輕量級)進行高風險更改。
Pre-prod gates:測試,安全,筆觸,DB遷移。
Canary/Blue-Green/Shadow deploi,通過SLO自動回滾。
禁止直接編輯銷售:僅通過管道進行更改。
13)漏洞和補丁
補丁策略:關鍵-ASAP;high-在N日內。
假冒後重新掃描;通過曝光進行CVE稱重。
混沌安全:在專用窗口中偶爾進行「桌上」練習和「紅色團隊」攻擊。
14)合規與審計
控制框架:PCI DSS(付款),SOC 2,ISO 27001。
工件:控制矩陣,更改日誌,掃描報告,DR測試結果,訪問審查。
持續準備:「事件即代碼」-工件自動從管道和系統收集。
15)經濟和可靠性
Guardrails按成本計算:配額,預算,Alerts,自動關閉未使用的資源。
容量:以SLO為中心的規劃,負載測試,「混亂日」。
恢復優先級:按服務劃分的RTO/RPO,依賴圖。
16)反模式
Git中的venv秘密,所有人的通用「admin」,「直接SSH to prod」,容器中的手持小玩意,「最新」標簽,所有內容的一個通用的集群,公共垃圾箱,帶有prod網絡的外部互聯網的CI-runner,帶有PII的徽標,沒有用於「熱」電話的殺手開關。
17)快速啟動支票清單(90天)
0-30天
包括可用性MFA/SSO;deny-all網絡策略;Secrets Manager/KMS;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;混沌安全練習;對configs和cost-guerrails的審核。
18)成熟度量
可用性:MFA帳戶的百分比,代幣的平均年齡,召回時間。
Pipline:具有簽名/SBOM,SAST/DAST覆蓋範圍的圖像的百分比。
平臺:pod's pod's with read-only FS, PSS restricted, NetworkPolicy覆蓋。
周長:%API 具有極限/WAF規則,平均響應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(特權禁令)
rego package k8s. admission deny[msg] {
input. request. object. spec. containers[_].securityContext. privileged == true msg:= "Privileged containers are not allowed in prod"
}
20)結論
加強方案環境是一個持續的過程。優先考慮風險最大化的措施:訪問和秘密,網絡隔離,工件簽名和管道控制,API周邊保護,可觀察性和變更紀律。其余的都是叠代建立的,捕捉成熟度指標和控制經濟性。