一、云安全防护体系(五层)
用"纵深防御"的思路,把云安全拆成五层:
┌─────────────────────────────────────────────┐
│ ① 身份与访问(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 云审计日志看什么
| 可疑行为 | 日志事件 |
|---|---|
| 凭证泄露后试探权限 | 大量 GetCallerIdentity、List* |
| 创建后门 | CreateAccessKey、CreateUser、AttachUserPolicy |
| 提权 | AssumeRole、PutRolePolicy |
| 资源滥用 | 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 云上应急的特殊要点
-
先取证,再操作 :对实例做快照/镜像,保留证据。
-
不要急着关机 :关机丢失内存证据;优先隔离网络(改安全组)而非关机。
-
禁用而不是删除 AK:禁用便于后续排查该凭证的行为;确认后再删除。
-
检查所有凭证:泄露一个 AK,要假设同环境的都可能泄露。
-
检查后门:新建的用户、Role、AK、安全组规则、定时任务、函数。
-
账单也是线索:挖矿/大量算力会体现在费用上。
-
跨区域检查:攻击者可能在其他区域建资源。
3.3 典型应急场景
场景 A:AK/SK 泄露
-
立即禁用该 AK。
-
查 ActionTrail 该 AK 近期所有调用。
-
排查是否创建了新用户/角色/密钥。
-
轮换相关凭证,修复泄露源(代码/镜像/SSRF)。
场景 B:容器逃逸/节点被控
-
隔离节点(安全组)。
-
快照磁盘取证。
-
查容器启动参数、镜像、异常进程。
-
排查是否横向到 K8s apiserver/etcd。
场景 C:etcd 未授权
-
立即限制 2379 访问。
-
评估泄露范围(哪些 Secret/token 被读)。
-
轮换所有可能泄露的凭证。
-
开启客户端证书认证。
场景 D:公共桶数据泄露
-
立即把桶改为私有。
-
查访问日志,评估下载范围。
-
评估是否涉及个人信息/合规上报。
-
用 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。防御:强制 IMDSv2 (HttpTokens: 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 下一步进阶
-
动手搭完整 K8s 集群(kubeadm),做 kube-bench 基线、审计日志、PSS。
-
云平台实操:注册云厂商账号,亲手配 IAM、安全组、OSS、云审计。
-
工具链:Trivy、Falco、kube-hunter、Pacu、cloudfox。
-
IaC 安全:Terraform 配置审计、Checkov。
-
Serverless 安全 、供应链安全(SBOM、Sigstore)。
-
认证:考取云厂商安全认证(如阿里云 ACP、AWS Security Specialty)。
6.3 推荐资源
-
官方文档:阿里云/腾讯云/AWS 安全白皮书。
-
标准:等保 2.0、CSA CCM、CIS Benchmark。
-
靶场:云安全 CTF、K8s Goat、CloudGoat(AWS)。
七、本篇小结
-
五层防护:身份、网络、主机负载、数据、审计。
-
检测的核心是云审计日志 + 行为基线。
-
云上应急六阶段:准备→发现→遏制→根除→恢复→复盘。
-
云上应急三原则:先取证、别急关机、禁用而非删除凭证。
-
全系列串成一条链:暴露面 → 初始访问 → SSRF/逃逸 → 凭证/横向 → 影响。