# Building Cloud Security Posture Management

> 本 skill 指导安全架构师设计和实施云安全态势管理（CSPM）计划，持续监控 AWS、Azure 和 GCP 的基础设施配置。涵盖选择 Wiz、Prisma Cloud 或原生服务等 CSPM 工具、定义策略基线、 自动化漂移检测，以及将态势发现集成到 SOC 工作流。

- Skill: `killvxk/building-cloud-security-posture-management` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add killvxk/building-cloud-security-posture-management`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/building-cloud-security-posture-management/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/building-cloud-security-posture-management

---


# 构建云安全态势管理

## 适用场景

- 组织缺乏跨多个账户和提供商的云错误配置可见性时
- 合规要求需要持续监控 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：基于异常的行为分析检测

```bash
# 示例：使用 CloudFormation 为 AWS 部署 Wiz 连接器
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

# 示例：配置 Prisma Cloud AWS 加载
# Prisma Cloud 使用跨账户 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 策略。为超出标准基准的组织特定要求创建自定义规则。

```yaml
# 自定义 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"
    remediation: 移除公共 IP，通过负载均衡器或 NAT 网关路由流量

  - name: storage-account-private-endpoint
    description: Azure 存储账户必须仅使用私有端点
    provider: azure
    resource_type: azurerm_storage_account
    severity: HIGH
    rule: |
      resource.network_rules.default_action == "Deny" AND
      resource.private_endpoint_connections.length > 0
```

### 步骤 4：自动化漂移检测和告警

配置持续扫描间隔、漂移检测阈值和告警路由，确保在资源创建或修改后数分钟内检测到新的错误配置。

```bash
# 用于 S3 公开访问漂移检测的 AWS Config 规则
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"]}
  }'

# 使用 SSM Automation 自动修复
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 工单进行修复跟踪，构建态势趋势管理层仪表板。

```bash
# 以 OCSF 格式将发现导出到 Amazon Security Lake
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 工具，安全团队需要在两周内评估继承的环境。

**方法**：
1. 使用只读跨账户角色部署无代理 CSPM 工具（Wiz 或 Orca），立即获得可见性，无需安装代理
2. 对 AWS 和 GCP 运行初始 CIS Benchmarks 扫描，建立基线态势评分
3. 识别严重发现：公开暴露的数据库、含敏感数据的未加密存储、过度特权的服务账户
4. 优先处理连接互联网暴露资源与包含客户 PII 数据存储的攻击路径
5. 提交管理层摘要，包含风险排序发现和 90 天修复路线图
6. 将收购的账户集成到现有 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% 控制项已映射且通过
```

