Amazon Cognito : protéger vos applications des risques de configuration

Avis d'expert

29 avril 2025

Amazon Cognito est un service d’Amazon Web Services (AWS) qui permet de gérer l’authentification et l’autorisation des utilisateurs pour les applications web et mobiles. Il offre une solution complète pour la gestion des identités, permettant aux développeurs d’intégrer facilement des fonctionnalités d’authentification, de contrôle d’accès et de gestion des utilisateurs. Avec Cognito, les utilisateurs peuvent se connecter via des identités sociales (comme Google ou Facebook) ou des identités d’entreprise, tout en bénéficiant d’une interface utilisateur personnalisable. 

 

Cependant, comme tout service cloud, Amazon Cognito peut être sujet à des défauts de configuration qui peuvent compromettre la sécurité des applications. Cet article présente les principaux défauts de configuration associés à Amazon Cognito et leurs impacts potentiels : 

Exposition des identifiants d'application

L’application expose les identifiants de l’application.

Un attaquant peut utiliser le paramètre « Identity Pool ID » pour demander des identifiants AWS.

Exemple de réponse reçue par l’API contenant les clés d’authentification AWS.

Il est donc crucial de protéger ces informations sensibles en évitant de les intégrer directement coté client, et en les gérant de manière sécurisée via des configurations côté serveur.

Activation de la fonctionnalité de création de compte

La configuration actuelle permet à tous les utilisateurs de créer des comptes.

Tout utilisateur peut interagir avec l’API AWS pour créer un nouvel utilisateur en utilisant cette commande.

Il est fortement recommandé de ne pas autoriser la création de comptes afin d’éviter cette vulnérabilité. Cependant, si cela s’avère indispensable, il est crucial de mettre en place des mesures de sécurité robustes. En activant les mécanismes de validation, tels que la vérification par e-mail et par numéro de téléphone, pour garantir l’authenticité des utilisateurs. Limitez également les tentatives d’inscription en utilisant des attributs personnalisés qui seront communiqués uniquement aux individus autorisés à s’inscrire.

Permissions excessives sur les pools d'identités

Exemple de droits excessivement permissifs accordant un accès complet au bucket S3

Ce défaut de configuration peut entraîner des fuites de données, où des informations sensibles sont exposées à des utilisateurs non autorisés. De plus, cela peut permettre à des attaquants d’exploiter ces permissions pour effectuer des actions malveillantes, comme la suppression de données ou la modification de configurations.

Il est fortement conseillé d’appliquer le principe du moindre privilège en accordant à chaque utilisateur uniquement les permissions nécessaires à l’exécution de ses tâches. Une bonne pratique pour la gestion des permissions consiste à utiliser les politiques gérées par AWS. Pour plus de détails, vous pouvez consulter la documentation suivante : https://docs.aws.amazon.com/cognito/latest/developerguide/security-iam-awsmanpol.html

Un décryptage signé

Découvrez nos actualités

En savoir plus sur nos expertises

PARTAGER L'ARTICLE