1Password 使 GitHub 用户可以更轻松地使用 SSH密钥. 签名的提交验证进行代码更改的人是否是他们所说的人。
当代码被签入 git 存储库时,更改通常以提交代码的人的名字保存。 虽然提交者的名字通常由用户的客户端设置,但它可以很容易地更改为任何其他名称,这使得有人可以伪造提交消息和名称。 如果开发人员实际上不知道谁提交了一段特定的代码,这可能会产生安全隐患。
Netenrich 的首席威胁猎手 John Bambenek 说,互联网上所有网络安全问题背后的根本、未解决的问题是缺乏真正真实的真实人类的好工具。 使加密签名或签名提交变得容易,可以让组织对个人身份有更高级别的保证。
“没有这个,你就相信提交者就是他们所说的那个人,接受提交的人理解并审查提交的问题,”他补充道。
Bambenek 指出,由于犯罪分子正在认真地追踪开源库中的代码,能够真正验证推送代码的人意味着使用他们的存储库危害其他组织的窗口要小得多。
更简单、可扩展的密钥管理
Bugcrowd 安全运营高级主管 Michael Skelton 指出,管理 SSH 和 GPG 密钥以在多个开发人员虚拟机和主机上签署提交可能是一个繁琐且令人困惑的过程。 以前,对使用密钥对管理的签名提交感兴趣的开发人员将它们存储在他们的 GitHub 帐户和本地机器上。
“这会使大规模采用已签名的提交变得困难,从而削弱您的组织充分利用此功能的能力,”他说。 “通过让 1Password 代您管理,您可以更轻松地部署这些密钥并轻松更新配置。”
因为 1Password 存储 SSH 密钥,所以在多个设备上管理密钥变得更容易,也更少混淆。 Skelton 说,此功能还可以以更具可扩展性的方式为开发人员管理 GitHub 签名密钥。
“通过解决这个问题,组织可以使用 GitHub 的警惕模式在他们的存储库上强制执行签名提交,帮助限制提交者姓名被歪曲和误解的能力,”Skelton 说。
使用已签名的提交,可以更轻松地查看未签名的提交。 还可以创建拒绝未签名提交的应用程序安全策略。
如何设置签名提交
下面介绍如何设置 GitHub 以使用 SSH 密钥进行验证。
- 更新到 Git 2.34.0 或更高版本,然后转到 https://github.com/settings/keys 并选择“新的 SSH 密钥”,然后选择“签名密钥”。
- 从那里,导航到“密钥”框并选择 1Password 徽标,选择“创建 SSH 密钥”,填写标题,然后选择“创建并填写”。
- 对于最后一步,选择“添加 SSH 密钥”,该过程的 GitHub 部分就完成了。
在 GitHub 中设置密钥后,继续在桌面上使用 1Password 来配置您的 .gitconfig 文件以使用其 SSH 密钥签名。
- 在顶部显示的横幅中选择“配置”选项,其中将打开一个窗口,其中包含您可以添加到 .gitconfig 文件中。
- 选择“自动编辑”选项让 1Password 更新 .gitconfig 一键归档。
- 需要更高级配置的用户可以复制代码段并手动执行操作。
当你推送到 GitHub 时,一个绿色的验证徽章将被添加到时间线中,以便于验证可见性。