2022-09-20 07:42 Temps de lecture : 8 min

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

Comprendre les Métadonnées EC2 et leur Importance

Cet article explore les métadonnées EC2, en détaillant leur utilité et les raisons pour lesquelles elles méritent une attention particulière. Vous découvrirez également comment les désactiver pour vous prémunir contre les attaques, notamment de type SSRF.

Amazon Web Services (AWS) propose un service nommé Amazon Elastic Compute Cloud (Amazon EC2), qui met à disposition une capacité de calcul modulable. Grâce à Amazon EC2, vous avez la possibilité de concevoir et déployer vos applications plus rapidement, sans investissement initial en matériel.

Vous pouvez adapter le nombre de serveurs virtuels à vos exigences, et ajuster les configurations réseau, de sécurité, ainsi que le stockage, le tout en utilisant Amazon EC2.

Les informations personnalisables ou gérables relatives à votre instance lors de son exécution sont définies comme des métadonnées d'instance. Celles-ci incluent par exemple le nom d’hôte, les événements et les groupes de sécurité. De plus, les métadonnées d'instance vous donnent accès aux données utilisateur que vous avez spécifiées lors du lancement de votre instance.

Vous pouvez intégrer un script court ou définir des paramètres au moment de la configuration de votre instance. Les données utilisateur permettent de créer des AMI génériques et d'apporter des modifications aux fichiers de configuration au moment du lancement.

Que ce soit sur des instances nouvelles ou existantes, les options de métadonnées vous permettent de configurer différentes tâches :

  • Exiger l'utilisation du protocole IMDSv2 pour les requêtes de métadonnées d’instance.
  • Définir une limite de saut pour les réponses PUT.
  • Verrouiller l'accès aux métadonnées d'instance.

L'accès aux métadonnées d'une instance EC2 active se fait via deux approches principales : IMDSv1 et IMDSv2.

Le service de métadonnées d'instance est désigné par l'acronyme IMDS. Les méthodologies d'accès diffèrent légèrement : IMDSv1 utilise un modèle de requête/réponse, tandis qu'IMDSv2 est axé sur la notion de session.

AWS recommande l'utilisation d'IMDSv2, qui est la méthode privilégiée. Par défaut, le kit de développement SDK AWS utilise les appels IMDSv2, et il est possible d'exiger la configuration d'un nouvel EC2 avec IMDSv2 activé via des clés de condition IAM dans une stratégie IAM.

Afin d’obtenir tous les types de métadonnées d'une instance en cours d'exécution, vous pouvez employer les URI IPv4 ou IPv6 suivants :

IPv4

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

IPv6

curl http://[fd00:ec2::254]/latest/meta-data/

Ces adresses IP sont des adresses de lien local et ne sont valides qu'au sein de l'instance elle-même.

Seule l'adresse de lien local 169.254.169.254 peut être utilisée pour consulter les métadonnées d'instance. Les requêtes de métadonnées via l'URI sont gratuites, sans frais supplémentaires imputés par AWS.

Pourquoi Désactiver les Métadonnées est Nécessaire

L'attaque SSRF est une vulnérabilité bien connue dans les configurations AWS. La société de cybersécurité Mandiant a révélé que des attaquants automatisent l’analyse des vulnérabilités et dérobent les informations d’identification IAM à partir d’applications en ligne publiquement accessibles.

L'implémentation d'IMDSv2 sur toutes les instances EC2, qui offre des améliorations de sécurité, diminuerait les risques pour votre organisation. Avec IMDSv2, la probabilité qu'un adversaire s'empare d'informations d'identification IAM via une attaque SSRF se réduit considérablement.

L'exploitation du service de métadonnées EC2 via la technique Server Side Request Forgery (SSRF) est une des méthodes d’attaque les plus fréquemment utilisées sur AWS.

Le service de métadonnées, accessible depuis la plupart des instances EC2 à l'adresse 169.254.169.254, contient des informations utiles sur l'instance, telles que l'adresse IP, le nom du groupe de sécurité, etc.

Si un rôle IAM est associé à une instance EC2, le service de métadonnées contiendra aussi les informations d'identification IAM nécessaires pour s'authentifier avec ce rôle. Selon la version d'IMDS utilisée et les capacités de l'attaque SSRF, ces informations peuvent être dérobées.

Il est également essentiel de considérer qu'un attaquant ayant un accès shell à l'instance EC2 pourrait également accéder à ces informations.

Dans cet exemple, un serveur web s'exécute sur le port 80 d'une instance EC2. Ce serveur présente une vulnérabilité SSRF simple, qui permet d'envoyer des requêtes GET à n'importe quelle adresse, ce qui peut être utilisé pour solliciter http://169.254.169.254.

Comment Désactiver les Métadonnées

En bloquant l'endpoint HTTP du service de métadonnées d'instance, vous empêchez l'accès à vos métadonnées, quelle que soit la version du service que vous utilisez.

Cette modification peut être annulée à tout moment en réactivant l'endpoint HTTP. Utilisez la commande CLI modify-instance-metadata-options avec le paramètre http-endpoint configuré à disabled pour désactiver les métadonnées de votre instance.

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

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

désactivation des métadonnées

Comme vous pouvez le constater, après la désactivation, toute tentative d'accès aux métadonnées aboutit à un message INTERDIT.

Si vous souhaitez les réactiver, exécutez la commande suivante :

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 provenant d'un grand volume de données. Cependant, elles peuvent aussi être utilisées de manière abusive pour connaître l'emplacement ou l'identité d'une personne à son insu ou sans son consentement. Étant donné qu’elles enregistrent toutes les modifications apportées, y compris les suppressions et les commentaires, il faut être conscient qu'elles peuvent contenir des informations que vous ne souhaiteriez pas partager. La suppression des métadonnées est donc cruciale pour préserver votre confidentialité et votre anonymat en ligne.

Vous pouvez également consulter certaines terminologies AWS clés pour approfondir votre apprentissage sur AWS.

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.