我按照一些简单的说明在家里的 Windows 服务器上设置了 SVN 服务器。它解决了安装 svn 二进制文件并将其设置为服务的问题。在我的 LAN 中,我尝试通过 svn 端口访问我的 svn 服务器,一切正常。但是从我的办公室访问我的服务器安全吗?我不认为它通过网络加密到我的 ssn 服务器的流量(包括代码和我的密码),对吗?
答案1
如果您想要一个到 SVN 服务器的安全隧道(运行 svnserve 守护程序,而不是 Apache),那么您需要:设置一个 ssh 隧道来访问您的家庭服务器,或者将您的防火墙设置为仅接受您将在办公室使用的已知 IP 地址的连接。
如果您使用 IP 技术来阻止所有其他 IP,请记住您在服务器中看到的 IP 可能是办公室 NAT 的 IP 地址(即办公室内的每个人都有一个私有 IP,但外界看到的 IP 只有一个,映射由 NAT 路由器管理)(如果您希望办公室中的每个人都能连接,那么这是可以的)。
通过 ssh 隧道传输 svn 是一种常见的技术。以下是教程进行设置。
答案2
流量是否安全取决于您是否通过 HTTPS 访问它。
答案3
我已将 SVNmod_dav_svn
加载到 Apache 中,并使用它对AuthType Basic
本地用户/密码文件进行身份验证。该文件的所有者为 root:apache,权限为 640。这对于真正的安全性来说还不够,因此我将其包装在 SSL 中并附带SSLRequireSSL
指令。这样,我可以通过客户端(顺便说一下,TortoiseSVN 使用 https://... 连接)或启用 SSL 的浏览器使用我的 SVN 存储库。这为我提供了极大的灵活性,同时保持了相当高的安全性。
答案4
我喜欢 Apache 和 ssl(就像 Marcin 描述的一样),然后添加一个非常激进的防火墙,只允许来自一小段 IP 号码列表或一个 IP 号码范围(您从中连接)的连接。
这样,你也能降低噪音,并消除大多数脚本小子......