加强方桉环境
加强保护环境
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周边保护,可观察性和变更纪律。其余的都是迭代建立的,捕捉成熟度指标和控制经济性。