【发布时间】:2010-09-06 00:04:53
【问题描述】:
我有一个网络服务器,我目前正在一家专门托管 svn 的公司支付 SVN 托管费用。
我正在考虑在我的专用服务器上安装 SVN,这有什么安全隐患吗?
【问题讨论】:
-
这属于 serverfault 并且选择的答案有错误的答案!!!
我有一个网络服务器,我目前正在一家专门托管 svn 的公司支付 SVN 托管费用。
我正在考虑在我的专用服务器上安装 SVN,这有什么安全隐患吗?
【问题讨论】:
对 Jedi 的小修正:它是来自 http://www.visualsvn.com/server/ 的 VisualSVN 服务器
【讨论】:
这取决于你想考虑这个问题的程度。
如果您想自行安装 Subversion 服务器,您有两种选择:
无论哪种情况,问题不在于两人做了什么,而是两人无意中做了什么。
如果 Apache 中存在允许外部攻击者访问您的数据的错误,那就太糟糕了。如果 Subversions 自己的服务器中存在允许相同的错误,那就不好了。
您需要做的是考虑场景的风险和后果,并在可能的情况下提出满足您要求的服务器设置。
你至少要考虑的情况是:
我个人已经考虑过现在有多少通过 Apache 托管 subversion 服务器,并且毫无疑问地安装了VisualSVN Server 来托管我自己的源代码。
【讨论】:
我使用http://www.visualsvn.com/server/ 的VisualSVN 服务器,非常容易安装并且可以与活动目录集成。在win2008上安装没问题。
【讨论】:
对于简单的安全要求,使用 svnserve 设置 Subversion 几乎是微不足道的。甚至让它在 Apache 下运行以满足更广泛的安全需求也不是太困难。
这是一个很好的演练:
http://donie.homeip.net:8080/pebble/Steve/2006/02/27/1141079943879.html
【讨论】:
Apache 和 SVN 很容易一起运行,但有很多步骤。今天绝对比两年前我第一次尝试时容易。确保您有匹配的模块版本,并在部署到您的服务器之前花一些时间在本地使用 Apache。有带和不带 SSL 的 Apache 版本。检查您是否有一个包含 OpenSSL 以保护网络上的凭据。
安装 Apache 以便它可以手动启动,例如。不作为服务。您需要这样做以避免与服务器上的任何 IIS 应用程序发生冲突。配置正确后,您可以安装 Apache 以作为服务运行。
通常 Apache 将使用基本身份验证。您需要使用 SSL 来保护它,凭证在传输过程中未加密。您将用户详细信息放在磁盘上的测试文件中。如果您想根据 windows 或活动目录对用户进行身份验证,您将面临更大的任务(也许请参阅 VisualSVN)。
我快速浏览了 VisuaSVN,它似乎是一个不错的选择。然而,一点 Apache 配置经验可以有很长的路要走。来自 IIS 背景并不太难,只是需要一些时间来查看所有选项/设置。
【讨论】:
VisualSVN 是如此罕见 - 一个安装工具,在 Windows 上安装 SVN 比在 Linux 上更容易。考虑到 Linux,您只需要输入“yum install subversion”,这是值得称赞的。
但是,如果您真的担心,我会同时安装 VMware,并在您的 Web 服务器上的来宾操作系统中运行您的 SVN 服务器。
安全性:如果您运行 svnserve,则只需阻止除您的计算机之外的所有端口 (3960) 访问该端口。如果没有,您需要保护 svn auth 配置文件。 如果您使用 apache 运行它,那么它只是另一个需要保护的网站,与往常一样。
【讨论】:
生产 svn 服务器在可用性方面很重要,但它永远不够,无论是 Windows Srvr 2007 还是 RH Linux 都无关紧要。你需要一个深思熟虑的备份策略并小心访问管理。
【讨论】:
SVN 在 Windows 环境中很难设置,至少如果你想托管 SVN,本地存储库是不同的。我的建议是坚持公司或寻找更便宜的 SVN,不会花费那么多钱。它们的设置并不难,但您不希望由于备份不当而丢失所有源代码。
【讨论】: