AWS宣布从2024年中旬开始,新发布的Amazon EC2执行实例类型,其元数据服务(IMDS)都将预测采用IMDSv2。AWS推广采用IMDSv2的原因在于提升安全性,IMDSv2较IMDSv1提供额外的安全保护措施,能够避免有心人滥用漏洞访问IMDS。

用户可从EC2执行实例的固定IP地址访问IMDS,检索有关执行实例大量静态和动态数据,这些数据包含启动执行实例的AMI ID、网络配置和角色临时IAM凭证等元数据。而IMDSv1与IMDSv2的主要差异在于,IMDSv1使用请求/回应访问方法,由客户端向元数据服务发出请求,并接收回应,IMDSv2则采用会话导向(Session-oriented)的方法,客户端与服务器端需要先创建一个会话,并使用会话创建过程中获得的令牌,来请求和接收回应。

AWS强调虽然IMDSv1与IMDSv2同样安全,但是IMDSv2对可能被尝试用于访问IMDS的4种漏洞,提供额外的防护能力,包括错误配置的开放式网站应用程序防火墙(Web Application Firewall,WAF)、反向代理、服务器端请求伪造,还有第三层防火墙和网络地址转译配置错误,有效减少未经授权访问EC2元数据的风险。

AWS在2019年的时候推出了IMDSv2,并在2023年3月推出的Amazon Linux 2023默认使用IMDSv2,而从现在开始,所有控制台Quick Start启动将只会使用IMDSv2,所有Amazon与合作伙伴Quick Start AMI也都已支持这项设置。

官方预计要在2024年2月,添加新的API函数,让用户从账户层级控制IMDSv1的默认使用,这不只有助于用户转用更安全的IMDSv2,同时当AWS于管理控制台和其他路径,将IMDSv2设为默认选项时,新的API让用户能以简单地方法,从账户层级停用IMDSv1,进而快速转换到IMDSv2。

到了2024年中,新发布的EC2执行实例类型,也将会默认使用IMDSv2,但AWS也提供了一个灵活的过渡选项,用户仍然可以不需要重新启动,就可在执行实例启动时,或是启动之后选择打开IMDSv1。