![在哪里维护中央源存储库?](https://linux22.com/image/529377/%E5%9C%A8%E5%93%AA%E9%87%8C%E7%BB%B4%E6%8A%A4%E4%B8%AD%E5%A4%AE%E6%BA%90%E5%AD%98%E5%82%A8%E5%BA%93%EF%BC%9F.png)
关于确保源代码访问安全的行业最佳实践是什么?我认为仅通过 Apache 的 SSL 连接允许通过一个不与其他任何端口冲突的模糊端口访问我们的服务器。让我困扰的是将源代码存储在面向公众的服务器上,即不仅可以通过 LAN 访问。此外,该服务器有多种用途。Apache 已经为其他一些内部公司网站提供服务。我希望每个人都能够从任何地方(家里、机场等)访问源代码,只要他们有正确的凭据。有什么建议吗?
答案1
如果您担心它位于面向公众的服务器上但希望从任何地方访问,您应该考虑让您的开发人员使用基于客户端的 VPN 远程登录您的网络以访问内部源代码控制服务器。
答案2
我不太明白为什么人们认为 VPN 方法是最好的。它不一定更安全,而且我认为只有一个优点。
例如,众所周知,PPTP 的安全性不够理想,尽管我相信它自首次推出以来已经有所改进……所以在使用 VPN 解决方案时要小心。我会选择 OpenVPN 或 IPSEC。
但是,如果没有 VPN,SSL/TLS 的便利性是无可比拟的(请继续阅读)。为了使其更加安全,您可以将其设置为仅使用证书。
但是,如果您认为您可能提供除源代码控制之外的其他服务,那么请考虑使用 VPN 解决方案,因为您将通过它来传输其他服务。
使用 VPN 的缺点是您的 PC 实际上会成为其所连接网络的一部分。这也可以算作一个优点。但是,如果您离家有百万英里之遥,并且与家庭基地的网络连接速度不是太快,那么每次您想要进行差异分析或签入或签出代码时,您可能会发现自己正在连接和断开 VPN。
作为一名开发人员,我可以在此谈谈我的个人经验,做这样的事情真的很痛苦!!! 理想情况下,两种选择都是首选。
因此,如果您要浏览网页等,那么它可能会使阅读新闻等变得相当慢。但至少您可以安全地访问电子邮件。因此,请先考虑您将如何使用它...如果我是您,我会考虑同时实现两者。
答案3
实际上,我喜欢你的建议。如果你让你的源代码存储库仅通过 SSL/TLS 访问,并确保你的开发人员不使用易于暴力破解的密码(或者更好的是,使用证书),那么这应该是最安全的。
相反,您可以将服务器隐藏在 LAN 中,并强制开发人员使用 VPN 来获取访问权限,但这只意味着您的开发人员需要将他们的用户名/密码(和/或证书)输入到不同的登录框中。我建议不要在您的网络中创建一个入口点,因为其安全隐患可能并不总是很明显,只是为了允许访问单个服务。如果您已经为其他用途配置并保护了 VPN,那么当然,这是理所当然的,继续使用它吧。否则,通过 SSL/TLS 直接提供服务本身可能更简单,因此也更安全。
答案4
和其他人一样,我更喜欢 VPN。另一种选择是 SSH 隧道,我认为从实际角度来说,它是一种 VPN。