Lucian Constantin
网格VPN使用对等架构,网络中的每个节点或者对等点都可以直接连接到任何其他对等点,而无需通过中央集中器或者网关。与传统的VPN相比,这种方法成本更低,更易于扩展。
网格VPN并不是什么新概念,但经过了很长时间才成熟起来,逐渐走出小众应用。直到几年前,传统的中心辐射架构能够很好地满足大部分企业的VPN需求。大部分企业防火墙和网关安全产品都包含了VPN功能,这对于只有少数员工远程工作的很多企业来说是非常方便的。
向基于云的混合基础设施的迁移,以及不断增长的远程员工队伍最终促使网格网解决方案开始大量投入应用。最初应用于需要连接运行在不同云中的虚拟机和节点,这项技术通常被称为“服务网格”,而现在正扩展到连接笔记本电脑和移动电话等传统端点。
David Crawshaw是网格VPN初创公司Tailscale的首席技术官兼联合创始人,曾作为谷歌软件工程师从事分布式系统和实验性基础设施项目,他在接受CSO采访时表示:“我认为,服务网格和网格VPN这两种产品都是旨在解决设备之间安全、私密地移动数据包的问题,因此,从长远来看,它们之间的区别会变得模糊。传统的区别在于设备是虚拟的(虚拟机或者容器)还是实体的(电话、笔记本电脑或者服务器),而这种区别正变得越来越模糊。”
新冠病毒疫情深刻地改变了很多企业的IT运营,迫使他们几乎在一夜之间就不得不适应在家办公的新现实。对于一些企业IT部门来说,这意味着要加快现有的数字化转型计划,以支持远程工作,而有的企业则是匆忙地确定并部署新的解决方案。
Cloudflare、Akamai和谷歌等大型内容交付网络和云供应商目前都提供远程访问解决方案,允许企业通过浏览器将内部应用程序提供给远程工作人员使用,同时强制实施严格的访问控制以及身份和安全检查。但有一个问题:这些产品大多只适用于Web应用程序,这意味着采用其他协议进行通信的应用程序和服务需要通过VPN来访问。
传统上,VPN架构遵循中心辐射模型,其中VPN网关是所有客户端(辐条)连接的中心枢纽。VPN网关还可以相互连接,实现多中心多辐条设计。这种情况在实践中经常出现,因为每一企业办公室或者分支机构都有自己的VPN网关,但它们仍然是网络架构中的瓶颈。
VPN连接使用了加密技术,这是一种计算密集型的工作方式,因此VPN网关是硬件设备,需要足够强的CPU和大容量RAM来支持一定数量的并发用户和连接。如果一家企业突然要支持大量的远程用户,就像在疫情期間所发生的那样,该企业可能需要用更强大的VPN网关来完全替换其现有的VPN网关,或者添加额外的VPN服务器。很多VPN解决方案还附带单个坐席的许可费用,因此企业至少需购买一些坐席。
企业可用的互联网带宽和VPN网关实际的带宽也会限制可支持的并发用户数量。这就是为什么很多企业通常不通过VPN路由员工所有互联网数据流的原因,当他们在不安全的地方使用公共Wi-Fi时,可能会遭受攻击。
另一个问题是,并非所有要访问的IT资源和应用程序都在企业办公室本地。它们可以在云端的虚拟服务器上运行,如果这是他们正在开发并希望共享的应用程序的测试版本,甚至还可以在同事的笔记本电脑上运行。在这些场景中,用户需要首先通过企业的VPN网关,该网关可以位于不同的城市或者地区,然后通过服务器和VPN网关之间的VPN链路返回到终端服务器。这会增加大量的连接延迟,并严重影响性能。
进入对等网格VPN,每个节点都可以直接连接到任何其他对等网络,而不需要中央集中器或者网关。互联网最初便是这样设计的,企业和用户只是在网络中添加的额外节点——那时并没有太多的安全顾虑。
随着时间的推移,互联网发展出一个由一级电信公司、云供应商和内容交付网络组成的主干网,这些网络通过高速互联网交换点相互连接。此外,有限的公共IPv4地址池导致了越来越多的使用包括ISP在内的网络地址转换(NAT),使得互联网越来越像中心辐射架构。IPv6的支持者希望能扭转这一局面。
一些硬件VPN网关支持多点到多点配置,它们的工作方式类似于网格网,但是当客户端和节点发生变化时,需要不断地管理和更新其配置。在多云虚拟机上运行服务和应用程序的环境中,这种情况会经常发生。
Crawshaw解释说:“网络不断地重组。虚拟机在数据中心之间迁移,而电话从办公室迁移到咖啡店。一家公司的办公室会存在30年,并在本地建造专用网络硬件,或者按月租用办公室。通常,当使用术语‘网格时,这意味着端点是自动配置的。也就是说,如果网络上的一台设备被移动,它会与网格网上其他设备重新建立通信,而无需IT管理员的干预。”
网格VPN是通过软件实现的,因此从某种意义上说,它是软件定义的网络,而SD-WAN(软件定义的广域网)这一术语通常指的是为简化和自动化大型数据中心和电信基础设施项目中传统网络设备的集中管理和控制而设计的解决方案。
第一个为网格网设计的开源VPN守护进程是Tinc VPN,它可以追溯到1998年。它可以在几乎所有主要操作系统上工作,包括Windows、Linux、BSD和macOS,并支持自动全网格路由、NAT穿越和桥接以太网段。Tinc为后来的很多项目提供了灵感。
一种更新的开源网格VPN解决方案是2015年出现的ZeroTier,它还有商业背景。ZeroTier将自己描述为“一种适用于全球的智能可编程以太网交换机”,它具有企业级SDN交换机的大部分功能,它位于对等网络(包括分布在本地网或者互联网上的应用程序和设备)顶层,并控制整个网路。其结果是带有网络管理程序的网格VPN,具有增强管理和监视功能、自动对等发现和配置功能,并能通过自定义协议对数据流进行加密。
去年,Slack的软件工程师发布了另一个名为Nebula的开源网格VPN项目,它构建在Noise协议框架之上。他们将Nebula称为“可伸缩的重叠网工具”,旨在创建一个相互认证的对等软件定义网络,该网络可以连接全球各地多个云服务提供商运行的數千个节点。Nebula使用证书颁发机构颁发的证书来识别节点及其一些属性,例如,IP地址、名称和用户定义组中的成员身份。
Slack工程师在Nebula的发布中写道:“大多数云提供商提供某种形式的用户定义的网络主机分组,通常称为‘安全组,允许你根据组成员身份来过滤网络数据流,而不是单独地按照IP地址或者范围进行过滤。然而,在此次发布时,安全组被孤立在托管提供商的每个单独区域中。此外,在不同的托管提供商之间没有可互操作的安全组版本。这意味着,当扩展到多个地区或者提供商时,唯一可行的选择是按IP地址或者IP网络范围进行网络分段,这管理起来非常复杂。考虑到我们的需求,以及缺乏能够满足加密、分段和操作要求的现成选项,我们决定开发自己的解决方案。”
这一领域的另一新品是Crawshaw的Tailscale,它是在新的、高性能WireGuard VPN协议基础上构建的,该协议今年已应用到Linux和OpenBSD内核中。Tailscale并没有使用WireGuard内核代码,而是在Go编程语言编写的协议用户空间中实现,目前可用于Windows、Linux、macOS、iOS和Android。
Tailscale的大部分代码都是开源的,其业务模型围绕一个中央目录服务或者协调节点展开,该节点用于自动对等发现和配置,支持管理员管理基于角色的访问控制和日志记录。对于大型企业部署,Tailscale提供了运行本地协调服务器的选项,但是与传统的VPN网关不同,没有实际的用户数据流通过这些服务器。它们只是用来交换配置信息。
零信任网络被认为是企业网络的未来。在这种体系结构中,每个用户和设备的身份都要先经过验证,然后才能分配信任并允许访问企业资源。在大部分传统的企业网络中,位于内部网络上的设备之所以能够连接到服务器和服务,仅仅是因为它们位于同一个隐含的“可信”网络上,这就是为什么黑客能够如此成功地在网络中横向移动的原因。
大多数网格VPN解决方案是从谷歌的BeyondCorp项目和其他零信任网络概念中汲取灵感,并将重点放在设备或者节点身份验证上。在ZeroTier、Nebula和Tailscale中,节点身份识别是通过某种形式的公共密钥加密在IP层完成的。
Crawshaw介绍说:“传统的物理网络不提供任何身份的概念,而我们已经习惯了这种概念,以至于现在将身份引入网络数据流的工作总是从更高层次的抽象(例如,HTTPS/TLS)开始,但这不是必须的。可以使用网络隧道和现代加密技术来确保数据包的IP源地址能够准确地描述是谁真正发送了它。将这一概念转移到IP层的好处是它可以与现有软件兼容。你可以利用现有的内部工具,逐步将其迁移到私有虚拟网上,在那里所有发送者和接收者的身份都是已知的,然后慢慢地关闭通过传统网络的访问。你不必重写所有软件来识别身份。”
例如,WireGuard协议引入了加密密钥路由的概念,其中节点的公共密钥与允许节点在VPN隧道内拥有的IP地址列表相绑定。这意味着如果节点的私有密钥一直是安全的,那么不可能在网络上假冒节点。这使得网络管理员和安全部门能够确保某些应用程序或者资源只能在网格网上对非常特定的设备和用户可见和可访问。
除了在协议层面执行的设备身份检查之外,网格VPN还可以执行用户身份检查。例如,Tailscale支持与最常见的身份识别提供商(已经被谷歌、微软、Okta和SAP等企业使用)相集成,并通过它们支持多重身份验证。
企业还可以选择将可访问非HTTP应用的网格VPN解决方案与零信任访问网关(如Akamai、Cloudflare或者谷歌提供的网关)的服务结合使用,以访问其Web应用程序。这些解决方案还通过浏览器或者通过安装在端点上的独立轻量级客户端执行设备安全检查。
Lucian Constantin是CSO的资深作家,其兴趣涉及信息安全、隐私和数据保护。
原文网址
https://www.csoonline.com/article/3575088/mesh-vpns-explained-another-step-toward-zero-trust-networking.html