La création d’un compte AWS (Amazon Web Services) n’est pas sans risque pour la sécurité des données. Souvent, des paramètres incertains à l’échelle de l’entreprise ou de simples erreurs de configuration exposent les données à un risque élevé.
Le dernier rapport sur les risques liés aux données SaaS montre que dans une entreprise moyenne, 157.000 ensembles de données sensibles sont accessibles à tous sur Internet grâce aux fonctions de partage SaaS. Amazon Web Services met à la disposition de ses clients des outils et des services qui aident à sécuriser l’environnement. En fin de compte, il est toutefois de la responsabilité de l’utilisateur de configurer correctement ces services et de les surveiller de manière régulière pour détecter les lacunes ou les problèmes.
AWS repose en grande partie sur un contrôle d’accès basé sur les rôles. Par défaut, les services et les utilisateurs (à l’exception de l’utilisateur root) ont très peu, voire aucun accès. En conséquence, les principales étapes pour améliorer la sécurité d’AWS concernent l’administration des utilisateurs et les politiques standard.
1 – Créer un compte administrateur
Le principe du moindre privilège est un concept de sécurité éprouvé qui limite l’accès d’un utilisateur à ce qui est nécessaire à l’exécution de ses tâches. Ainsi, si un utilisateur a un accès en lecture et en écriture à un bucket S3 alors que seul un accès en lecture est nécessaire, cela va à l’encontre de cette approche.
Les comptes root offrent un accès illimité à un compte et à toutes ses ressources. Dans ce contexte, on comprend mieux pourquoi l’accès root n’est que rarement nécessaire.
Il convient plutôt d’utiliser des utilisateurs et des rôles de gestion des identités et des accès (IAM) avec des droits limités. C’est une pratique courante de créer un utilisateur administrateur unique pour l’administration quotidienne des comptes. AWS a créé un rôle (avec un sous-groupe de contrôle d’accès racine) spécialement à cet effet.
2 – Personnaliser l’accès root
Une fois qu’un compte admin a été créé, il est temps de limiter les activités de l’utilisateur root aux tâches de gestion de compte de haut niveau. Ne générez jamais de clés d’accès pour un utilisateur root. Utilisez plutôt un mot de passe sécurisé et activez immédiatement l’authentification multifactorielle (MFA) afin d’éviter tout abus.
La MFA ne remplace toutefois pas les mots de passe sûrs. Utilisez un mot de passe randomisé contenant des lettres, des chiffres et des caractères spéciaux. Pour ne pas courir le risque d’égarer ou d’oublier le mot de passe, il convient d’utiliser un gestionnaire de mots de passe.
3 – Configurer les comptes AWS nécessaires
Les comptes d’administrateur ne doivent être utilisés que pour les tâches d’administrateur. Pour les autres activités, d’autres utilisateurs AWS doivent être créés en conséquence. Le plus simple est d’utiliser des groupes. De cette manière, l’accès de plusieurs utilisateurs peut être modifié en une seule fois. C’est utile lorsqu’un certain groupe a soudainement besoin d’accéder à un nouveau service ou que l’accès à un autre n’est plus nécessaire. Il faut veiller à ce que les utilisateurs n’utilisent pas les mêmes données de connexion, car cela complique la traçabilité et la responsabilité.
Au premier abord, il peut être difficile de déterminer une politique qui réponde exactement aux besoins de l’entreprise. Dans ce cas, il convient de choisir l’option la plus appropriée et de créer ultérieurement une politique personnalisée qui pourra être ajoutée à ce groupe. La minimisation de l’accès et la tenue d’un registre indiquant “qui a accès à quoi” sont essentielles pour la sécurité du compte AWS et contribuent également au respect des exigences de conformité et des dispositions légales telles que le RGPD.
4 – Sécuriser l’accès avec MFA
Maintenant que les utilisateurs et les groupes ont été créés, il est temps de sécuriser l’accès de ces utilisateurs via MFA.
Si l’on utilise un appareil virtuel pour le MFA, tel que Google Authenticator, les codes doivent être transmis immédiatement après la création afin de s’assurer que l’appareil MFA est synchronisé.
Des experts tels que Jen Easterly, directrice de l’Agence américaine de cybersécurité (CISA), estiment qu’environ 99 % des compromissions de comptes peuvent être évitées grâce au MFA.
5 – Définir des politiques de mot de passe par défaut
Les politiques de mot de passe permettent de s’assurer que les mots de passe sont conformes aux normes de l’entreprise et, le cas échéant, aux normes légales. Il s’agit ici de trouver un équilibre entre sécurité et convivialité. Si, par exemple, les mots de passe des utilisateurs expirent tous les jours, cela devient vite un cauchemar logistique – sans parler du manque d’acceptation de la part des collaborateurs.
La combinaison du mot de passe et du MFA est nettement moins sûre si l’un de ces composants est négligé. Ainsi, dans le cas d’un jeton MFA compromis, un mot de passe fort peut faire en sorte que les attaquants ne réussissent pas leurs attaques par force brute.
6 – Créer des politiques personnalisées
En attribuant des politiques à des groupes, il est clair qu’AWS fournit une vaste bibliothèque de politiques prédéfinies. Celles-ci couvrent de nombreux cas d’utilisation standard, mais il est important de définir les propres politiques si les politiques standard accordent encore trop d’accès aux utilisateurs. Il s’agit d’un processus continu qui doit commencer tôt, car ces politiques constituent la base d’une architecture AWS sécurisée.
Le principe du moindre privilège s’applique également ici : il est conseillé de réduire les vecteurs d’attaque potentiels en limitant la politique de manière à ce qu’elle n’autorise que les actions nécessaires pour les ressources nécessaires.
7 – Sécuriser l’utilisation d’EC2
Une fois que les politiques et les procédures ont été mises en place, il est possible de bloquer certains services au niveau du service. Elastic Compute Cloud (EC2) en est un exemple : EC2 permet aux utilisateurs de créer des instances de calcul avec les processeurs, les types de mémoire et les systèmes d’exploitation de leur choix.
C’est une aide considérable pour les développeurs, mais en même temps, le service présente d’énormes risques s’il n’est pas suffisamment sécurisé. L’une des étapes les plus simples pour sécuriser l’utilisation de l’EC2 est de limiter les utilisateurs à des images Amazon Machine Images (AMI) pré-approuvées et étiquetées, une image prise en charge et maintenue par AWS.
L’utilisation d’une instance EC2 non sécurisée rend l’entreprise vulnérable à des attaques complexes. Si des cybercriminels obtiennent l’accès à cette instance, ils peuvent prendre le rôle du dirigeant et alors accéder à toutes les ressources correspondantes. Il convient alors de mettre en place ces 7 paramètres pour limiter l’exposition des données dans AWS.
___________________
Par Jérôme Soyer, Vice-président régional de l’ingénierie des ventes, Europe continentale chez Varonis