如何使用IMDShift提升AWS工作负载的安全性
创始人
2025-07-02 13:00:22
0

关于IMDShift

IMDShift是一款功能强大的AWS工作负载安全增强工具,该工具基于纯Python开发,可以帮助广大研究人员更好地提升AWS工作负载的安全。

很多研究人员和开发人员在实践中会发现,依赖于元数据节点的AWS工作负载很容易会受到服务器端请求伪造(SSRF)攻击的影响,而IMDShift可以通过自动化的形式将所有的工作负载进程迁移到IMDSv2,在除了增加了额外功能的情况下,IMDSv2还实施了增强型的安全保护措施来帮助AWS工作负载抵御相关安全威胁,并大幅度提升安全性。

功能介绍

1、在各种服务中检测依赖元数据节点的AWS工作负载,包括EC2、ECS、EKS、Lightsail、AutoScaling Groups、Sagemaker Notebooks、Beanstalk(正在开发中);

2、提供了简单直观的命令行界面,易于使用;

3、支持将所有工作负载自动迁移到IMDSv2;

4、为兼容资源设置了独立的跳点限制更新;

5、为兼容资源启用独立元数据节点操作;

6、提供了迁移过程的详细日志记录;

7、使用了MetadataNoToken识别使用了IMDSv1的资源;

8、内置服务控制策略(SCP)建议;

工具安装

由于该工具基于纯Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。接下来,广大研究人员可以根据实际需求,选择下列两种工具安装方式。

生产环境安装

git clone https://github.com/ayushpriya10/imdshift.git

cd imdshift/

python3 -m pip install .

开发环境安装

git clone https://github.com/ayushpriya10/imdshift.git

cd imdshift/

python3 -m pip install -e .

工具参数选项

--services TEXT:该参数可以从下列环境中扫描出使用了IMDSv1的工作负载实例:EC2, Sagemaker、ASG、Lightsail、ECS、EKS、Beanstalk;命令格式: "--services EC2,Sagemaker,ASG";

--include-regions TEXT:该案数明确指定要扫描IMDSv1使用情况的区域范围;命令格式: "--include-regions ap-south-1,ap-southeast-1";

--exclude-regions TEXT:该参数明确指定要从扫描中排除的区域;命令格式: "--exclude-regions ap-south-1,ap-southeast-1";

--migrate:这个布尔参数可以控制IMDShift是否要执行迁移任务,默认为“False”;命令格式: "--migrate"

--update-hop-limit INTEGER:该参数指定是否应更新跃点限制以及更新值。建议将跃点限制设置为“2”,以使容器能够使用IMDS节点。如果未传递此参数,则迁移期间不会更新跃点限制;命令格式: "--update-hop-limit 3";

--enable-imds:这个布尔参数可以让IMDShift启用资源元数据节点查看,并执行迁移操作;               命令格式: "--enable-imds";

--profile TEXT:该参数允许我们使用任意配置文件,路径为 ~/.aws/credentials file;命令格式: "--profile prod-env";

--role-arn TEXT:这个参数可以通过AWS STS声明一个用户角色;命令格式: "--role-arn arn:aws:sts::111111111:role/John";

--print-scps:这个布尔参数用于控制打印可以控制IMDS使用的SCP,默认为“False”;命令格式: "--print-scps";

--check-imds-usage:这个布尔参数可以启动一次扫描以识别过去30天内在指定区域中有多少个实例使用了IMDSv1,默认为“False”;命令格式: "--check-imds-usage";

--help:显示工具帮助信息和退出;

工具运行截图

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可证协议。

项目地址

IMDShift:【GitHub传送门】

参考资料

https://github.com/salesforce/metabadger

本文作者:Alpha_h4ck, 转载请注明来自FreeBuf.COM

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...