如何改善管理Heroku上托管的NodeJS应用的API秘密密钥的方式

时间:2018-07-05 14:40:28

标签: node.js security heroku environment-variables secret-key

我已经根据dotenv文档创建了一个.env文件,并将我所有的秘密API密钥放置在该文件中。我还将这些环境变量作为配置变量添加到了我的Heroku实例中。结果,我的源代码中不再引用秘密的API字符串。

但是,由于git repo设置为private,并且我是它的唯一所有者,所以我没有git。忽略.env文件,但是我已经忽略了.env文件,以防止将其推送到Heroku中。

我的理由是不gitignore .env文件是安全的吗?我采取合理和标准的措施来保护我的秘密API字符串的步骤是否正确?如果没有,我该如何改进我的设置以提高Web应用程序的安全性?

1 个答案:

答案 0 :(得分:0)

.env中的信用与您在heroku应用程序中的信用是否相同? 如果是这样,那就不好了。

有权访问您的GitHub帐户的人也可以访问您的Heroku应用程序中的凭据。看看这个Gentoo retrospective,这就是让他们的GitHub组织受到威胁的确切原因。

您的.env文件应仅具有本地设置。例如,它应调用localhost作为数据库,而不是生产数据库URL。

然后,一旦一切脱离生产,就可以安全地将此文件检入到存储库中。可以访问您的代码的人将无法访问您的生产数据。