允许外部开发人员访问我们的内部 Git 服务器的最佳解决方案?

允许外部开发人员访问我们的内部 Git 服务器的最佳解决方案?

我的公司外包了很多软件开发工作。通常供应商会管理源代码,直到应用程序完成,然后才将其交给我们。这有明显的缺点:(1)我们无法控制谁在开发期间有权访问代码;(2)我们无法在开发结束前进行代码审查或静态分析。解决方案是在我们公司内安装一个 Git 服务器,并允许外部开发人员连接到它。这将使我们能够进行适当的访问管理。但是,唯一可以从外部直接访问的网络段是 DMZ。我不喜欢将源代码等敏感数据放在 DMZ 中。我们可以将服务器放在内部段中,不能直接访问。然后我们需要为外部开发人员提供 VPN 访问权限,这意味着在我们的 AD 中管理他们的身份,或者我们可以在 FW 上配置规则,但这会违反网络分段规则。

你能想到更好的解决方案吗?你见过解决这个问题的方法吗?方便吗?谢谢。

答案1

我们过去在办公室托管自己的源代码控制服务器。开发团队规模不断扩大,维护服务器所需的管理工作量也随之增加。我们还开始聘用在办公室外工作的自由开发人员。

最后,我们将源代码控制移至外部托管的 git 托管。有许多此类服务可用(例如 SourceForge、BitBucket、Gitlab、GitHub)。

外部开发人员访问源项目的安全问题令人担忧。开发人员在源代码中存储可能被黑客利用的机密信息时,往往会松懈。

有安全的 git 托管选项(有免费和开源的密钥库)或者使用 git 助手在将文件推送到服务器之前对其进行加密,例如:

git-crypt

git-crypt启用 git 存储库中文件的透明加密和解密。您选择保护的文件在提交时加密,在签出时解密。git-crypt 让您可以自由共享包含公共和私有内容的存储库。

或者git 秘密

git 秘密是一个将私人数据存储在 git repo 中的 bash 工具。git-secret 使用允许的用户的公钥加密文件,允许您信任的用户使用 pgp 及其密钥访问加密数据。

相关内容