第三方开发者的访问权限和安全性

我们的营销部门希望开始聘请外部公司协助开发和维护我们的营销网站。 目前这个网站是在FreeBSD上(使用apache),但是在接下来的几个月内会把所有东西都迁移到CentOS。 现在我们有一个内置的Subversion服务器,它包含所有的代码,开发人员检查代码,然后将代码推送到外部登台服务器,以确保一切正常,然后推送到我们的实时服务器。

就像我刚才提到的那样,他们会雇佣一个外包公司与他们一起工作。 我的任务是能够使用代码,但同时使它们远离networking。

以下是我的一些想法:

  1. 让他们通过我们的SonicWall(我们的主要网关)访问VPN,只允许他们通过443端口访问Subversion服务器,并阻止其他任何事情(我甚至不确定Sonicwall是否会这样做,还是只允许我授予在子网级别的访问权限。)

  2. 在DMZ中设置一个Subversion服务器,并且只允许来自其公司IP地址的入站stream量。 这将有效地阻止访问我们的networking,但仍然允许内外的人访问颠覆。

  3. 给他们在登台服务器上的帐户,让他们从那里工作(最懒,最不喜欢的解决scheme…)

选项2是我倾向于最多的选项。 有没有人有这些解决scheme的任何意见,或有一个完全不同的解决scheme,会更好地工作? 我们的最终目标是让他们在不影响我们networking的前提下编写代码。

假设转移到像Git这样一个体面的,分散的版本控制系统不是一个select(而且“外包开发者”也参与进来,我不会相信他们不会把SVN搞混了,更不用说Git了) …

如果SonicWall能做到这一点,在防火墙上打一个洞让他们在内部访问SVN是一个select,但我不喜欢它。 虽然SVN没有光辉的安全漏洞历史,但只有一个让你被外包公司(或任何有权访问外包公司networking的人)的一些不可靠的白痴所淹没……“安全有多好VPN 另一端的系统“这个问题还不够人们所要求的)。

我会把SVN服务器放在一个互不信任的地方,像滚筒一样紧紧地锁在一起。 我当然不会让他们进入舞台,这只是一个难以维护的恶梦场景(你能够做一个干净的部署的机会是epsilon)和潜在的安全问题,永远困扰你的梦想的秘诀。