Amazon web services 如何在弹性beanstalk环境中使用IMDSv2?

Amazon web services 如何在弹性beanstalk环境中使用IMDSv2?,amazon-web-services,security,amazon-ec2,amazon-elastic-beanstalk,Amazon Web Services,Security,Amazon Ec2,Amazon Elastic Beanstalk,我最近读到一篇关于修复EC2环境中SSRF攻击的新文章。 当我通过cli直接使用EC2时,我了解它是如何工作的。 但我找不到任何信息,比如在代表我处理EC2实例创建的elastic beanstalk中使用它需要采取什么步骤,以及如何在那里强制执行它 有人能告诉我这是否已经或将来可能吗? 我找不到这方面的信息 提前感谢。首先,AWS提供了一个新的Cloudwatch指标,它提供了对正在进行的IMDS v1调用数量的可见性。您可以使用它来监视实例上IMDS v1调用的频率。您可以将其设置为监视El

我最近读到一篇关于修复EC2环境中SSRF攻击的新文章。 当我通过cli直接使用EC2时,我了解它是如何工作的。 但我找不到任何信息,比如在代表我处理EC2实例创建的elastic beanstalk中使用它需要采取什么步骤,以及如何在那里强制执行它

有人能告诉我这是否已经或将来可能吗? 我找不到这方面的信息


提前感谢。

首先,AWS提供了一个新的Cloudwatch指标,它提供了对正在进行的IMDS v1调用数量的可见性。您可以使用它来监视实例上IMDS v1调用的频率。您可以将其设置为监视Elastic Beanstalk实例。
接下来,我们需要在实例上启用IMDS v2。为此,我们需要最新版本的AWS CLI(AWS CLI/1.16.287 Python/3.6.8)。发布了AWS CLI的更新,其中提供了在EC2下启用/禁用IMDSv2的选项。
谈到迁移,Elastic Beanstalk允许您配置所使用的实例。 您可以按照和中提供的步骤进行操作 确保存在最新版本的AWS CLI。 安装完成后,您可以运行

aws ec2修改实例元数据选项--实例id--配置文件--启用http端点--需要http令牌

如中所述

您还可以在Elastic Beanstalk中指定要在实例启动时运行的命令,如中所示,以包括

卷曲| \
xargs-I{}aws ec2修改实例元数据选项--实例id{}--配置文件--启用http端点--需要http令牌

这应该考虑在启动时为相应实例配置IMDSv2

参考资料:

  • 除上述内容外,您还可以使用IAM条件强制IAM用户不能启动实例,除非它使用IMDSv2,还可以强制IAM用户不能重新启用IMDSv1。(参考文献1中提供了详细信息)


  • 您可以将Lambda函数配置为在自动缩放组中有新实例时触发


    使用Launch Template而不是Launch Configuration可以灵活地在CloudFormation中设置此参数,但目前还没有明确记录的方法。

    感谢您的详细回复。它已经帮助我开始了。关于“aws ec2修改实例元数据选项”调用,我只剩下blocker了。我的elastic beanstalk环境是autoscales,因此应该为创建的每个新实例运行此命令。有没有一种方法也可以实现自动化?