Question Les variables d'environnement d'Elastic Beanstalk sont-elles un endroit approprié pour stocker des valeurs secrètes?


J'ai déployé mon application Django sur Elastic Beanstalk dans l'intention d'utiliser son interface de configuration de variable d'environnement pour stocker mes clés d'API au lieu de les stocker dans mon source (comme décrit ici). https://stackoverflow.com/a/17878600).

Après cela, j’ai découvert que ce que Beanstalk appelle des variables d’environnement ne sont pas réellement des variables d’environnement shell (comme mentionné ici). https://stackoverflow.com/a/24564832/378638) et sont stockés sur l’instance dans un fichier de configuration (comme décrit ici https://stackoverflow.com/a/24566283/378638).

Cela semble être un problème de sécurité pour moi. Cela ne va-t-il pas à l'encontre du but de garder les clés secrètes de la source? Je comprends qu'ils ne sont plus dans le référentiel, mais ils sont toujours accessibles sur l'instance.

Est-ce que je comprends mal le risque? Je suis administrateur par héritage, alors veuillez excuser mon ignorance ici. Devrais-je simplement charger les variables Beanstalk en tant que variables d'environnement shell via le fichier de configuration et continuer, car le fichier est uniquement accessible via root, ou mon problème est-il valide? Je vous remercie.


14
2017-07-15 22:48


origine




Réponses:


L'intérêt de garder le secret sur le code source est de ne pas entrer dans le code source. contrôle. Ceci est particulièrement utile dans les projets open source.

Une fois déployé, peu importe que le secret soit dans un fichier ou dans une Envar. L’important est que seul l’utilisateur du système d’exploitation exécuté par votre programme puisse le lire. C'est la valeur par défaut pour envvars, ce qui est pratique.

La racine peut toujours tout lire. Ainsi, Amazon peut connaître vos valeurs secrètes si elles le souhaitent, car elles sont root.

Ils soutenir modules de sécurité matérielle coûteux (HSM) cependant, ce qui rendrait vos clés illisibles. Bien sûr, ils pourraient toujours utilisation HSM pour décrypter vos données, n’obtenez jamais la clé réelle.

Vous devez donc faire confiance à Amazon, héberger vous-même ou co-organiser.


12
2017-07-16 03:18