我已经遵循了一些简单的指导,在家里的Windows服务器上build立一个SVN服务器。 它破解安装svn二进制文件并将其设置为服务。 在我的局域网,我尝试访问我的svn服务器在svn端口,一切工作正常。 但是,从我的办公室访问我的服务器是否安全? 我不认为它通过networkingencryption到我的ssn服务器的stream量(包括代码和密码)是否正确?
如果你需要一个到你的SVN服务器(运行svnserve守护程序,而不是Apache)的安全隧道,那么你需要:build立一个ssh隧道来访问你的主服务器,或者设置你的防火墙只接受来自已知IP地址的连接在办公室使用。
如果您使用IP技术来阻止所有其他IP,请记住您在服务器中看到的IP可能是办公室NAT的IP地址(即办公室内的每个人都有一个私有IP,但只有一个IP被IP外面的世界里,映射是由一个NAT路由器pipe理的)(如果你希望你的办公室里的每个人也可以连接的话,这是可以的)。
通过SSH隧道svn是一种常见的技术。 这里有一个教程来设置它。
stream量是否安全取决于您是否通过HTTPS访问它。
我有一个mod_dav_svn加载到Apache,并使用AuthType Basic来validation本地用户/通行证文件。 该文件是640与根:apache所有者。 这对于真正的安全性是不够的,所以我用SSLRequireSSL指令将它包装在SSL中。 这样我就可以通过客户端(TortoiseSVN使用https:// …连接,顺便说一句)或者启用了SSL的浏览器来使用我的SVN回购。 这给我一个很大的灵活性,同时保持相当高的安全水平。
你也可以(如果是你唯一的需要)通过创build一个自己生成的SSL证书来encryption连接,在Apache下添加下面的指令
SSLCertificateFile / yourfile
SSLCertificateKeyFile / yourkey
并启用Listen 443指令。 这样你的连接就会更安全
我喜欢Apache和ssl(就像Marcin所描述的那样),然后添加一个非常积极的防火墙,只允许从一个简短的ip号码列表或一系列的ip号码(你连接的)进行连接。
这样,你也降低了噪音,并带走了大多数剧本小子….