在 EC2 实例上保留 IMDSv1 可能让 SSRF 攻击者轻易拿到实例元数据。
AWS 在控制台会提示:在把 IMDSv2 设为“必需”前,先确认实例没有 IMDSv1 调用。
CloudWatch 的
MetadataNoToken 指标能帮助你判断是否还有未加 token 的请求。迁移流程
1. 先用MetadataNoToken监控,确认所有旧脚本/SDK 已改为 token。
2. 在控制台或 Terraform 把HttpTokens从optional改为required。
3. 重新测试,若出现MetadataNoTokenRejected,说明仍有 IMDSv1 调用,需进一步修复。
注意
- IMDSv2 并不修复 SSRF 本身,只是让元数据访问更安全。
- 迁移后旧的 SSRF 漏洞仍需修补。
- 通过aws ec2 modify-instance-metadata-defaults可在账户层面强制要求 IMDSv2,避免新实例再次使用 IMDSv1。
实验环境
- 通过 GitHub 仓库RedCaraxes/aws-imdsv1-to-imdsv2-lab可快速搭建演示。
- 费用低,约 $0.27/天(t3.nano + 公网 IP + EBS)。
GitHub
GitHub
#开发者 #工具 #IMDS #EC2 #SSRF #AWS #CWE918 #CapitalOne #CloudWatch #Terraform #IAMRole
@DevToolboxHub







