我想承载一个SVN服务器(或混帐或mercurial或其他)。 我有两个select:
把它安装在办公室衣柜里的一个小盒子里,只连接到局域网。
将其安装在另一个具有可公开访问的IP地址的数据中心的服务器上,并且目前拥有一个面向公众的网站。
我对#1的关注是人们可以从办公室外部连接到VPN的唯一方式,但这只是我办公室中VPN的唯一一点,所以它似乎很重。 另外,如果办公室发生火灾或有人决定从壁橱里偷走箱子,那么…服务器已经不在了。 这意味着我将不得不在任何地方保留备份…
我对#2的关注是,在面向公众的服务器上拥有源代码意味着理论上有人可以访问服务器并窃取代码。 现在已经有一个面向公众的服务了,这个事实让我更加担心,因为这个软件可能被利用。
大多数公司如何安全地pipe理其源代码pipe理服务器和备份?
一般来说,你有3个安全选项。 我将在此前面加上我为ProjectLocker工作的免责声明,所以我通常偏向大多数公司的托pipe解决scheme。
在内部承载它自己
优点:
缺点:
使用托pipe服务提供商
优点:
缺点:
在托pipe公司设置服务器
优点:
缺点:
基于此,我会build议内部托pipe或与托pipe服务提供商(你可以看到谷歌search“颠覆托pipe”他们的名单)。 看起来,托pipe自己的外部提供商将是两全其美的 – 你不得不面对安全和pipe理,而没有公司基础设施的好处。 托pipe服务提供商在确保客户的数据安全方面与他们的业务相关,有些服务提供商会执行NDA来提供额外的保证,因此相信他们足以让他们托pipe您的代码是合理的。
我通常在数据中心(一个非常小的盒子)中保留第二台服务器,但如果这不是一个选项,那么有很多托pipe服务。
如果你问“大多数公司”,我可能会回答VPN内联网。 最重要的是,他们可能在顶部build立了一些冗余(Raid,某种磁带机器人)。
如果你想知道你应该做什么,build立一个备份服务器,只需要一些NAS。 如果您害怕盗窃,请将该服务器放在其他一些壁橱里。 如果你怕火,那么不要在你的办公室附近抽烟……在小公司工作时,你必须做出一些妥协(如果是这样的话)。
我会在本地运行SVN服务器,并使用非现场备份(磁带,rsync,在线,阴天等)。 如果担心场外备份服务数据的机密性,我会对数据进行encryption,并在第三个位置(例如,家中)保存encryption密钥的副本,或者在办公室中保存数据安全的防火墙。
了解大多数公司做什么可能没有用处,因为他们可能以各种各样的方式进行,最常见的方式可能不适合您的具体情况。