云安全 · 08 · 云安全防护与应急响应

一、云安全防护体系(五层)

用"纵深防御"的思路,把云安全拆成五层:

复制代码
┌─────────────────────────────────────────────┐
│  ① 身份与访问(IAM)   ← 云上的“新边界”        │
├─────────────────────────────────────────────┤
│  ② 网络(VPC / 安全组 / 云防火墙 / WAF)       │
├─────────────────────────────────────────────┤
│  ③ 主机与负载(HIDS / CWPP / 容器安全)        │
├─────────────────────────────────────────────┤
│  ④ 数据(加密 / KMS / 备份 / 防泄露)          │
├─────────────────────────────────────────────┤
│  ⑤ 审计与监控(ActionTrail / 态势感知)        │
└─────────────────────────────────────────────┘

1.1 身份与访问(IAM)

  • 最小权限 :子账号只给必要权限,禁止 *:*

  • MFA:主账号、高权限账号强制多因素认证。

  • 优先临时凭证:用 STS / Role,减少长期 AK。

  • 定期轮换 AK,离职立即禁用。

  • CIEM:持续发现权限过大的账号。

1.2 网络

  • 安全组最小开放 :禁止 0.0.0.0/0 开放 22/3389/6379/27017 等。

  • VPC 隔离:生产/测试/公网分层。

  • 云防火墙:东西向 + 南北向流量管控。

  • 云 WAF:防 SQL 注入、XSS、CC 攻击。

  • 堡垒机:运维入口统一收口,操作审计。

1.3 主机与负载

  • HIDS / CWPP:检测进程、文件、登录、提权行为。

  • 容器安全:镜像扫描(Trivy)、运行时检测(Falco)、禁止特权容器。

  • 基线核查 :CIS Benchmark、kube-bench

  • 漏洞管理:定期扫描 + 及时补丁。

1.4 数据

  • 加密:传输 TLS、存储 SSE-KMS、Secret 静态加密。

  • KMS 密钥管理:权限最小化,密钥轮换。

  • 备份与快照:加密、定期演练恢复。

  • 数据分类分级:敏感数据重点保护。

1.5 审计与监控

  • 云审计:ActionTrail(阿里云)/ CloudTrail(AWS),记录所有 API 调用。

  • VPC Flow Logs:网络流量日志。

  • 日志集中:日志服务/SLS,防篡改存储。

  • 态势感知/SIEM:聚合分析、告警。

  • 告警规则:如"创建 AK""修改安全组""公共桶""AssumeRole 异常"。


二、日志与检测

2.1 云审计日志看什么

可疑行为 日志事件
凭证泄露后试探权限 大量 GetCallerIdentityList*
创建后门 CreateAccessKeyCreateUserAttachUserPolicy
提权 AssumeRolePutRolePolicy
资源滥用 RunInstances 大量创建、CreateSnapshot
数据外传 GetObject 大量下载、PutBucketPolicy 改公共
安全组放开 AuthorizeSecurityGroupIngress 对 0.0.0.0/0

2.2 云上检测的难点

  • 攻击者用合法凭证操作,流量像正常 API。

  • 需要行为基线:什么时间、什么 IP、什么频率算异常。

  • 跨账号、跨区域的操作要能关联。

2.3 常用检测点

  • 异常登录地(新国家/新 IP)。

  • 异常时间的操作。

  • 单账号短时间大量 API 调用。

  • 主账号 AK 被使用(正常应极少用主账号 AK)。

  • IMDS 被访问的异常(结合 VPC Flow Logs)。


三、云上应急响应

3.1 六阶段流程

复制代码
准备 → 发现 → 遏制 → 根除 → 恢复 → 复盘
阶段 关键动作
准备 预案、联系人、日志已开启、权限预留、取证工具
发现 告警、审计日志、用户报告、账单异常
遏制 隔离受影响实例、禁用泄露 AK、限制网络
根除 删除后门账号/Role、修复漏洞、重置凭证
恢复 从干净快照恢复、逐步放量、持续监控
复盘 根因分析、改进措施、更新预案

3.2 云上应急的特殊要点

  1. 先取证,再操作 :对实例做快照/镜像,保留证据。

  2. 不要急着关机 :关机丢失内存证据;优先隔离网络(改安全组)而非关机。

  3. 禁用而不是删除 AK:禁用便于后续排查该凭证的行为;确认后再删除。

  4. 检查所有凭证:泄露一个 AK,要假设同环境的都可能泄露。

  5. 检查后门:新建的用户、Role、AK、安全组规则、定时任务、函数。

  6. 账单也是线索:挖矿/大量算力会体现在费用上。

  7. 跨区域检查:攻击者可能在其他区域建资源。

3.3 典型应急场景

场景 A:AK/SK 泄露

  1. 立即禁用该 AK。

  2. 查 ActionTrail 该 AK 近期所有调用。

  3. 排查是否创建了新用户/角色/密钥。

  4. 轮换相关凭证,修复泄露源(代码/镜像/SSRF)。

场景 B:容器逃逸/节点被控

  1. 隔离节点(安全组)。

  2. 快照磁盘取证。

  3. 查容器启动参数、镜像、异常进程。

  4. 排查是否横向到 K8s apiserver/etcd。

场景 C:etcd 未授权

  1. 立即限制 2379 访问。

  2. 评估泄露范围(哪些 Secret/token 被读)。

  3. 轮换所有可能泄露的凭证。

  4. 开启客户端证书认证。

场景 D:公共桶数据泄露

  1. 立即把桶改为私有。

  2. 查访问日志,评估下载范围。

  3. 评估是否涉及个人信息/合规上报。

  4. 用 CSPM 全量排查其他桶。


四、全系列攻击链复盘

把前面 7 篇串成一条完整的云攻击链:

复制代码
1. 信息收集:扫描端口、找暴露面
        ↓
2. 初始访问:
   - 安全组暴露的 Redis/MySQL 未授权
   - Web 漏洞(SQLi/RCE/SSRF)
   - 泄露的 AK/SK(GitHub/前端)
        ↓
3. 执行 / 立足:
   - SSRF → IMDS → 拿临时凭证(第 06 篇)
   - Web RCE → 拿到容器 shell
        ↓
4. 权限提升 / 逃逸:
   - Docker 逃逸(第 03 篇)→ 节点 root
   - K8s RBAC 提权(第 04 篇)
        ↓
5. 凭证获取 / 横向:
   - etcd 未授权读 Secret/token(第 05 篇)
   - kubeconfig / SA token
   - AssumeRole 跳转
        ↓
6. 影响:
   - 接管对象存储(第 07 篇)
   - 数据窃取、后门持久化、挖矿

理解这条链,就理解了云安全的全貌。


五、云安全试题

1. 责任共担模型是什么?IaaS/PaaS/SaaS 下用户负责什么?

云厂商负责"云本身的安全 "(Security OF the Cloud),用户负责"云里面的安全"(Security IN the Cloud)。

  • IaaS:用户管 OS 及以上(OS、中间件、运行时、应用、数据、IAM);云厂商管虚拟化、服务器、存储、网络。

  • PaaS:用户管应用、数据、IAM;云厂商管 OS、运行时、中间件。

  • SaaS:用户主要管数据、IAM、访问控制;其余由云厂商管。

  • 无论哪层,数据和 IAM 永远是用户自己的责任。

2. 云安全和传统安全的区别?

边界不同:传统有清晰的物理/网络边界,云上边界消失、身份成为新边界 ;资产是弹性、动态、API 化的;责任是共担的;凭证变成 AK/SK、STS、Role;攻击面多了配置、API、元数据、容器、编排;检测靠云审计日志(ActionTrail/CloudTrail)+ CSPM。一句话:云安全 = 传统安全 + 身份安全 + 配置安全 + API 安全 + 云原生安全

3. 容器和虚拟机的隔离区别?容器逃逸的原理和防御?

VM 是硬件级虚拟化,各自有独立内核,隔离强;容器共享宿主内核 ,靠 namespace(隔离视图)+ cgroup(资源)+ capabilities/seccomp/AppArmor 限制。逃逸原理分三类:配置型--privileged、挂 docker.sock-v /:/host--pid=host)、内核型 (CVE-2022-0492、Dirty Pipe)、运行时型 (runc CVE-2019-5736)。防御:禁止特权、不挂 docker.sock、非 root 运行、--cap-drop=ALL、启用 seccomp/AppArmor、及时打补丁、必要时用 gVisor/Kata,配合 Falco 做运行时检测。

4. Docker 有哪些危险启动参数?

--privileged-v /var/run/docker.sock:/var/run/docker.sock-v /:/host--pid=host--network=host--cap-add=SYS_ADMIN、默认以 root 运行、关闭 seccomp/AppArmor。

5. K8s 的认证、鉴权、准入分别是什么?

请求进入 apiserver 的三关:认证 (你是谁:客户端证书、ServiceAccount token、Bearer、OIDC)→ 鉴权 (你能做什么:主要是 RBAC)→ 准入(要不要放行或改写:PodSecurity、Validating/Mutating Webhook)。

6. RBAC 怎么提权?

  • 创建 Pod → 建特权 Pod 挂载宿主机根 → 逃逸到节点;

  • 读 Secret → 读到高权限 SA 的 token,冒充身份;

  • escalate/bind → 直接给自己绑更高权限角色;

  • 改 RoleBinding → 把 cluster-admin 绑给自己;

  • impersonate → 冒充管理员;

  • 能读节点上的 kubeconfig → 拿集群管理员凭证。

7. etcd 未授权有什么危害?怎么防?

etcd 是 K8s 的唯一数据存储 ,含所有 Secret、SA token、RBAC 规则。未授权访问 = 可读(泄露数据库密码、云 AK/SK、token)也可写(篡改 Secret/RBAC,全集群沦陷) 。防御:开启 --client-cert-auth + TLS、只监听内网、防火墙限制 2379/2380、Secret 静态加密(EncryptionConfiguration)、备份加密、审计监控。

8. SSRF 怎么打元数据服务拿凭证?怎么防?

应用存在 SSRF → 让服务器去访问 169.254.169.254(AWS)/ 100.100.100.200(阿里云)→ 先列 IAM 角色名 → 再读角色凭证(AK/SK/Token)→ 用凭证调用云 API。防御:强制 IMDSv2HttpTokens: required)、SSRF 防护(URL 白名单、禁止访问内网/链路本地地址、限制重定向、禁用不需要的协议)、网络层限制实例访问 IMDS。

9. 拿到 AK/SK 能做什么?怎么应急?

能做:枚举身份/权限、接管对象存储、操作云主机、创建后门(新 AK/Role)、AssumeRole 横向、窃取数据、挖矿/勒索。应急:立即禁用该 AK → 查审计日志(ActionTrail/CloudTrail)看它干了什么 → 排查是否建了后门账号/Role → 轮换所有可能受影响的凭证 → 复盘并修复泄露源。

10. OSS/S3 常见配置错误和防御?

错误:公共读、公共读写、匿名 ListBucket、桶策略 "Principal":"*"、未开服务端加密、未开访问日志、日志桶本身公开。防御:默认私有 、禁止公共写(SCP / put-public-access-block)、慎用 Principal:"*"、服务端加密、开启访问日志、用 CSPM 持续检测、前端直传用最小权限 STS、定期以匿名视角自查。

11. 等保 2.0 云计算扩展要求关注什么?

主要针对 IaaS,关注:基础设施位置、虚拟化安全(虚拟机/容器隔离) 、镜像与快照保护、数据迁移与残留清除、多租户隔离。核心是"隔离"和"数据安全"。

12. CSPM、CWPP、CIEM 分别是什么?

  • CSPM:云安全配置管理,发现错误配置(公开桶、全开端口、匿名访问)。

  • CWPP:云工作负载保护,主机/容器的运行时防护(HIDS 的升级版)。

  • CIEM:云身份权限管理,发现"权限过大"的账号。

  • 相关:CNAPP(把上面整合)、CASB(管控 SaaS 使用)、SASE。

13. 云上应急和传统应急的区别?

流程一样(准备→发现→遏制→根除→恢复→复盘),但云上有几个特殊点:先取证再操作 (快照/镜像);不要急着关机 (丢内存证据),优先隔离网络(改安全组);禁用而非删除 AK (便于排查);重点查后门(新建用户/Role/AK/安全组);账单是线索 ;还要跨区域检查

14. 什么是零信任?

核心是"永不信任、始终验证"(Never Trust, Always Verify):默认不信任任何内外部流量,每次访问都要验证身份、设备与权限,遵循最小权限、微分段、持续评估。云上边界消失后身份成为新边界,零信任正是对应的安全思路。


六、学习路线建议

6.1 本系列

  • 云安全基础与责任共担、合规体系。

  • 容器隔离原理与 Docker 逃逸。

  • K8s 架构、RBAC、暴露面。

  • etcd 未授权、IMDS/AK-SK 泄露、对象存储配置错误。

  • 五层防护与云上应急。

6.2 下一步进阶

  1. 动手搭完整 K8s 集群(kubeadm),做 kube-bench 基线、审计日志、PSS。

  2. 云平台实操:注册云厂商账号,亲手配 IAM、安全组、OSS、云审计。

  3. 工具链:Trivy、Falco、kube-hunter、Pacu、cloudfox。

  4. IaC 安全:Terraform 配置审计、Checkov。

  5. Serverless 安全供应链安全(SBOM、Sigstore)。

  6. 认证:考取云厂商安全认证(如阿里云 ACP、AWS Security Specialty)。

6.3 推荐资源

  • 官方文档:阿里云/腾讯云/AWS 安全白皮书。

  • 标准:等保 2.0、CSA CCM、CIS Benchmark。

  • 靶场:云安全 CTF、K8s Goat、CloudGoat(AWS)。


七、本篇小结

  1. 五层防护:身份、网络、主机负载、数据、审计

  2. 检测的核心是云审计日志 + 行为基线

  3. 云上应急六阶段:准备→发现→遏制→根除→恢复→复盘

  4. 云上应急三原则:先取证、别急关机、禁用而非删除凭证

  5. 全系列串成一条链:暴露面 → 初始访问 → SSRF/逃逸 → 凭证/横向 → 影响

相关推荐
安当加密030121 小时前
银行金融云BYOK密钥自主管理:CKMS如何确保密钥不出边界
云安全·密钥管理·商用密码应用安全性评估·byok·金融云
三8442 天前
云安全 · 06 · 云凭证 AK/SK 与元数据服务
安全·云安全·docker逃逸·ak/sk
三8446 天前
云安全 · 02 · 容器与 Docker 安全基础
web安全·docker·云安全
三8447 天前
云安全· 01 · 云计算与云安全基础
网络安全·云计算·云安全
三84412 天前
redis防御加固与安全基线
数据库·redis·安全·应急响应·防御
三84418 天前
应急响应之服务、文件痕迹、网络、日志排查 + 工具清单
网络·应急响应·日志排查·文件痕迹排查·应急响应报告模板·服务排查
三84419 天前
应急响应之账户排查 + 计划任务排查 + 进程排查
web安全·应急响应·windows账户排查·应急响应linux排查
Flag在我手里1 个月前
应急响应-Windows权限维持
windows·rdp·应急响应·玄机
国际云,接待2 个月前
AWS S3防误删与勒索实战:Versioning、Object Lock及恢复演练
aws·云安全·数据备份·amazon s3