【问题标题】:Should I avoid having secret keys in a private git repository?我应该避免在私有 git 存储库中使用密钥吗?
【发布时间】:2019-01-30 19:43:18
【问题描述】:

目前,我在一个配置文件中拥有所有各种密钥,该配置文件在 PRIVATE repo 上受版本控制。该代码位于受信任的一方(Github)。我应该避免在 git 中控制这个配置文件的版本吗?

如果不是,那么您将如何与开发团队共享此文件?

【问题讨论】:

  • 为什么要与团队的其他成员共享您的密钥?你不能只为每个成员注册一个密钥吗?
  • API 密钥,序列化和反序列化的秘密值,可能是数据库凭据等。我不会对每个贡献者都有具体的价值观。这也适用于生产代码
  • 请记住,每个在线服务都可能随时被黑客入侵。因此,即使是私有存储库也可能会暴露给攻击者。关于您的问题:问问自己攻击者可以对这些值造成什么损害,以及在不阅读您的私人回购(例如从您的应用程序中提取)的情况下获取这些值有多么困难。

标签: git security github configuration config


【解决方案1】:

共享私钥始终是一种不好的做法...作为对您的问题的回答,git 作为密钥容器没有任何问题,它非常安全,即使安全性取决于其他元素,例如安全级别git主机的。但是在其他开发人员/用户获得密钥后,您无法控制密钥,所以是的,作为一种好的做法,您应该避免这种情况。根据您的情况,也许您可​​以选择其他解决方案,例如设置一次性密码生成器。

【讨论】:

  • 例如,我有谷歌地图的 API 密钥。我不希望这些东西泄露出去,但我会相信我的开发人员——而且我看不到在不向开发人员公开一些密钥的情况下创建开发环境的方法。请记住,此文件中没有“开发人员特定”密钥 - 例如个人密码
  • @JonasPraem,你应该有在开发中使用的开发密钥。任何人(包括您)都不需要在他们的开发环境中拥有生产密钥。
猜你喜欢
  • 2019-04-23
  • 1970-01-01
  • 1970-01-01
  • 2018-06-16
  • 1970-01-01
  • 1970-01-01
  • 2016-02-20
  • 2011-05-18
  • 2011-03-26
相关资源
最近更新 更多