在服务器和 Git Repo 上使用应用程序密钥的最佳实践
Best Practices when using Application Keys on Server and Git Repo
在服务器上使用应用程序密钥(例如 Twitter API 密钥或 Parse.com 密钥)的最佳做法是什么?
我们有一些 NodeJS 代码需要部署到将访问 Twitter 和 Parse.com API 的云服务器。将 config.js 模块中的密钥推送到 Git 存储库然后在服务器上克隆该存储库是否安全(或者我只是偏执狂)?
Git 存储库很容易通过不安全的分叉泄漏、开发人员的一台计算机被感染、意外暴露等
即使 git 存储库是完全安全的(不可能),您也打开了其他攻击媒介:如果您扩展,让更多的人参与一个项目会怎么样?您基本上必须最终信任他们每个人的密钥。
将密钥存储在任何版本控制软件中没有意义,只需将它们保存在安全的地方并进行备份,然后使用 SSH 上传到最终服务器。
遵循最佳实践永远不会有坏处:
- 已在存储库中构建但未填充
config.js
以简化设置。
- 使用 SSH 或其他安全方法修改最终服务器上的
config.js
,插入值。
P.S。你一点也不偏执(这个时候太过谨慎几乎是不可能的)。
在服务器上使用应用程序密钥(例如 Twitter API 密钥或 Parse.com 密钥)的最佳做法是什么?
我们有一些 NodeJS 代码需要部署到将访问 Twitter 和 Parse.com API 的云服务器。将 config.js 模块中的密钥推送到 Git 存储库然后在服务器上克隆该存储库是否安全(或者我只是偏执狂)?
Git 存储库很容易通过不安全的分叉泄漏、开发人员的一台计算机被感染、意外暴露等
即使 git 存储库是完全安全的(不可能),您也打开了其他攻击媒介:如果您扩展,让更多的人参与一个项目会怎么样?您基本上必须最终信任他们每个人的密钥。
将密钥存储在任何版本控制软件中没有意义,只需将它们保存在安全的地方并进行备份,然后使用 SSH 上传到最终服务器。
遵循最佳实践永远不会有坏处:
- 已在存储库中构建但未填充
config.js
以简化设置。 - 使用 SSH 或其他安全方法修改最终服务器上的
config.js
,插入值。
P.S。你一点也不偏执(这个时候太过谨慎几乎是不可能的)。