你会像这样托pipe源代码pipe理服务器吗?

我想承载一个SVN服务器(或混帐或mercurial或其他)。 我有两个select:

  1. 把它安装在办公室衣柜里的一个小盒子里,只连接到局域网。

  2. 将其安装在另一个具有可公开访问的IP地址的数据中心的服务器上,并且目前拥有一个面向公众的网站。

我对#1的关注是人们可以从办公室外部连接到VPN的唯一方式,但这只是我办公室中VPN的唯一一点,所以它似乎很重。 另外,如果办公室发生火灾或有人决定从壁橱里偷走箱子,那么…服务器已经不在了。 这意味着我将不得不在任何地方保留备份…

我对#2的关注是,在面向公众的服务器上拥有源代码意味着理论上有人可以访问服务器并窃取代码。 现在已经有一个面向公众的服务了,这个事实让我更加担心,因为这个软件可能被利用。

大多数公司如何安全地pipe理其源代码pipe理服务器和备份?

一般来说,你有3个安全选项。 我将在此前面加上我为ProjectLocker工作的免责声明,所以我通常偏向大多数公司的托pipe解决scheme。

在内部承载它自己

优点:

  • 代码只能在公司networking上访问,限制风险来源
  • 您可以搭载您公司现有的安全基础设施,而不是揣测安全性

缺点:

  • 您需要pipe理服务器软件,以便您或团队中的某个人员需要成为Subversionpipe理员,执行用户添加,popup服务器等操作。
  • 如果需要访问存储库的人员在禁止VPN访问的客户端站点上,他们将无法到达他们需要的代码。 在我以前的软件顾问生涯中,我经常看到这一点。

使用托pipe服务提供商

优点:

  • 大多数托pipe提供商都具有pipe理用户,项目创build和访问控制的接口,以及其他方便pipe理项目的function。 这意味着你不必学习Subversionpipe理的内容,你可以将pipe理职责交给团队负责人或其他值得信任的人员。
  • 主机提供商从任何地方提供安全访问,并通过大多数防火墙工作。
  • 托pipe服务提供商除了确保服务器保持运行和受保护之外,无所事事,因此他们可以更轻松,更便宜地进行全天候的访问和支持。

缺点:

  • 公共服务器确实面临更大的风险。 我认为中断的风险比盗窃更大。 如果你不处理金钱或政府机密,更有可能有人会试图接pipe服务器来传递恶意邮件或代码,并跺脚作为附带损害的代码,而不是窃取你的代码并试图与之竞争你在市场上或者破解你的系统。 也就是说,一个中断的项目是一个中断的项目,这是一个合理的关注。

在托pipe公司设置服务器

优点:

  • 您可以完全控制系统,监控和安全
  • 您的团队可以从任何地方访问代码

缺点:

  • 您负责pipe理和安全,没有贵公司的安全基础设施的利益。

基于此,我会build议内部托pipe或与托pipe服务提供商(你可以看到谷歌search“颠覆托pipe”他们的名单)。 看起来,托pipe自己的外部提供商将是两全其美的 – 你不得不面对安全和pipe理,而没有公司基础设施的好处。 托pipe服务提供商在确保客户的数据安全方面与他们的业务相关,有些服务提供商会执行NDA来提供额外的保证,因此相信他们足以让他们托pipe您的代码是合理的。

我通常在数据中心(一个非常小的盒子)中保留第二台服务器,但如果这不是一个选项,那么有很多托pipe服务。

如果你问“大多数公司”,我可能会回答VPN内联网。 最重要的是,他们可能在顶部build立了一些冗余(Raid,某种磁带机器人)。

如果你想知道你应该做什么,build立一个备份服务器,只需要一些NAS。 如果您害怕盗窃,请将该服务器放在其他一些壁橱里。 如果你怕火,那么不要在你的办公室附近抽烟……在小公司工作时,你必须做出一些妥协(如果是这样的话)。

我会在本地运行SVN服务器,并使用非现场备份(磁带,rsync,在线,阴天等)。 如果担心场外备份服务数据的机密性,我会对数据进行encryption,并在第三个位置(例如,家中)保存encryption密钥的副本,或者在办公室中保存数据安全的防火墙。

了解大多数公司做什么可能没有用处,因为他们可能以各种各样的方式进行,最常见的方式可能不适合您的具体情况。