Comment désactiver les métadonnées AWS EC2 ?

Cet article vous expliquera les métadonnées EC2 et pourquoi elles sont importantes. Vous apprendrez également à désactiver les métadonnées pour vous protéger des attaques telles que SSRF.

Amazon Web Services (AWS) dispose d’un service Amazon Elastic Compute Cloud (Amazon EC2), qui offre une capacité de traitement évolutive. En utilisant Amazon EC2, vous pouvez développer et déployer des applications plus rapidement sans faire d’investissement matériel initial.

Selon vos besoins, lancez autant ou aussi peu de serveurs virtuels. Configurez les paramètres de mise en réseau et de sécurité et contrôlez le stockage à l’aide d’Amazon EC2.

Les informations sur votre instance qui peuvent être personnalisées ou gérées dans une instance en cours d’exécution sont appelées métadonnées d’instance. Les catégories de métadonnées d’instance incluent le nom d’hôte, les événements et les groupes de sécurité. De plus, vous pouvez accéder aux données utilisateur que vous avez spécifiées lors du lancement de votre instance à l’aide des métadonnées d’instance.

Vous pouvez inclure un court script ou spécifier des paramètres lors de la configuration de votre instance. À l’aide des données utilisateur, vous pouvez créer des AMI génériques et modifier les fichiers de configuration au moment du lancement.

Vous pouvez configurer des instances nouvelles ou existantes pour effectuer les tâches suivantes à l’aide des options de métadonnées d’instance :

  • Exiger que les demandes de métadonnées d’instance soient envoyées via IMDSv2
  • Mettez la limite de saut de réponse PUT.
  • Accès aux métadonnées de l’instance de verrouillage

Il est possible d’accéder aux métadonnées d’une instance EC2 active en utilisant l’une des techniques suivantes : IMDSv1sIMDSv2

Le service de métadonnées d’instance est connu sous le nom d’IMDS. Comme vous pouvez le supposer, les méthodologies sont légèrement différentes ; IMDSv1 utilise une méthode de demande/réponse, tandis que IMDSv2 est orienté session.

AWS vous invite à utiliser IMDSv2, qui est la méthode préférée. Par défaut, le kit SDK AWS utilise des appels IMDSv2 et vous pouvez demander aux utilisateurs de configurer un nouvel EC2 avec IMDSv2 activé à l’aide de clés de condition IAM dans une stratégie IAM.

Utilisez les URI IPv4 ou IPv6 suivants pour afficher tous les types de métadonnées d’instance à partir d’une instance en cours d’exécution.

IPv4

curl http://169.254.169.254/latest/meta-data/

IPv6

boucle http://[fd00:ec2::254]/dernières/méta-données/

Les adresses IP sont des adresses lien-local et ne sont valides qu’à partir de l’instance.

Pour afficher les métadonnées d’instance, vous ne pouvez utiliser que l’adresse lien-local 169.254.169.254 . Les demandes de métadonnées via l’URI sont gratuites, il n’y a donc pas de frais supplémentaires de la part d’AWS.

Besoin de désactiver les métadonnées

Dans les configurations AWS, l’attaque SSRF est fréquente et bien connue de tous. Les attaquants qui automatisent l’analyse des vulnérabilités et collectent les informations d’identification IAM à partir d’applications en ligne accessibles au public ont été découverts par Mandiant (une entreprise de cybersécurité).

La mise en œuvre d’IMDSv2 pour toutes les instances EC2, qui présente des avantages de sécurité supplémentaires, réduirait ces risques pour votre entreprise. La possibilité qu’un ennemi vole les informations d’identification IAM via SSRF diminuerait considérablement avec IMDSv2.

L’utilisation de Server Side Request Forgery (SSRF) pour accéder au service de métadonnées EC2 est l’une des techniques d’exploitation AWS les plus fréquemment enseignées.

Le service de métadonnées est accessible à la majorité des instances EC2 au 169.254.169.254. Celui-ci contient des informations utiles sur l’instance, telles que son adresse IP, le nom du groupe de sécurité, etc.

Si un rôle IAM est attaché à une instance EC2, le service de métadonnées contiendra également des informations d’identification IAM pour s’authentifier en tant que ce rôle. Nous pouvons voler ces informations d’identification en fonction de la version d’IMDS utilisée et des capacités du SSRF.

Il convient également de considérer qu’un adversaire disposant d’un accès shell à l’instance EC2 pourrait obtenir ces informations d’identification.

Dans cet exemple, un serveur web s’exécute sur le port 80 de l’instance EC2. Ce serveur web a une simple vulnérabilité SSRF, qui nous permet d’envoyer des requêtes GET à n’importe quelle adresse. Cela peut être utilisé pour envoyer une demande à http://169.254.169.254.

Pour désactiver les métadonnées

En bloquant le point de terminaison HTTP du service de métadonnées d’instance, vous pouvez empêcher l’accès à vos métadonnées d’instance, quelle que soit la version du service de métadonnées d’instance que vous utilisez.

Vous pouvez annuler cette modification à tout moment en activant le point de terminaison HTTP. Utilisez la commande CLI modify-instance-metadata-options et définissez le paramètre http-endpoint sur disabled pour désactiver les métadonnées pour votre instance.

Pour désactiver les métadonnées, exécutez cette commande :

aws ec2 modify-instance-metadata-options –instance-id i-0558ea153450674 –http-endpoint désactivé

désactivation des métadonnées

Vous pouvez voir qu’après avoir désactivé mes métadonnées, si j’essaie d’y accéder, je reçois un message INTERDIT.

Si vous souhaitez réactiver vos métadonnées, exécutez cette commande :

aws ec2 modify-instance-metadata-options –instance-id i-0558ea153450674 –http-endpoint activé

réactiver les métadonnées

Conclusion

Les métadonnées peuvent être utiles pour extraire des informations de grands magasins de données. Cependant, il peut également être utilisé à mauvais escient pour connaître l’emplacement ou l’identité d’une personne à son insu ou sans son consentement. Parce qu’il enregistre chaque modification que vous apportez, y compris les suppressions et les commentaires, vous devez être conscient qu’il peut contenir des informations que vous ne voudriez pas que d’autres puissent voir. Par conséquent, la suppression des métadonnées est essentielle pour préserver votre confidentialité et votre anonymat en ligne.

Vous pouvez également explorer certaines terminologies clés AWS qui font progresser votre apprentissage AWS.