如何限制 VPN 用户的 SVN 访问

如何限制 VPN 用户的 SVN 访问

我们的服务器上有一系列的 Subversion 存储库,我们希望建立并运行 VPN,以便能够在站外访问它们。

然而,我的老板坚持认为,除非你真的在办公室(或者在外面的无线网络中……),否则少数几个存储库是无法访问的。

我怎样才能实现这个目标?

我的猜测是使用 apache 设置做一些事情(我们正在使用 webdav)

答案1

你应该看看订购、拒绝和允许选项。您应该允许来自本地网络的访问并拒绝来自所有人的访问。您可以在 <Location> 块中使用这些配置作为存储库 URL。

<Location /svn>
    SVNParentPath /var/svn
    DAV svn
    Order allow,deny
    Allow from all
</Location>

<Location /svn/secret>
    Order allow,deny
    Allow from 10.0.0.0/8
    Deny from all
</Location>

答案2

在您的 Apache 配置中只需设置服务器。不要将其设置为 *:80,而应将其设置为 192.168.0.5:80(仅适用于办公室),对于 vpn 仅使用 10.0.0.5:80

我们的方法是这样的:

<VirtualHost *:80>
        ServerName 10.0.0.100
        ServerAlias svn.domain.com
        <Location "/">
                DAV svn
                SVNParentPath "/etc/subversion/repos"
                Require valid-user
                AuthType basic
                AuthName "Subversion Repository"
                AuthUserFile "/etc/subversion/repos/.user.passwd"
        </Location>
</VirtualHost>

相关内容