云上身份与权限治理:从AK泄露到横向移动的阻断
云上攻击的起点通常是密钥
与传统数据中心不同,云环境的管理入口是接口和密钥,而不是机房门禁。一个具备较高权限的访问密钥被写入代码仓库、遗留在构建日志或存放在开发人员的本地配置中,就等于把管理后台的钥匙放到了互联网上。攻击者获取密钥后不需要突破任何防火墙,可以直接调用接口创建资源、读取存储数据或修改访问策略。
从密钥到横向移动
拿到一个密钥后,攻击者的典型动作是枚举。先查询当前身份具备哪些权限、能访问哪些资源,再寻找权限提升的机会。常见路径包括:通过实例元数据服务获取绑定在计算资源上的临时凭证;利用角色信任关系从一个账号跳转到另一个账号;通过读取配置管理服务或密钥管理服务获取更多凭据;借助具有删除保护能力的资源建立持久化后门。
由于这些操作都是通过合法接口完成,流量也走的是云服务商的地址,本地网络设备几乎看不到异常。这也是云上事件发现困难的主要原因。
权限治理的四个做法
第一,杜绝长期密钥。优先使用临时凭证,为计算资源绑定角色而非在代码中配置固定密钥,并设置凭证的有效期。
第二,最小权限与边界。每个身份只授予完成其职责所需的动作和资源范围,同时使用权限边界限制身份能够获得的最大权限,避免权限提升。
第三,密钥集中管理。把密钥存放在专用的密钥管理服务中,应用运行时按需获取,禁止写入代码和配置文件。同时开启访问审计,记录谁在何时读取了哪个密钥。
第四,行为基线告警。对云平台的接口调用建立基线,关注新出现的调用来源地址、异常的资源创建行为、权限策略修改以及删除日志配置等高风险动作。
结语
云上安全的抓手是身份和权限。把长期密钥消灭掉,把权限收窄到刚好够用,就能消除大部分攻击者的便利路径。