Subversion和外部合作者:HTTPS vs VPN

我们目前有一些VPN连接的问题。 整个事情减缓了开发和反应时间。 我之前工作的地方习惯于使用SSH访问自托pipeSubversion的FTP和HTTPS。

在真实世界的生产环境中:您多长时间使用VPN而不是HTTPS来由外部员工访问Subversion版本库? 如果你这样做,是安全的主要关注?

我们在我们的Subversion版本库上运行SSL进行外部访问,只是因为它比VPN更容易:

  • 维护(没有保养)
  • 设置(大约需要10分钟)
  • configuration客户端(无需)
  • 100%的兼容性保证(没有时髦的VPN客户端)
  • 跨平台
  • 更安全(没有机会忘记设置防火墙规则并打开整个networking)
  • 不需要SSH(非常适合Windows客户端)

我基本上使用svn + ssh。 对于从不需要在服务器上运行svn以外的任何人,可以在~/.ssh/authorized_keys的前面添加这样的内容:

command="svnserve -t --tunnel-user=theuser",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty

这确实意味着你的用户需要使用公共密钥authentication,但嘿,这不是一件坏事,对吧?

https和一个VPN都创build一个SSL隧道,两者都是多余的。 如果您需要让协作者访问其他networking资源(如文件共享),请使用VPN。

在工作中,我们使用HTTPS证书,每年花费30美元。 我强烈build议使用CA来阻止MITM攻击。