在服务器和Git Repo上使用应用程序密钥时的最佳实践

在服务器上使用应用程序密钥(如Twitter API密钥或Parse.com密钥)的最佳做法是什么?

我们有一些NodeJS代码需要部署到一个云端服务器,它将访问Twitter和Parse.com API。 将config.js模块中的密钥推送到Git仓库是否安全,然后在服务器上克隆该仓库(或者我只是偏执狂)?

Git回购可以通过不安全的叉子,开发人员的电脑之一受到感染,意外暴露等等而轻易泄露。

即使git repo是完全安全的(不可能),你也正在打开其他的攻击媒介:如果你扩展,让更多的人在一个项目上工作? 你基本上不得不最终相信他们每个人的钥匙。

将密钥存储在任何版本控制软件中都没有意义,只需将它们保存在安全的地方,并使用SSH上传到最终的服务器即可。

遵循最佳实践永远不会伤害:

  1. 在存储库中具有结构化但未填充的config.js以简化设置。
  2. 使用SSH或其他安全方法修改最终服务器上的config.js ,插入值。

PS你根本就没有偏执(这个时候几乎不可能太谨慎)。