Stockage sécurisé des informations d'identification AWS sur une machine personnelle


10

Comment puis-je stocker en toute sécurité les informations d'identification AWS sur des machines personnelles?

En détail:

Tous les membres de notre équipe ont besoin d'informations d'identification de sécurité AWS pour effectuer des tâches administratives (les informations d'identification sont séparées par rôle). Ces informations d'identification sont généralement stockées en texte brut dans certains fichiers de configuration sur le disque. Je pense que cela est très précaire, surtout si l'on considère que les informations d'identification sont distribuées aux membres de l'équipe, se retrouvent dans la sauvegarde, etc.

Je préférerais de loin stocker ces informations d'identification sous forme cryptée (similaire aux clés ssh, par exemple). Existe-t-il un moyen automatisé de le faire? Ou dois-je pirater un script bash qui utilise par exemple openssl pour crypter les données?

Il existe de nombreuses informations sur le Web concernant la façon de sécuriser les informations d'identification sur une instance EC2. Il existe même cette fonctionnalité de rôles Amazon IAM , mais elle ne s'applique également qu'à EC2.


1
C'est une excellente question et je suis très intéressé par les réponses.
ceejayoz

Réponses:


4

https://github.com/realestate-com-au/credulous peut valoir la peine d'être étudié. D'après la description du projet:

credulous est un outil en ligne de commande qui gère les informations d'identification AWS (IAM) en toute sécurité . L'objectif est de crypter les informations d'identification à l'aide de la clé SSH publique d' un utilisateur afin que seul l'utilisateur qui possède la clé SSH privée correspondante puisse les voir et les utiliser. En outre, l'outil permettra également à l'utilisateur de faire pivoter facilement ses informations d'identification actuelles sans interrompre le flux de travail actuel de l'utilisateur.

Il y a un article de blog d'introduction à http://techblog.realestate.com.au/protecting-your-aws-keys-with-credulous/ .


Génial, c'est exactement ce que je cherchais (et ce que je n'ai pas réussi à trouver par moi-même ...)
arnuschky


4

Grande question - et selon la personne qui répond, vous aurez probablement quelques itinéraires à parcourir. Je vais vous donner un exemple de ce que nous utilisons:

  1. Créez des rôles IAM en fonction de l'utilisateur (développeur, infrastructure, sécurité, audit, etc.) - Personnalisez la politique pour autoriser ou refuser des actions spécifiques en fonction de l'accès utilisateur.

Exemple: autorisez toutes les actions ec2 pour l'administrateur. Ou autorisez uniquement l'accès basé sur une balise ou un sous-réseau pour un développeur, etc.

  1. Lancez des instances ec2 Linux à l'aide de rôles IAM spécifiques. Lancez une instance pour chaque rôle ou utilisateur spécifique (ajustez la taille / le type d'instance en fonction des besoins, du budget, etc.)

  2. Configurez le groupe de sécurité pour chaque instance pour n'autoriser que des sous-réseaux spécifiques ou des adresses IP individuelles, afin de pouvoir verrouiller l'entrée de trafic vers SSH.

  3. Définissez un utilisateur / mot de passe personnalisé pour SSH ou joignez-vous au domaine.

  4. Demandez à chaque utilisateur de se connecter ou SSH à l'instance Linux attribuée à son rôle ou à son accès utilisateur.

  5. Les clés API et l'accès sont désormais hérités du rôle IAM d'instance lui-même, ce qui rend inutile le stockage des clés utilisateur. Assurez-vous simplement de verrouiller le groupe de sécurité, accordez uniquement l'accès à des utilisateurs spécifiques sur la boîte Linux. L'utilisateur doit pouvoir écrire des scripts à l'aide de l'API AWS / utiliser la fonctionnalité des outils API comme d'habitude.

Nous utilisons cette méthode depuis environ un an maintenant - avec des ajustements de sécurité supplémentaires, comme le temps d'accès loué, achetés dans AWS HSM et cela fonctionne très bien.

J'espère que cela vous aidera, vous ou quelqu'un d'autre.


Belle idée, merci! Je n'y ai pas pensé. Aucune option pour nous pour le moment en raison des coûts impliqués, mais je garderai cela à l'esprit.
arnuschky
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.