前置知识: 云计算

云安全服务

7 minAdvanced2026/6/14

共享责任模型、身份与访问管理、数据加密与密钥管理、网络安全、合规与审计、安全运营与事件响应。

1. 共享责任模型

1.1 模型概述

云安全遵循共享责任模型,云厂商和客户各负责不同层面的安全:

┌──────────────────────────────────────────────────────┐
│              云厂商责任          │     客户责任        │
├──────────────────────────────────────────────────────┤
│  IaaS:                          │                    │
│  物理安全、基础设施、网络        │  OS、应用、数据     │
├──────────────────────────────────────────────────────┤
│  PaaS:                          │                    │
│  物理安全、基础设施、OS、运行时  │  应用代码、数据     │
├──────────────────────────────────────────────────────┤
│  SaaS:                          │                    │
│  几乎全部                       │  数据、访问控制     │
└──────────────────────────────────────────────────────┘

1.2 各云厂商模型差异

责任领域AWSAzure阿里云
物理数据中心云厂商云厂商云厂商
网络基础设施云厂商云厂商云厂商
虚拟化层云厂商云厂商云厂商
操作系统客户客户客户
应用与数据客户客户客户
身份与访问客户客户客户

2. 身份与访问管理(IAM)

2.1 IAM 核心概念

┌──────────────────────────────────────────────────┐
│                    IAM 模型                       │
│                                                   │
│  Principal ──► Role ──► Policy ──► Resource       │
│  (谁)         (角色)    (权限)     (什么资源)      │
│                                                   │
│  认证(AuthN): 你是谁?                             │
│  授权(AuthZ): 你能做什么?                          │
│  审计(Audit): 你做了什么?                          │
└──────────────────────────────────────────────────┘

2.2 IAM 策略

基于身份的策略(附加到用户/角色):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject"],
      "Resource": "arn:aws:s3:::my-bucket/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": ["10.0.0.0/8"]
        },
        "StringEquals": {
          "s3:x-amz-server-side-encryption": "aws:kms"
        }
      }
    }
  ]
}

基于资源的策略(附加到资源,如 S3 Bucket Policy)。

2.3 最小权限原则

最小权限实施策略:

  1. 从拒绝所有开始:默认拒绝,逐步放行
  2. 使用 AWS Access Analyzer:识别过度权限
  3. 权限边界(Permissions Boundary):设置角色权限上限
  4. 服务控制策略(SCP):组织级权限限制
  5. 会话策略:临时会话的权限缩小

2.4 联合身份

┌──────────┐    ┌──────────┐    ┌──────────┐
│ 企业 IdP  │───►│ SAML/OIDC│───►│ IAM Role │───► AWS 资源
│ (AD/LDAP)│    │ 联合认证  │    │ (临时凭证)│
└──────────┘    └──────────┘    └──────────┘

联合身份优势:

  • 无需管理 IAM 用户
  • 使用现有企业身份体系
  • 临时凭证自动轮换
  • 集中审计

2.5 临时安全凭证

STS(Security Token Service)提供临时凭证:

临时凭证有效期=min(请求时长,角色最大会话时长)\text{临时凭证有效期} = \min(\text{请求时长}, \text{角色最大会话时长})
凭证有效期用途
AssumeRole15min-12h跨账户访问
GetFederationToken15min-36h联合身份
GetSessionToken15min-36hMFA 场景

3. 数据加密与密钥管理

3.1 加密层次

┌──────────────────────────────────────────────────┐
│                 加密层次                           │
├──────────────────────────────────────────────────┤
│  应用层加密    ← 应用代码实现,最灵活              │
│  存储层加密    ← 数据库/文件系统透明加密            │
│  磁盘层加密    ← EBS 加密,操作系统不可见           │
│  网络层加密    ← TLS/IPsec,传输中保护             │
└──────────────────────────────────────────────────┘

3.2 KMS(Key Management Service)

KMS 提供密钥的创建、管理和审计:

┌──────────────────────────────────────────────┐
│                  KMS 架构                      │
│                                               │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  │
│  │ AWS 托管  │  │ 客户托管  │  │ 客户自带  │  │
│  │ 密钥      │  │ 密钥      │  │ 密钥      │  │
│  │ (aws/*)  │  │ (alias/*)│  │ (ext/*)  │  │
│  └──────────┘  └──────────┘  └──────────┘  │
│        │             │             │          │
│  ┌─────▼─────────────▼─────────────▼───────┐ │
│  │         HSM (硬件安全模块)               │ │
│  │    密钥在 HSM 中生成和存储               │ │
│  └─────────────────────────────────────────┘ │
└──────────────────────────────────────────────┘

信封加密

KMS 使用信封加密保护数据,避免每次请求都访问 KMS:

1. 请求数据密钥 → KMS 返回明文 DK + 密文 DK
2. 使用明文 DK 加密数据
3. 存储密文 DK + 密文数据
4. 丢弃明文 DK

解密:
1. 发送密文 DK → KMS 解密 → 返回明文 DK
2. 使用明文 DK 解密数据

信封加密性能优势:

KMS 调用次数=数据量4KB (直接加密)\text{KMS 调用次数} = \frac{\text{数据量}}{\text{4KB}} \text{ (直接加密)} KMS 调用次数=1 (信封加密)\text{KMS 调用次数} = 1 \text{ (信封加密)}

3.3 密钥轮换

  • 自动轮换:每年自动轮换(AWS 托管密钥)
  • 按需轮换:手动创建新密钥版本
  • 别名轮换:更新别名指向的密钥

密钥轮换不影响已加密数据(旧密钥版本仍可解密)。

4. 网络安全

4.1 深度防御

┌──────────────────────────────────────────────────┐
│               深度防御层级                         │
│                                                   │
│  边界防护: WAF / Shield / CloudFront              │
│      │                                            │
│  网络防护: VPC / 安全组 / NACL / VPC Endpoint     │
│      │                                            │
│  主机防护: OS 加固 / 漏洞修补 / 运行时保护         │
│      │                                            │
│  应用防护: 输入验证 / 认证授权 / 会话管理          │
│      │                                            │
│  数据防护: 加密 / 脱敏 / 访问控制                  │
└──────────────────────────────────────────────────┘

4.2 WAF(Web Application Firewall)

WAF 保护 Web 应用免受常见攻击:

规则防护内容
SQL 注入恶意 SQL 语句
XSS跨站脚本攻击
RFC 违规不合规 HTTP 请求
机器人自动化攻击
IP 信誉已知恶意 IP
速率限制DDoS 防护

WAF 规则优先级

规则1 (Allow: 已知好IP) → 规则2 (Block: 已知坏IP) → 规则3 (Rate Limit) → 规则4 (SQLi检测) → 默认动作

4.3 DDoS 防护

服务防护层级特点
AWS Shield StandardL3/L4自动免费防护
AWS Shield AdvancedL3/L4/L7付费,$3000/月,DDoS 响应团队
CloudFrontL7分布式吸收流量
Route 53DNSDNS 层防护
WAFL7应用层规则

DDoS 攻击型与防御:

攻击流量=攻击包速率×包大小\text{攻击流量} = \text{攻击包速率} \times \text{包大小}
攻击层级防御策略
SYN FloodL4SYN Cookie、限速
UDP FloodL4限速、Geo 屏蔽
DNS 放大L3DNSSEC、限速
HTTP FloodL7WAF 速率限制、CAPTCHA
SlowlorisL7连接超时、并发限制

4.4 VPC Endpoint

VPC Endpoint 允许私有网络访问云服务,不经公网:

Interface Endpoint(PrivateLink):

VPC ── ENI ── PrivateLink ── 云服务
       (私有IP)

Gateway Endpoint(S3/DynamoDB 专用):

VPC ── 路由表 ── Gateway Endpoint ── S3/DynamoDB
       (免费)

5. 合规与审计

5.1 合规框架

框架行业核心要求
SOC 2通用安全性、可用性、机密性
PCI DSS支付卡数据保护
HIPAA医疗健康信息保护
GDPR隐私个人数据保护
ISO 27001通用信息安全管理体系
等保 2.0中国网络安全等级保护

5.2 AWS Config

Config 持续记录资源配置变更,评估合规性:

┌──────────────────────────────────────────────┐
│              AWS Config                       │
│                                               │
│  资源变更 ──► Config Recorder ──► 配置项      │
│                                    │          │
│  合规规则 ◄────────────────────────┘          │
│     │                                         │
│     ├── COMPLIANT                            │
│     └── NON_COMPLIANT  ──► 自动修正          │
└──────────────────────────────────────────────┘

常用合规规则:

  • 加密 EBS 卷
  • S3 Bucket 禁止公开访问
  • 安全组不允许 22/3389 端口入站
  • IAM 用户必须启用 MFA
  • RDS 实例必须开启加密

5.3 CloudTrail

CloudTrail 记录所有 API 调用,用于安全审计:

API 调用 → CloudTrail → S3 (长期存储)
                      → CloudWatch Logs (实时监控)
                      → EventBridge (事件驱动)

关键审计场景:

  • 谁创建了/删除了资源?
  • 何时修改了 IAM 策略?
  • 哪些 API 调用失败?
  • 是否有异常的登录行为?

6. 安全运营与事件响应

6.1 安全运营中心

┌──────────────────────────────────────────────────┐
│                  安全运营流程                      │
│                                                   │
│  检测 → 分析 → 遏制 → 根除 → 恢复 → 复盘         │
│   │       │       │       │       │       │       │
│   ▼       ▼       ▼       ▼       ▼       ▼       │
│ GuardDuty 分析    隔离     修补    验证    改进     │
│ SecurityHub 上下文  撤销   清除    恢复    文档     │
│ Config     取证    权限    恶意    服务    策略     │
└──────────────────────────────────────────────────┘

6.2 GuardDuty

GuardDuty 是托管的威胁检测服务:

检测示例
异常 API 调用来自异常地域的 API 调用
凭证泄露GitHub 上发现 AWS 凭证
恶意 IP 交互与已知 C2 服务器通信
挖矿行为异常高的 CPU 使用 EC2
暴力破解多次登录失败
权限提升异常的 IAM 操作

6.3 自动化响应

安全事件自动化响应架构:

GuardDuty 发现 ──► EventBridge ──► Lambda ──► 自动动作

                                    ├── 撤销 IAM 凭证
                                    ├── 隔离 EC2 实例
                                    ├── 阻止恶意 IP
                                    ├── 通知安全团队
                                    └── 创建 JIRA 工单

6.4 安全基线检查

云账户安全基线检查清单:

身份与访问

  • Root 账户无 AK/SK
  • Root 账户启用 MFA
  • 所有 IAM 用户启用 MFA
  • 无 IAM 访问密钥超过 90 天
  • 最小权限策略

网络

  • 安全组不允许 0.0.0.0/0 入站
  • VPC 流日志已开启
  • S3 Bucket 禁止公开访问

数据保护

  • EBS 卷加密
  • RDS 实例加密
  • S3 对象加密
  • CloudTrail 日志加密

监控

  • CloudTrail 全区域启用
  • Config 合规规则配置
  • GuardDuty 启用
  • 安全告警通知配置