
Automatise la migration des workloads AWS de IMDSv1 vers IMDSv2 pour atténuer les attaques SSRF. Détecte l'utilisation d'IMDSv1 sur EC2, ECS, EKS, Lightsail, et plus, avec mises à jour du hop limit et recommandations SCP.
Les charges de travail AWS qui dépendent du point de terminaison des métadonnées sont vulnérables aux attaques de falsification de requête côté serveur (SSRF). IMDShift automatise le processus de migration de toutes les charges de travail vers IMDSv2 avec des capacités étendues, ce qui met en œuvre des mesures de sécurité renforcées pour se protéger contre ces attaques.

MetadataNoToken dans les régions spécifiéesMetabadger est un ancien outil utilisé pour faciliter la migration des charges de travail AWS EC2 vers IMDSv2.
IMDShift apporte plusieurs améliorations par rapport aux capacités de 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 Ce drapeau spécifie les services à analyser pour
l'utilisation d'IMDSv1 parmi [EC2, Sagemaker,
ASG (Groupes Auto Scaling), Lightsail, ECS, EKS,
Beanstalk]. Format : "--services EC2,Sagemaker,ASG"
--include-regions TEXT Ce drapeau spécifie explicitement les régions à
inclure dans l'analyse d'utilisation d'IMDSv1.
Format : "--include-regions ap-south-1,ap-southeast-1"
--exclude-regions TEXT Ce drapeau spécifie explicitement les régions à
exclure de l'analyse. Format : "--exclude-regions
ap-south-1,ap-southeast-1"
--migrate Ce drapeau booléen permet à IMDShift d'effectuer
la migration ; par défaut, il est "False".
Format : "--migrate"
--update-hop-limit INTEGER Ce drapeau spécifie si la limite de saut doit
être mise à jour et avec quelle valeur. Il est
recommandé de définir la limite de saut à "2"
pour permettre aux conteneurs de fonctionner avec
le point de terminaison IMDS. Si ce drapeau n'est
pas passé, la limite de saut n'est pas mise à jour
pendant la migration. Format : "--update-hop-limit 3"
--enable-imds Ce drapeau booléen permet à IMDShift d'activer
le point de terminaison des métadonnées pour les
ressources qui l'ont désactivé, puis d'effectuer
la migration ; par défaut, il est "False".
Format : "--enable-imds"
--profile TEXT Cela vous permet d'utiliser n'importe quel profil
de votre fichier ~/.aws/credentials. Format :
"--profile prod-env"
--role-arn TEXT Ce drapeau vous permet d'assumer un rôle via
aws sts. Format : "--role-arn
arn:aws:sts::111111111:role/John"
--print-scps Ce drapeau booléen affiche les politiques de
contrôle des services (SCP) qui peuvent être
utilisées pour contrôler l'utilisation d'IMDS,
comme refuser l'accès aux informations d'identification
extraites d'IMDSv2 ou refuser la création de
ressources avec IMDSv1 ; par défaut, il est "False".
Format : "--print-scps"
--check-imds-usage Ce drapeau booléen lance une analyse pour
identifier combien d'instances utilisent IMDSv1
dans les régions spécifiées, au cours des
30 derniers jours, en utilisant la métrique
CloudWatch "MetadataNoToken" ; par défaut, il est
"False". Format : "--check-imds-usage"
--help Affiche ce message et quitte.