| name | building-cloud-security-posture-management |
| description | 本 skill 指导安全架构师设计和实施云安全态势管理(CSPM)计划,持续监控 AWS、Azure 和 GCP 的基础设施配置。涵盖选择 Wiz、Prisma Cloud 或原生服务等 CSPM 工具、定义策略基线、 自动化漂移检测,以及将态势发现集成到 SOC 工作流。
|
| domain | cybersecurity |
| subdomain | cloud-security |
| tags | ["cspm","cloud-misconfiguration","security-posture","drift-detection","multi-cloud-governance"] |
| version | 1.0.0 |
| author | mahipal |
| license | Apache-2.0 |
构建云安全态势管理
适用场景
- 组织缺乏跨多个账户和提供商的云错误配置可见性时
- 合规要求需要持续监控 CIS、NIST 或 SOC 2 框架态势时
- 安全团队需要根据实际风险确定错误配置修复优先级时
- 将工作负载迁移到云,并在生产部署前建立安全基线时
- 将云态势发现集成到现有 SOC 或 SIEM 平台时
不适用于:运行时威胁检测(参见 detecting-cloud-threats-with-guardduty)、应用层漏洞扫描(参见 securing-serverless-functions),或网络流量分析(参见 implementing-cloud-network-segmentation)。
前置条件
- 目标提供商(AWS、Azure、GCP)的云账户,CSPM 工具需要只读 API 访问
- 定义的合规框架要求(CIS Benchmarks、NIST 800-53、PCI-DSS、SOC 2)
- 用于发现摄入和工作流管理的 SIEM 或工单系统
- 商业 CSPM 工具的预算分配或原生工具集成的工程能力
工作流程
步骤 1:评估当前云资产和风险承受能力
清点所有云账户、订阅和项目。按数据敏感性、法规要求和业务重要性进行分类,以确定 CSPM 覆盖范围。
云资产清单:
+----------------+----------+------------+--------------------+------------------+
| 提供商 | 账户数 | 工作负载 | 数据分类 | 合规需求 |
+----------------+----------+------------+--------------------+------------------+
| AWS | 45 | 生产环境 | 机密 | PCI-DSS, SOC 2 |
| AWS | 12 | 开发/测试 | 内部 | SOC 2 |
| Azure | 8 | 生产环境 | 受限(PII) | GDPR, SOC 2 |
| GCP | 3 | 分析 | 机密 | SOC 2 |
+----------------+----------+------------+--------------------+------------------+
步骤 2:选择并部署 CSPM 工具
根据多云支持、策略覆盖、无代理扫描、攻击路径分析和集成能力评估 CSPM 解决方案。
原生工具:
- AWS Security Hub CSPM 及 Config 规则
- Microsoft Defender for Cloud CSPM
- Google Security Command Center Premium
商业平台:
- Wiz:无代理、基于图的可见性、攻击路径分析,市场份额最高(20.2%)
- Prisma Cloud(现为 Cortex Cloud):CSPM + CWP + CIEM,3000+ 内置策略
- Orca Security:SideScanning 技术,无代理全栈可见性
- Lacework:基于异常的行为分析检测
aws cloudformation create-stack \
--stack-name wiz-connector \
--template-url https://wiz-advanced-security.s3.amazonaws.com/wiz-aws-connector.yaml \
--parameters ParameterKey=ExternalId,ParameterValue=<wiz-external-id> \
--capabilities CAPABILITY_NAMED_IAM
aws iam create-role \
--role-name PrismaCloudReadOnly \
--assume-role-policy-document '{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::188619942792:root"},
"Action": "sts:AssumeRole",
"Condition": {"StringEquals": {"sts:ExternalId": "<prisma-external-id>"}}
}]
}'
步骤 3:定义策略基线和自定义规则
将合规框架控制项映射到 CSPM 策略。为超出标准基准的组织特定要求创建自定义规则。
policies:
- name: s3-bucket-encryption-required
description: 所有 S3 存储桶必须启用 AES-256 或 KMS 加密
provider: aws
resource_type: aws_s3_bucket
severity: HIGH
rule: |
resource.encryption.rules[0].apply_server_side_encryption_by_default.sse_algorithm
in ["aws:kms", "AES256"]
remediation: 使用 AES-256 或 AWS KMS 启用 S3 存储桶默认加密
compliance_mapping:
- CIS_AWS_v5.0: "2.1.1"
- PCI_DSS: "3.4"
- SOC2: "CC6.1"
- name: public-ip-not-attached-to-compute
description: 生产计算实例不得具有公共 IP 地址
provider: aws
resource_type: aws_ec2_instance
severity: CRITICAL
rule: |
resource.public_ip_address == null AND
resource.tags["Environment"] == "production"
步骤 4:自动化漂移检测和告警
配置持续扫描间隔、漂移检测阈值和告警路由,确保在资源创建或修改后数分钟内检测到新的错误配置。
aws configservice put-config-rule \
--config-rule '{
"ConfigRuleName": "s3-bucket-public-read-prohibited",
"Source": {
"Owner": "AWS",
"SourceIdentifier": "S3_BUCKET_PUBLIC_READ_PROHIBITED"
},
"Scope": {"ComplianceResourceTypes": ["AWS::S3::Bucket"]}
}'
aws configservice put-remediation-configurations \
--remediation-configurations '[{
"ConfigRuleName": "s3-bucket-public-read-prohibited",
"TargetType": "SSM_DOCUMENT",
"TargetId": "AWS-DisableS3BucketPublicReadWrite",
"Automatic": true,
"MaximumAutomaticAttempts": 3,
"RetryAttemptSeconds": 60
}]'
步骤 5:通过上下文感知风险评分确定发现优先级
超越仅基于严重性的优先级确定。使用攻击路径分析、资产上下文和可利用性数据,将修复工作聚焦于代表实际风险的发现。
风险优先级矩阵:
+----------------------------+----------+-----------+--------+-------------+
| 发现 | 严重程度 | 暴露于 | 攻击 | 优先级 |
| | | 互联网? | 路径? | 评分 |
+----------------------------+----------+-----------+--------+-------------+
| S3 存储桶公开读取 | 高 | 是 | 是 | 严重 |
| RDS 静态未加密 | 高 | 否 | 否 | 中 |
| SG 允许 0.0.0.0/0:22 | 高 | 是 | 是 | 严重 |
| CloudTrail 未启用 | 中 | 否 | 否 | 高 |
| EBS 卷未加密 | 中 | 否 | 否 | 低 |
+----------------------------+----------+-----------+--------+-------------+
步骤 6:与 SOC 工作流和报告集成
将 CSPM 发现推送到 SIEM 平台,创建 Jira 工单进行修复跟踪,构建态势趋势管理层仪表板。
aws securitylake create-subscriber \
--subscriber-name cspm-siem-integration \
--sources '[{"awsLogSource": {"sourceName": "SH_FINDINGS"}}]' \
--subscriber-identity '{"principal": "arn:aws:iam::123456789012:role/SIEMIngestionRole", "externalId": "siem-ext-id"}'
核心概念
| 术语 | 定义 |
|---|
| CSPM | 云安全态势管理(Cloud Security Posture Management):持续监控服务,识别云基础设施错误配置和合规违规 |
| 配置漂移(Configuration Drift) | 在批准的变更管理流程外对资源进行修改时,偏离已定义安全基线的情况 |
| 攻击路径(Attack Path) | 攻击者可利用的多步骤错误配置和漏洞链,从入口点移动到关键资产 |
| 无代理扫描(Agentless Scanning) | CSPM 方法,使用云提供商 API 和快照分析评估安全态势,无需在工作负载上安装代理 |
| 策略即代码(Policy as Code) | 以机器可读格式(Rego、YAML、JSON)定义安全策略,可进行版本控制和自动化强制执行 |
| 合规框架(Compliance Framework) | 结构化的安全控制和要求集合,如 CIS Benchmarks、NIST 800-53、PCI-DSS 或 SOC 2,用于衡量态势 |
| 安全图(Security Graph) | 图数据库,表示云资源、身份、网络路径和漏洞之间的关系,用于情境化风险分析 |
工具与系统
- Wiz:无代理 CNAPP,提供基于图的 CSPM、攻击路径分析,以及跨所有主要云提供商的漏洞管理
- Prisma Cloud / Cortex Cloud:Palo Alto Networks CNAPP,包含 3000+ 内置策略,涵盖 CSPM、CWP、CIEM 和 IaC 安全
- AWS Security Hub CSPM:原生 AWS 态势管理,针对 CIS v5.0 和 AWS Foundational Security Best Practices 进行自动化检查
- Prowler:开源 AWS/Azure/GCP 安全评估工具,包含 300+ 检查和 CIS 基准支持
- Steampipe:开源基于 SQL 的云配置查询工具,支持 140+ 插件用于多云态势查询
常见场景
场景:收购后云态势评估
场景背景:一家公司收购了一家拥有 30 个 AWS 账户和 5 个 GCP 项目的初创公司。没有 CSPM 工具,安全团队需要在两周内评估继承的环境。
方法:
- 使用只读跨账户角色部署无代理 CSPM 工具(Wiz 或 Orca),立即获得可见性,无需安装代理
- 对 AWS 和 GCP 运行初始 CIS Benchmarks 扫描,建立基线态势评分
- 识别严重发现:公开暴露的数据库、含敏感数据的未加密存储、过度特权的服务账户
- 优先处理连接互联网暴露资源与包含客户 PII 数据存储的攻击路径
- 提交管理层摘要,包含风险排序发现和 90 天修复路线图
- 将收购的账户集成到现有 CSPM 平台中进行持续监控
常见陷阱:为初始评估部署代理会增加数周延迟。在多云评估中仅使用原生工具会创建独立的仪表板,难以进行跨云比较。
输出格式
云安全态势评估报告
==========================================
组织: Acme Corp
云提供商: AWS(57 个账户)、Azure(8 个订阅)、GCP(3 个项目)
CSPM 平台: Wiz
评估日期: 2025-02-23
总体态势评分: 68/100
按严重程度的发现:
严重: 47 (互联网暴露 + 数据访问风险)
高: 234 (错误配置,暴露有限)
中: 891 (不合规但即时风险低)
低: 1,567 (信息性或最佳实践)
主要攻击路径:
1. 互联网 -> 公开 S3 存储桶(PII 数据)-> 无加密
受影响: 3 个账户 | 风险: 严重 | 修复预计: 1 天
2. 互联网 -> EC2(SSH 开放)-> IAM 角色 -> 跨账户管理员
受影响: 1 个账户 | 风险: 严重 | 修复预计: 2 天
3. 互联网 -> Azure App Service -> SQL Server(公共端点)
受影响: 2 个订阅 | 风险: 严重 | 修复预计: 3 天
合规状态:
CIS AWS v5.0: 62% 合规(340/548 控制项通过)
CIS Azure v4.0: 71% 合规(189/266 控制项通过)
CIS GCP v4.0: 58% 合规(87/150 控制项通过)
SOC 2 Type II: 74% 控制项已映射且通过