云服务器安全:从基础到实践
云服务器(ECS、CVM、云主机等)本质上是运行在云厂商虚拟化平台上的虚拟机,用户通过 API 或控制台按需创建、销毁,按使用量付费。它和物理服务器的最大区别不在硬件,而在于你不再拥有物理边界——机房、供电、硬件、网络骨干都交给了云厂商,而这份"托管"带来的安全责任划分,恰恰是绝大多数云上事故的根源。
一、先理解责任分界
云安全的第一个必读概念是共享责任模型。很多人以为"上了云,安全就归云厂商管",这是最危险的误解。实际划分是这样的:
| 层次 | 云厂商负责 | 用户负责 |
|---|---|---|
| 物理设施 | 机房、供电、硬件、网络设备 | 无 |
| 虚拟化层 | Hypervisor、宿主机补丁、隔离 | 无 |
| 网络 | 骨干网与 DDoS 基础设施 | 安全组、ACL、VPC 划分、路由策略 |
| 操作系统 | 提供基础镜像 | 补丁、账号、服务、日志、主机防护 |
| 应用与数据 | 平台服务的可用性 | 应用漏洞、数据加密、备份策略 |
| 身份与凭证 | IAM 系统本身 | 权限策略、密钥轮换、多因素认证 |
一句话概括这条分界:云厂商负责"云的安全",用户负责"云中的安全"。 你看到的所有云上事故——数据泄露、挖矿、勒索——几乎全部落在右列,也就是用户自己那半边。
二、云服务器特有的风险模型
把云环境和自建机房对比,会发现风险的性质变了。
边界从物理设备变成了配置项。 传统机房里,防火墙是插在机柜上的硬件,谁能碰、谁不能碰一目了然。云上,安全组是一行配置,任何人都能通过控制台或 API 修改,误操作的成本极低、后果却同样严重。配置错误因此成为云安全事故的头号原因。
凭证等于权限,权限等于资产。 这是云环境最本质的变化。一把 AccessKey 泄露,攻击者不需要攻破任何服务器,就能通过 API 直接读取存储桶、创建实例、删除快照、导出数据库。传统边界攻击需要一步步渗透,云上可能一步到位。
资产是动态的。 弹性伸缩、容器调度让实例随时创建销毁,IP 不断变化。传统靠固定资产台账做的管理方式在云上直接失效,安全策略必须绑定标签、角色或策略而非具体 IP。
元数据服务成为新的攻击面。 云主机内部有一个特殊地址(如 169.254.169.254)用于获取实例的临时凭证、用户数据等信息。如果应用存在 SSRF 漏洞,攻击者就能借它拿到实例绑定的角色凭证。2019 年 Capital One 泄露一亿用户数据,正是这个路径:SSRF 打到元数据服务获取凭证,再用过大的权限读取对象存储。这一案例之后,主流云厂商推出了需要令牌的加固版本(如 IMDSv2),但默认启用与否取决于配置。
三、高发事故场景
云服务器被入侵的路径高度集中,翻来覆去就是那几条:
远程管理端口暴露在公网。 22 与 3389 直接对全网开放,弱口令被爆破是长期高发问题。爆破成功后的第一件事通常是植入挖矿程序。
中间件未授权访问。 Redis、MongoDB、Elasticsearch、Docker API 等服务默认无认证或配置不当,一旦暴露在公网即可被直接操作。攻击者通过 Redis 写入 SSH 公钥或计划任务、通过 Docker API 启动恶意容器,是中文云环境中极为常见的入侵方式。
安全组把数据库开给了全网。 3306、6379、27017 配置为 0.0.0.0/0,等于把数据库放在公网上裸奔。
密钥硬编码与泄露。 把 AccessKey 写进代码提交到代码仓库,是凭证泄露最常见的入口。云厂商的安全中心通常会扫描并告警,但前提是你打开了它。
公共镜像与第三方镜像含后门。 使用了来路不明的镜像或一键部署脚本,等于主动把后门装进自己的机器。
挖矿是最常见的后果。 相比数据窃取,攻击者更倾向于把云主机变成免费算力——消耗你的 CPU 与账单,同时掩盖真实入侵痕迹。
四、加固清单
按照优先级从高到低排列,这些是投入产出比最高的动作:
收敛暴露面。 安全组默认拒绝,只放行必要端口;管理端口不直接对公网开放,改为通过跳板机、VPN 或云厂商的会话管理服务访问;数据库只允许内网访问。这一步能消除一半以上的攻击路径。
管好身份与密钥。 禁用密码登录改用密钥对;控制台与关键操作启用多因素认证;AccessKey 遵循最小权限、定期轮换、不落盘不入库不进代码;能用实例角色(RAM Role)就不用长期密钥。
加固元数据服务。 启用需要令牌的强制模式(如 IMDSv2),关闭不需要的旧版访问;应用侧对 SSRF 做专门防护,限制可请求的地址范围。
做好补丁与基线。 系统与中间件补丁及时跟进;关闭无用服务与默认账号;用基线核查工具定期扫描。修改默认端口只能减少扫描噪音,不能替代认证与访问控制。
把监控和日志建起来。 登录日志、异常外联、CPU 长时间满载(典型挖矿特征)、密钥使用异常都要有告警;把云平台的操作审计与主机日志集中收集并异地留存,留存周期要足够长——入侵往往在数月后才被发现。
备份要能对抗"凭证被偷"。 定期快照、跨区域备份,并定期验证可恢复性。特别要注意:如果攻击者拿到了高权限凭证,快照同样可能被删除,所以备份必须放在攻击者够不到的地方,或启用不可变存储与独立的权限边界。
做好网络分段。 用 VPC 与子网做隔离,不同业务分属不同安全域,内网之间也按最小必要原则放通,出口统一走 NAT。云上的横向移动之所以容易,往往是因为内网全通。
加密与密钥管理。 磁盘加密、传输加密、密钥交由 KMS 托管而不是散落在配置文件里。
上一套主机防护与边界防护。 HIDS 或 EDR 负责主机侧的行为检测,WAF 负责应用层,DDoS 防护负责流量层。这些不等于安全,但能显著缩短发现时间。
五、出事后怎么处置
云环境下的处置原则和传统机房有一个重要区别:重建优于清洗。
一旦确认主机被入侵,正确的顺序是先做快照保留证据、再隔离网络,然后检查计划任务、系统服务、SSH 授权文件、异常账号与后门,轮换所有可能暴露的凭证(这是最容易被漏掉的一步),最后用干净的镜像重新部署,而不是试图把恶意文件"删干净"。
同时必须把排查范围扩大到同一账号下的其他资产。攻击者拿到凭证后通常不会只停留在一台机器上,只处理被发现的实例,等于给对方留着下一次入口。