
يقوم بأتمتة ترحيل أعباء عمل AWS من IMDSv1 إلى IMDSv2 للتخفيف من هجمات SSRF. يكتشف استخدام IMDSv1 عبر EC2 وECS وEKS وLightsail والمزيد، مع تحديثات حد القفز وتوصيات SCP.
أحمال عمل AWS التي تعتمد على نقطة نهاية البيانات الوصفية معرضة لهجمات تزوير الطلب من جانب الخادم (SSRF). يقوم IMDShift بأتمتة عملية ترحيل جميع أحمال العمل إلى IMDSv2 مع إمكانيات واسعة، والتي تنفذ إجراءات أمان محسّنة للحماية من هذه الهجمات.

MetadataNoToken عبر المناطق المحددةMetabadger هي أداة أقدم كانت تستخدم لتسهيل ترحيل أحمال عمل AWS EC2 إلى IMDSv2.
يحقق IMDShift عدة تحسينات على قدرات Metabadger:
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 .
Options:
--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 من تمكين
نقطة نهاية البيانات الوصفية للموارد التي تم
تعطيلها ثم تنفيذ الترحيل، القيمة الافتراضية
هي "False". التنسيق: "--enable-imds"
--profile TEXT يتيح لك هذا استخدام أي ملف تعريف من ملف
~/.aws/credentials الخاص بك.
التنسيق: "--profile prod-env"
--role-arn TEXT يتيح لك هذا العلم تولي دور عبر aws sts.
التنسيق: "--role-arn
arn:aws:sts::111111111:role/John"
--print-scps هذا العلم المنطقي يطبع سياسات التحكم بالخدمة
(SCPs) التي يمكن استخدامها للتحكم في استخدام
IMDS، مثل رفض الوصول لبيانات الاعتماد التي تم
جلبها من IMDSv2 أو رفض إنشاء موارد باستخدام
IMDSv1، القيمة الافتراضية هي "False".
التنسيق: "--print-scps"
--check-imds-usage هذا العلم المنطقي يطلق فحصًا لتحديد عدد
المثيلات التي تستخدم IMDSv1 في المناطق المحددة،
خلال آخر 30 يومًا، باستخدام مقياس CloudWatch
"MetadataNoToken"، القيمة الافتراضية هي
"False". التنسيق: "--check-imds-usage"
--help عرض هذه الرسالة والخروج.