Cloudflare:具有零信任规则的VNC浏览器

Cloudflare的VNC浏览器是一种新型远程访问技术,让用户能够直接使用浏览器远程访问用户网络中的VNC服务器。关于这个服务,Kenny首先指出了终端软件的普遍问题:操作系统兼容性、安全和管理开销,再具体列举了用户直接使用VNC客户端时的监控、安全和多样性问题。

在介绍完Cloudflare的VNC浏览器之后,Kenny明确提出 “基于浏览器是未来趋势”的三个原因:对用户直观、安全和可见性。其实,VNC的问题对于其他常见的远程访问技术(如RDP、SSH和各种VPN等)也都普遍存在。

未来的趋势都会是基于浏览器的无终端解决方案,这正是我们一直以来所倡导和努力的方向,并最终通过SupraAXES办公VR平台得以实现。


作者:Kenny Johnson

我们很高兴与大家分享,从今天开始,你可以把另一个传统的客户端驱动的用例转移到浏览器上。现在我们团队可为他们的用户提供一个在内置了零信任控制的浏览器中完全呈现的虚拟网络计算Virtual Network Computing (VNC) 客户端。



像SSH流一样,允许用户通过任何设备上的任何浏览器连接,不需要客户端软件。该功能在我们位于全球200多个城市的每一个数据中心运行,使体验更贴近你的终端用户。我们还使用Cloudflare Workers构建了该体验,以提供几乎即时的启动时间。未来,我们将支持对用户在其VNC和SSH会话中的行为进行全面审计。

关于VNC的快速复习

VNC是一个建立在远程帧缓冲协议之上的桌面共享平台,允许在任何服务器上建立图形用户界面。它不需要依赖平台,并为管理员提供了简单的方式,使那些不太喜欢用命令行的用户可以使用界面来处理远程机器的工作。或者完成更适合视觉界面的工作。

就我而言,我使用VNC最频繁的原因是为了玩有兼容性问题的游戏。使用虚拟机来运行Windows服务器比买一台新的笔记本电脑要便宜得多。

在大多数商业场景中,VNC不是用来玩游戏的,而是由安全或IT管理要求驱动的。VNC有利于创造一个 "无尘室 "式的环境,让用户能与那些不能转移到个人机器上的安全信息进行交互。

传统的VNC是如何部署的
通常情况下,VNC部署需要在用户的机器上安装软件。该软件允许用户建立VNC连接并呈现VNC服务器的图形用户界面。这就带来了操作系统兼容性(还记得不?VNC理应不依赖平台)、安全性和管理开销的挑战。

管理像VNC浏览器这样的软件通常需要移动设备管理(MDM)软件或用户对他们的机器进行单独修改。由于承包商和外部用户需要通过VNC访问,这就更加复杂了。

VNC部署的挑战
VNC经常被用来为用户创造一个与敏感数据互动的环境。然而,在没有强大的网络配置的情况下,要监控用户何时连接到VNC服务器,在会话期间做什么,可能非常困难。

在最关键的安全问题是,安装在用户机器上的软件,如VNC浏览器,通常很难管理 – 比如与操作系统的兼容性问题,安全更新以及许多其他问题。

与SSH不同的是,大多数服务器和客户端主要使用OpenSSH,有许多商业化和免费的VNC服务器/客户端,其质量和成本各不相同。

我们想解决这个问题!

是时候用浏览器VNC了

渲染GUI的一个主要难题是延迟性--如果用户的鼠标或击键速度很慢,体验就几乎无法使用。使用Cloudflare Tunnel,我们可以在我们的浏览器提供VNC连接,这意味着我们距离99%的互联网用户不到<50毫秒。

为了做到这一点,我们建立了一个完整的VNC浏览器,并在网络浏览器中运行。这通常需要运行一个服务器端的TCP→WebSocket代理(例如websockify,因为现在的浏览器不支持TCP连接)。由于我们已经有了cloudflared + Cloudflare Tunnel,我们可以连接到现有的TCP隧道,并提供一个完全在浏览器中的VNC体验。由于服务器端的代理发生在TCP层面,因此VNC会话在网络客户端和VNC服务器之间是端对端加密的。


一旦我们建立了连接,我们就可以不使用VNC,而浏览器中本地化使用任何VNC服务器。

所有这些都是使用Cloudflare Workers交付的。我们能够在我们的无服务器平台上构建这整个体验,在我们的浏览器感受VNC体验。

最后一步是对进入与你的VNC服务器建立的隧道的流量进行认证。为此,我们可以使用Cloudflare Access,因为它允许我们验证用户的身份并执行额外的安全检查。一旦用户认证通过,他们就会得到一个cookie,在每次向VNC服务器发出请求时都会对这个cookie进行检查。
这样用户就可以使用他们的VNC终端了!



为什么基于浏览器是未来趋势
首先,基于浏览器的体验对用户来说是直截了当的。他们只需要能连接互联网以及他们的SSH和VNC实例的访问地址。而此前他们需要像puTTY客户端和RealVNC这样的软件。

传统的应用程序,包括VNC服务器,成为恶意用户的另一个攻击媒介,因为它们难以监测和保持安全更新的补丁。基于浏览器的VNC意味着我们可以即时推送安全更新,以及利用现代浏览器的内置安全功能(如chromium沙箱)。

可见性是另一项重大改进。在未来的版本中,我们将支持屏幕记录和网络请求记录,以提供在VNC会话期间所有操作的详细信息。我们已可提供关于用户通过浏览器访问他们的VNC或SSH服务器的清晰日志。


回到顶部