mva*_*mva 2 git security deployment github private-key
我已将部署(只读)私钥存储在 Github 私有存储库中,该密钥可用于仅克隆此存储库本身。
几乎每次在 git 中存储私钥都是一种不好的做法,并且实际的密钥材料可以移动到环境变量中,以便在部署/更新期间呈现给 AWS 用户数据等。
我的问题是 - 如果密钥仅限于特定存储库本身的只读权限,这是否可以被视为安全问题?如果您克隆了存储库,则您已经拥有访问权限,并且使用此部署密钥无法获得任何额外的东西。
一般来说,将凭证存储在存储库中并不安全。如果有人掌握了您的存储库的快照(例如,您留下了可.git
通过 HTTP 访问的网站的目录,或者某人掌握了 tarball),那么攻击者就可以恢复密钥。现在,攻击者不仅可以获取存储库的历史版本,还可以在无限期的未来获取任何较新的版本。
我强烈建议您不要这样做,因为这几乎总是一个坏主意。如果您对此项目有任何类型的安全或合规性要求,则在存储库中存储凭据可能会违反这些要求。
此外,GitHub 还具有凭证扫描功能。我不知道它是否从私钥计算 SSH 公钥,但您可能会发现,一旦您将部署密钥推入存储库,您的部署密钥就会被自动撤销并列入黑名单。即使现在没有发生这种情况,GitHub 也可能会在以后添加对此的支持,并且未来的推送可能会撤销该密钥。
如果您确实需要将这些凭据存储在存储库中,正确的方法是以某种加密形式存储它们。您可以使用gpg
密码对它们进行加密,还有一些特定于项目的秘密存储技术,例如使用 Chef 的存储库。如果 Vault 等解决方案能更好地满足您的需求,您也可以使用它。
归档时间: |
|
查看次数: |
2929 次 |
最近记录: |