AWS 宣布新 EC2 实例类型仅支持 IMDSv2
为了提升对开放防火墙、反向代理和服务器端请求伪造(SSRF)漏洞的防御能力,AWS 近日宣布,新的 Amazon EC2 实例类型将仅支持 EC2 实例元数据服务版本 2(IMDSv2)。为了支持过渡,客户仍可以手动启用 IMDSv1。
IMDS 的作用与改进
IMDS 提供对临时、频繁轮换的凭证的访问,避免了在实例中硬编码或分发敏感凭证的需求。IMDSv2 于 2019 年推出,采用两步验证流程,为多种漏洞提供了额外的防护层,包括:
- 配置错误的网站应用防火墙
- 配置错误的反向代理
- 未修补的 SSRF 漏洞
- 配置错误的第三层防火墙和网络地址转换(NAT)
IMDSv2 的工作机制
IMDSv2 要求通过 HTTP PUT 请求创建一个秘密令牌,该令牌必须用于查询元数据。以下是一个示例命令:
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`
curl http://169.254.169.254/latest/meta-data/profile -H "X-aws-ec2-metadata-token: $TOKEN"过渡支持与默认变更
AWS 计划在 2024 年 2 月引入新的 API 功能,允许客户在账户级别控制 IMDSv1 的默认使用。AWS 副总裁兼首席布道师 Jeff Barr 表示:
IMDSv1 使用请求/响应访问方法,而 IMDSv2 使用面向会话的方法。许多应用程序和实例已经使用并受益于 IMDSv2,但只有在 AWS 账户级别禁用 IMDSv1 时,才能获得全部好处。
社区反应
社区的反馈总体积极,Reddit 用户 HolaGuacamola 评论道:
终于来了。我们之前为了合规不得不在所有实例上关闭 IMDSv1,做了大量工作。
过渡工具与资源
AWS 提供了多种工具来帮助客户顺利过渡到 IMDSv2:
- IMDS 数据包分析器:开源工具,用于识别和记录实例启动阶段中的 IMDSv1 调用。
- MetadataNoToken:CloudWatch 指标,用于跟踪使用 IMDSv1 的调用次数。
- IAM 策略和 SCP:确保实例仅在配置为使用 IMDSv2 时才能启动。
默认启用 IMDSv2 的实例
所有控制台的“快速启动”实例和 Amazon Linux 2023 已经默认使用 IMDSv2。
总结
AWS 通过默认启用 IMDSv2,显著提升了 EC2 实例的安全性,特别是在应对 SSRF 等常见漏洞方面。客户应尽快评估并过渡到 IMDSv2,以充分利用其安全优势。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。