我有一个Django应用程序,它使用一些秘密密钥(例如,用于OAuth2 / JWT身份验证)。我想知道哪里是存放这些钥匙的合适地方。
以下是我到目前为止发现的方法:
app.yaml也是源代码控制的。我是不是遗漏了什么?是否存在存储Django应用程序或App应用程序的密钥的最佳实践?
发布于 2014-11-30 14:21:18
您很难对访问您的服务器的攻击者隐藏秘密密钥,因为服务器需要知道密钥。但是,您可以使低权限的攻击者很难。
混淆通常不被认为是一种好做法。
你的选择5似乎是合理的。将密钥存储在一个非源代码控制的文件中,可以将密钥保存在一个单独和定义良好的位置。可以对该文件设置适当的权限,以便攻击者需要高权限才能打开该文件。还要确保编辑项目的其余部分需要高权限,否则攻击者可以修改项目的随机文件以访问密钥。
我自己在我的项目中使用你的选项5。
发布于 2016-06-15 01:06:08
我看到的一个解决方案是使用gpg将秘密配置的加密副本存储在存储库中。根据团队的结构,您可以对称地加密它,并共享密码来解密它,或者使用核心成员/维护人员的公钥加密它。
这样,您的秘密就会像您的代码一样被备份,而不会使它们成为可见的。
https://stackoverflow.com/questions/27214104
复制相似问题