某团队部署了一台 SoftEther 服务器,导出了一份连接配置,后来有人在公开的 VPN Gate 目录里发现了同样的协议,便问公司现在是不是在运营公共中继。这种困惑可以理解:客户端看起来一模一样,协议完全相同,而且两者都出现在同一类连接列表里。区别不在技术层面,而在运营层面。你部署的服务器归部署它的人所有,而 VPN Gate 是一个独立的志愿者项目,发布的是它自己的端点。

同一个客户端,两个不同的运营方

三个问题就能把这两种部署分开,而软件本身一个也回答不了。在任何人开始比较客户端之前,值得先把它们写下来。

QuestionYour SoftEther serverA VPN Gate volunteer node
Who runs ityou, or your hosting provider on your behalfan anonymous volunteer
Who may connectaccounts you createanyone using the public directory
Who writes the logging policyyouthe volunteer, within the project's published rules

中间那一行能了结大部分争论。在自己的服务器上,账号列表由你掌控,所以成员身份是有意义的;而在志愿者节点上,目录里的每个用户都可能是同一端点上的对端。这一行也无法从客户端推断出来,这正是为什么两个使用相同软件的人,描述的可能是完全不同的网络。

看清端点是谁发布的

先从连接配置的来源看起。带有志愿者主机名、不断变化的地址和公开列表的目录条目,与管理员用你自己的主机名和证书导出的配置是两种不同的东西。如果端点出现在公开列表里,就把它当作公开的,因为列表的含义正是如此。协议本身不会改变这个答案。

目录条目也不是管理访问权限。能连接到某个节点,并不说明它的管理接口是什么样,而在志愿者主机上尝试管理凭据既无效也不合适。只使用列表提供的那种连接方式,别多做一步。

日志跟着运营方走,而不是跟着协议

作为软件,SoftEther 可以记录连接,而服务器的管理员决定保留什么、保留多久。VPN Gate 另有自己的志愿者模式说明页,以及关于反滥用日志的页面,这些页面才是关于该项目的唯一准确说明。阅读它们,与假设任何基于 SoftEther 的服务都不留存任何记录,是两件不同的事;后者是软件无法支撑的说法。

对你自己的服务器来说,对应的说明来自你的配置和保留政策。这可能比公共节点记录的更多,也可能更少,无论哪种情况都是你的责任。任何声称协议保证匿名的人,描述的是希望而不是设计。

公共出口不等于私有网络的成员资格

实际的失败发生在有人需要访问内部服务,却伸手去拿免费的公共出口,而不是公司网关的时候。公共节点可以改变你的流量看起来来自哪个地址。它无法让你成为某个从未授予你访问权的网络的成员,客户端怎么设置都改变不了这一点。可达范围是在远端由运营网关的人划定的。

安全政策也正该落在这里。经过未知志愿者主机的流量要受该主机做法的约束,而这一信任判断与经过贵组织运营并审计的网关的流量截然不同。选择免费出口只是转移了信任,并没有消除信任。

想清楚你实际在部署什么

三个问题就能定下来。谁来运营这个端点?谁被允许连接到它?谁的日志和保留政策适用于这些流量?如果其中任何一项的答案是“谁找到就算谁的”,那么无论协议文件怎么写,这个部署都是公开的。

把答案写在部署旁边,包括运营方、允许的用户和保留政策。当下一个人在公开目录里发现同样的协议时,这条备注就是全部解释,也能省掉那场关于公司是否在运营中继的争论。

相关文章