是否可以将对 svn 服务器的访问限制不仅仅限于凭证,还包括机器?

是否可以将对 svn 服务器的访问限制不仅仅限于凭证,还包括机器?

除了我们刚刚拥有的新台式机外,我的办公室还为所有员工提供了笔记本电脑。我被要求保护我们的svn server专用服务器,该服务器托管在某处并ubuntu在其上运行。

在这种情况下,限制访问意味着只有高级开发人员才能svn repositories在他们的笔记本电脑上访问。其余的开发团队只能在新的台式机上访问,而不能在他们的笔记本电脑上访问

我们目前使用以下方式访问存储库http/s:

有什么方法可以实现这个目标吗?

答案1

Subversion 和 mod_dav_svn 不允许根据计算机名称授权用户。

你需要分割你的局域网

192.168.0.0/24 - for new desktops
192.168.1.0/24 - for laptops of senior developers
192.168.2.0/24 - other developers

然后你可以尝试使用带有时间模块的 iptables

# iptables -I FORWARD -p tcp -s 192.168.2.0/24 -d repo.mycompanyname --dport 80 -j DROP
# iptables -I FORWARD -p tcp -s 192.168.2.0/24 -d repo.mycompanyname --dport 80 -m time --timestart 09:00 --timestop 18:00 --days Mon,Tue,Wed,Thu,Fri -j ACCEPT

答案2

不是通过典型的 SVN 功能,但如果你想进行黑客攻击,一切皆有可能。你需要某种方法来识别试图连接的计算机,如果它们不在不同的子网上,那么你无能为力。也许你可以只在老人的笔记本电脑上安装某种浏览器,然后用 Perl 脚本解析用户代理,此时如果成功,它将转发 SVN 请求。不过这是一个糟糕的解决方案。也许你可以研究客户端脚本解决方案并找到可以确定计算机型号的方法。

笔记本电脑和台式电脑是 Windows 还是 Linux 还是其他?

相关内容