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