当前位置: 首页 > news >正文

AWS IMDSv2区域级强制实施:提升云安全新举措

IMDSv2强制实施:即将登陆您所在的区域!

2024年3月25日,AWS发布了一项新功能,默认在区域级别对新启动的实例强制实施IMDSv2。这代表了一个期待已久的功能,但仍存在一些特点。

IMDSv2简介

IMDSv2是AWS于2019年11月发布的安全机制,紧随备受关注的Capital One数据泄露事件。该事件由类似SSRF的漏洞引发,导致美国参议员Ron Wyden致信AWS询问为客户提供了哪些保护措施。以下是我从这封信中复制的部分摘录:

许多安全专家公开推测,Capital One黑客利用了SSRF漏洞,这是专家多年来一直警告的缺陷。据亚马逊所知,是否使用了SSRF攻击来获取Capital One的客户数据?

在过去两年中,有多少亚马逊客户因其亚马逊云计算服务器遭受SSRF攻击而受到损害?

亚马逊是否向其云计算客户提供了关于SSRF攻击可能性的任何指导,特别是针对亚马逊元数据服务(...)的指导?

有趣的是,“利用SSRF漏洞滥用AWS元数据服务”是我在2017年写的第一篇安全主题博客文章,甚至在我开始从事安全工作之前。Jon Hencinski和Scott Piper在2018年和2019年也对此发出过警告:

滥用AWS元数据服务正成为每周都会发生的事件。—— Scott Piper (@0xdabbad00) 2018年9月3日

blueteamtips 攻击者可以通过从EC2实例元数据服务转储凭证来提升在AWS中的权限。这是一个(模拟的)攻击,其中攻击者curl了元数据服务,识别出使用了IAM角色EC2DeveloperRole并获取了临时凭证(1/2)—— Jon Hencinski (@jhencinski) 2019年4月4日

IMDSv2——在强制实施时——可以防止SSRF漏洞,否则攻击者可能利用这些漏洞从实例元数据服务(IMDS)泄露凭证。

2022年底和2021年底的过往研究表明,此类漏洞是公开记录的云安全事件最常见的原因之一。因此,IMDSv2被视为在AWS环境中需要强制执行的关键云安全控制措施。

关于IMDSv2的更深入解释,请参阅同样出色的Nick Frichette(恰巧是我的同事)所著的《保护EC2实例元数据服务》。我也在我的演讲“Fantastic AWS Hacks and Where to Find Them”中讨论过它。

发展历程

到目前为止,强制实施IMDSv2相对比较麻烦。

最初,您必须在实例级别通过设置实例本身或关联的EC2启动模板或启动配置上的metadata_options.http_tokens="required"选项来强制执行。虽然您可以使用ec2:MetadataHttpTokens条件键将ec2:RunInstances的能力限制为仅限IMDSv2强制实施的实例,但这仍然是一个非常手动的过程,并且是不安全默认设置的典型例子。

2022年10月,AWS发布了一项新功能,允许我们声明“默认情况下,对从此特定AMI启动的所有实例强制执行IMDSv2”。

aws ec2 register-image \--name my-image \--root-device-name /dev/xvda \--block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0123456789example} \--architecture x86_64 \--imds-support v2.0

这方便地使他们能够在2023年3月推出默认强制执行IMDSv2的Amazon Linux 2023 AMI。由于发布时未包含Terraform支持,我借此机会向Terraform AWS提供商提交了我的第一个(小型)贡献。

2023年11月,AWS控制台UI开始在最流行的“快速启动”EC2屏幕中默认强制执行IMDSv2。

现在,2024年3月,AWS引入了这项新功能,允许默认对区域中所有新实例强制执行IMDSv2!

但历史就说到这里——让我们看看这个功能是如何工作的。

认识GetInstanceMetadataDefaults和ModifyInstanceMetadataDefaults

这两个新的API调用于3月25日出现在我的RSS订阅源中,紧随其后的是官方公告。正如它们的名称所示,这两个新功能允许您在区域级别设置默认的EC2实例元数据选项。并不完全是文档中建议的“账户级别”,因为它是一个区域设置。

client.modify_instance_metadata_defaults(HttpTokens='optional'|'required'|'no-preference',HttpPutResponseHopLimit=123,HttpEndpoint='disabled'|'enabled'|'no-preference',InstanceMetadataTags='disabled'|'enabled'|'no-preference',DryRun=True|False
)

这里重要的部分是HttpTokens。将其设置为required意味着“强制执行IMDSv2”。因此,下面的代码是您希望在所有账户和区域中运行的内容:

import boto3ec2_client = boto3.client('ec2')
ec2_client.modify_instance_metadata_defaults(HttpTokens='required')

在撰写本文时,AWS CLI尚不支持这些API调用,因此您必须使用可靠的Python或其他SDK。

更新:AWS CLI在1.32.70版(3月25日发布)和2.15.33版(3月27日发布)中增加了支持:

aws ec2 modify-instance-metadata-defaults --http-tokens required

如果您关注了前面的“历史”部分,您可能已经注意到我们现在可以在区域、AMI和实例级别设置IMDS。这些设置如何相互作用?AWS提供了一份非常清晰的文档,可以总结为“实例优先(如果设置),区域设置其次(如果设置),AMI设置第三(如果设置),默认不强制执行IMDSv2”。

实现Terraform支持

任何没有IaC支持的云功能对于实践者来说都难言有帮助,他们中的许多人每天都要处理大量的区域和账户。

经过几个小时的痛苦调试Go代码并与CI斗争后,拉取请求准备就绪。它现在已被合并并在v5.43.0中发布。您现在可以使用aws_ec2_instance_metadata_defaults资源:

resource "aws_ec2_instance_metadata_defaults" "imdsv2" {http_tokens                 = "required" # non-defaultinstance_metadata_tags      = "disabled"http_endpoint               = "enabled"http_put_response_hop_limit = 1
}

总结

这个新功能对于每天努力强制执行IMDSv2的实践者非常有用。这是在环境中启用安全默认设置的好方法——但默认情况下仍然留给我们不安全的默认设置。根据AWS的公告,这种情况可能很快就会改变:

2024年中 – 新发布的Amazon EC2实例类型将默认仅使用IMDSv2。为了过渡支持,您仍然能够在启动时或在实例运行时启用/打开IMDSv1,而无需重启或停止/启动。

同样重要的是要记住,此功能是关于默认设置的。使用它来默认强制执行IMDSv2并不会阻止任何人启动允许使用IMDSv1的实例。为此,您可以使用SCP或使用ec2:MetadataHttpTokens条件键显式拒绝。

敬请关注,感谢阅读!
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.rkmt.cn/news/25488.html

相关文章:

  • 第十九篇
  • 2025 年国内油井气压缩机源头厂家最新推荐榜:聚焦行业标杆企业,助力精准选购
  • 2025 年液化气压缩机生产厂家最新推荐榜单:聚焦优质企业,深度解析生产实力与产品品质蚌埠液化气压缩机/安徽液化气压缩机厂家推荐
  • 2025年棒球帽源头厂家推荐排行榜,定制棒球帽,刺绣棒球帽,运动棒球帽,防晒棒球帽,潮流棒球帽公司精选推荐
  • 2025 三防漆厂家推荐榜:苏州拓尔迈电子 5 星领跑,适配电子 / 汽车 / 通讯设备防护需求
  • #20232329易杨文轩 2025-2026-1 《网络与系统攻防技术》 实验三实验报告
  • 2025年中医师承与确有专长机构权威推荐榜:传统医学传承与执业资质考取优质机构深度解析
  • Failed to activate service ‘org.freedesktop.systemd1‘: timed out - 规格严格
  • 2025 年南昌瓷砖厂家推荐老龙严选瓷砖图书馆,南昌木纹/小花/岩板/鱼骨拼木纹/莱姆石/金丝绒釉/岩板/素色瓷砖公司推荐
  • MetalLB部署
  • Sql查询优化方案
  • 实用指南:深入解析HarmonyOS ArkTS:从语法特性到实战应用
  • Docker 代理配置的迷思:为什么 127.0.0.1 不总是本地? - 若
  • 微信小脚本入门学习教程,从入门到精通,微信小程序开发进阶(7)
  • Android studio build报错 - show
  • 2025 年最新干燥剂厂家推荐排行榜:深度剖析各品牌实力,涵盖氯化钙 / 氯化镁 / 硅胶等多类型干燥剂优选指南
  • 2025 年工业 pH 计厂家最新推荐榜单:在线 / 污水 / 脱硫 / 发酵 / 化工等场景适用,国内优质厂家实力排行
  • 2025年储罐厂家权威推荐榜:钢衬塑储罐/钢塑复合储罐/化工储罐/防腐储罐/PE储罐/盐酸储罐/硫酸储罐/聚丙烯储罐/不锈钢储罐/次氯酸钠储罐专业选购指南
  • Avalonia使用代码更改滑动条的颜色
  • 【SPIE出版】第四届云计算、性能计算与深度学习国际学术会议 (CCPCDL 2025)
  • 实用指南:LTU-AS:一种具备音频感知、识别、理解的大模型架构
  • 上班摸鱼新姿势!抖音爆火的线稿涂鸦也太治愈了~
  • n8n错误处理全攻略:构建稳定可靠的自动化工作流
  • 【ACM出版】2025年计算机技术、数字媒体与传播国际学术会议(ICCDC 2025)
  • 2025年通风天窗厂家最新权威推荐榜:通风天窗,排烟天窗,通风气楼,屋顶通风器,顺坡气楼,10A通风天窗,1型通风天窗,TC5A通风天窗,TC12B通风天窗,屋脊通风天窗专业制造与高效通风解决方案
  • P3601 签到题
  • [Ubuntu]在windows系统上下载chrome browser .deb 文件
  • 2025年机械加工厂家推荐排行榜,钣金加工,焊接件加工,零件加工,天文台圆顶加工,非标自动化设备加工设计,精密钣金加工,精密零件加工,金属加工公司推荐
  • A3979
  • 2025 年防撞护栏生产厂家最新推荐排行榜:聚焦铝合金 / Q235/Q355B 桥梁等多类型护栏,精选优质企业