Lucian Constantin
網(wǎng)格VPN使用對(duì)等架構(gòu),網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)或者對(duì)等點(diǎn)都可以直接連接到任何其他對(duì)等點(diǎn),而無需通過中央集中器或者網(wǎng)關(guān)。與傳統(tǒng)的VPN相比,這種方法成本更低,更易于擴(kuò)展。
網(wǎng)格VPN并不是什么新概念,但經(jīng)過了很長(zhǎng)時(shí)間才成熟起來,逐漸走出小眾應(yīng)用。直到幾年前,傳統(tǒng)的中心輻射架構(gòu)能夠很好地滿足大部分企業(yè)的VPN需求。大部分企業(yè)防火墻和網(wǎng)關(guān)安全產(chǎn)品都包含了VPN功能,這對(duì)于只有少數(shù)員工遠(yuǎn)程工作的很多企業(yè)來說是非常方便的。
向基于云的混合基礎(chǔ)設(shè)施的遷移,以及不斷增長(zhǎng)的遠(yuǎn)程員工隊(duì)伍最終促使網(wǎng)格網(wǎng)解決方案開始大量投入應(yīng)用。最初應(yīng)用于需要連接運(yùn)行在不同云中的虛擬機(jī)和節(jié)點(diǎn),這項(xiàng)技術(shù)通常被稱為“服務(wù)網(wǎng)格”,而現(xiàn)在正擴(kuò)展到連接筆記本電腦和移動(dòng)電話等傳統(tǒng)端點(diǎn)。
David Crawshaw是網(wǎng)格VPN初創(chuàng)公司Tailscale的首席技術(shù)官兼聯(lián)合創(chuàng)始人,曾作為谷歌軟件工程師從事分布式系統(tǒng)和實(shí)驗(yàn)性基礎(chǔ)設(shè)施項(xiàng)目,他在接受CSO采訪時(shí)表示:“我認(rèn)為,服務(wù)網(wǎng)格和網(wǎng)格VPN這兩種產(chǎn)品都是旨在解決設(shè)備之間安全、私密地移動(dòng)數(shù)據(jù)包的問題,因此,從長(zhǎng)遠(yuǎn)來看,它們之間的區(qū)別會(huì)變得模糊。傳統(tǒng)的區(qū)別在于設(shè)備是虛擬的(虛擬機(jī)或者容器)還是實(shí)體的(電話、筆記本電腦或者服務(wù)器),而這種區(qū)別正變得越來越模糊?!?h3>為什么網(wǎng)格VPN越來越流行
新冠病毒疫情深刻地改變了很多企業(yè)的IT運(yùn)營(yíng),迫使他們幾乎在一夜之間就不得不適應(yīng)在家辦公的新現(xiàn)實(shí)。對(duì)于一些企業(yè)IT部門來說,這意味著要加快現(xiàn)有的數(shù)字化轉(zhuǎn)型計(jì)劃,以支持遠(yuǎn)程工作,而有的企業(yè)則是匆忙地確定并部署新的解決方案。
Cloudflare、Akamai和谷歌等大型內(nèi)容交付網(wǎng)絡(luò)和云供應(yīng)商目前都提供遠(yuǎn)程訪問解決方案,允許企業(yè)通過瀏覽器將內(nèi)部應(yīng)用程序提供給遠(yuǎn)程工作人員使用,同時(shí)強(qiáng)制實(shí)施嚴(yán)格的訪問控制以及身份和安全檢查。但有一個(gè)問題:這些產(chǎn)品大多只適用于Web應(yīng)用程序,這意味著采用其他協(xié)議進(jìn)行通信的應(yīng)用程序和服務(wù)需要通過VPN來訪問。
傳統(tǒng)上,VPN架構(gòu)遵循中心輻射模型,其中VPN網(wǎng)關(guān)是所有客戶端(輻條)連接的中心樞紐。VPN網(wǎng)關(guān)還可以相互連接,實(shí)現(xiàn)多中心多輻條設(shè)計(jì)。這種情況在實(shí)踐中經(jīng)常出現(xiàn),因?yàn)槊恳黄髽I(yè)辦公室或者分支機(jī)構(gòu)都有自己的VPN網(wǎng)關(guān),但它們?nèi)匀皇蔷W(wǎng)絡(luò)架構(gòu)中的瓶頸。
VPN連接使用了加密技術(shù),這是一種計(jì)算密集型的工作方式,因此VPN網(wǎng)關(guān)是硬件設(shè)備,需要足夠強(qiáng)的CPU和大容量RAM來支持一定數(shù)量的并發(fā)用戶和連接。如果一家企業(yè)突然要支持大量的遠(yuǎn)程用戶,就像在疫情期間所發(fā)生的那樣,該企業(yè)可能需要用更強(qiáng)大的VPN網(wǎng)關(guān)來完全替換其現(xiàn)有的VPN網(wǎng)關(guān),或者添加額外的VPN服務(wù)器。很多VPN解決方案還附帶單個(gè)坐席的許可費(fèi)用,因此企業(yè)至少需購(gòu)買一些坐席。
企業(yè)可用的互聯(lián)網(wǎng)帶寬和VPN網(wǎng)關(guān)實(shí)際的帶寬也會(huì)限制可支持的并發(fā)用戶數(shù)量。這就是為什么很多企業(yè)通常不通過VPN路由員工所有互聯(lián)網(wǎng)數(shù)據(jù)流的原因,當(dāng)他們?cè)诓话踩牡胤绞褂霉瞁i-Fi時(shí),可能會(huì)遭受攻擊。
另一個(gè)問題是,并非所有要訪問的IT資源和應(yīng)用程序都在企業(yè)辦公室本地。它們可以在云端的虛擬服務(wù)器上運(yùn)行,如果這是他們正在開發(fā)并希望共享的應(yīng)用程序的測(cè)試版本,甚至還可以在同事的筆記本電腦上運(yùn)行。在這些場(chǎng)景中,用戶需要首先通過企業(yè)的VPN網(wǎng)關(guān),該網(wǎng)關(guān)可以位于不同的城市或者地區(qū),然后通過服務(wù)器和VPN網(wǎng)關(guān)之間的VPN鏈路返回到終端服務(wù)器。這會(huì)增加大量的連接延遲,并嚴(yán)重影響性能。
進(jìn)入對(duì)等網(wǎng)格VPN,每個(gè)節(jié)點(diǎn)都可以直接連接到任何其他對(duì)等網(wǎng)絡(luò),而不需要中央集中器或者網(wǎng)關(guān)。互聯(lián)網(wǎng)最初便是這樣設(shè)計(jì)的,企業(yè)和用戶只是在網(wǎng)絡(luò)中添加的額外節(jié)點(diǎn)——那時(shí)并沒有太多的安全顧慮。
隨著時(shí)間的推移,互聯(lián)網(wǎng)發(fā)展出一個(gè)由一級(jí)電信公司、云供應(yīng)商和內(nèi)容交付網(wǎng)絡(luò)組成的主干網(wǎng),這些網(wǎng)絡(luò)通過高速互聯(lián)網(wǎng)交換點(diǎn)相互連接。此外,有限的公共IPv4地址池導(dǎo)致了越來越多的使用包括ISP在內(nèi)的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT),使得互聯(lián)網(wǎng)越來越像中心輻射架構(gòu)。IPv6的支持者希望能扭轉(zhuǎn)這一局面。
一些硬件VPN網(wǎng)關(guān)支持多點(diǎn)到多點(diǎn)配置,它們的工作方式類似于網(wǎng)格網(wǎng),但是當(dāng)客戶端和節(jié)點(diǎn)發(fā)生變化時(shí),需要不斷地管理和更新其配置。在多云虛擬機(jī)上運(yùn)行服務(wù)和應(yīng)用程序的環(huán)境中,這種情況會(huì)經(jīng)常發(fā)生。
Crawshaw解釋說:“網(wǎng)絡(luò)不斷地重組。虛擬機(jī)在數(shù)據(jù)中心之間遷移,而電話從辦公室遷移到咖啡店。一家公司的辦公室會(huì)存在30年,并在本地建造專用網(wǎng)絡(luò)硬件,或者按月租用辦公室。通常,當(dāng)使用術(shù)語‘網(wǎng)格時(shí),這意味著端點(diǎn)是自動(dòng)配置的。也就是說,如果網(wǎng)絡(luò)上的一臺(tái)設(shè)備被移動(dòng),它會(huì)與網(wǎng)格網(wǎng)上其他設(shè)備重新建立通信,而無需IT管理員的干預(yù)。”
網(wǎng)格VPN是通過軟件實(shí)現(xiàn)的,因此從某種意義上說,它是軟件定義的網(wǎng)絡(luò),而SD-WAN(軟件定義的廣域網(wǎng))這一術(shù)語通常指的是為簡(jiǎn)化和自動(dòng)化大型數(shù)據(jù)中心和電信基礎(chǔ)設(shè)施項(xiàng)目中傳統(tǒng)網(wǎng)絡(luò)設(shè)備的集中管理和控制而設(shè)計(jì)的解決方案。
第一個(gè)為網(wǎng)格網(wǎng)設(shè)計(jì)的開源VPN守護(hù)進(jìn)程是Tinc VPN,它可以追溯到1998年。它可以在幾乎所有主要操作系統(tǒng)上工作,包括Windows、Linux、BSD和macOS,并支持自動(dòng)全網(wǎng)格路由、NAT穿越和橋接以太網(wǎng)段。Tinc為后來的很多項(xiàng)目提供了靈感。
一種更新的開源網(wǎng)格VPN解決方案是2015年出現(xiàn)的ZeroTier,它還有商業(yè)背景。ZeroTier將自己描述為“一種適用于全球的智能可編程以太網(wǎng)交換機(jī)”,它具有企業(yè)級(jí)SDN交換機(jī)的大部分功能,它位于對(duì)等網(wǎng)絡(luò)(包括分布在本地網(wǎng)或者互聯(lián)網(wǎng)上的應(yīng)用程序和設(shè)備)頂層,并控制整個(gè)網(wǎng)路。其結(jié)果是帶有網(wǎng)絡(luò)管理程序的網(wǎng)格VPN,具有增強(qiáng)管理和監(jiān)視功能、自動(dòng)對(duì)等發(fā)現(xiàn)和配置功能,并能通過自定義協(xié)議對(duì)數(shù)據(jù)流進(jìn)行加密。
去年,Slack的軟件工程師發(fā)布了另一個(gè)名為Nebula的開源網(wǎng)格VPN項(xiàng)目,它構(gòu)建在Noise協(xié)議框架之上。他們將Nebula稱為“可伸縮的重疊網(wǎng)工具”,旨在創(chuàng)建一個(gè)相互認(rèn)證的對(duì)等軟件定義網(wǎng)絡(luò),該網(wǎng)絡(luò)可以連接全球各地多個(gè)云服務(wù)提供商運(yùn)行的數(shù)千個(gè)節(jié)點(diǎn)。Nebula使用證書頒發(fā)機(jī)構(gòu)頒發(fā)的證書來識(shí)別節(jié)點(diǎn)及其一些屬性,例如,IP地址、名稱和用戶定義組中的成員身份。
Slack工程師在Nebula的發(fā)布中寫道:“大多數(shù)云提供商提供某種形式的用戶定義的網(wǎng)絡(luò)主機(jī)分組,通常稱為‘安全組,允許你根據(jù)組成員身份來過濾網(wǎng)絡(luò)數(shù)據(jù)流,而不是單獨(dú)地按照IP地址或者范圍進(jìn)行過濾。然而,在此次發(fā)布時(shí),安全組被孤立在托管提供商的每個(gè)單獨(dú)區(qū)域中。此外,在不同的托管提供商之間沒有可互操作的安全組版本。這意味著,當(dāng)擴(kuò)展到多個(gè)地區(qū)或者提供商時(shí),唯一可行的選擇是按IP地址或者IP網(wǎng)絡(luò)范圍進(jìn)行網(wǎng)絡(luò)分段,這管理起來非常復(fù)雜??紤]到我們的需求,以及缺乏能夠滿足加密、分段和操作要求的現(xiàn)成選項(xiàng),我們決定開發(fā)自己的解決方案。”
這一領(lǐng)域的另一新品是Crawshaw的Tailscale,它是在新的、高性能WireGuard VPN協(xié)議基礎(chǔ)上構(gòu)建的,該協(xié)議今年已應(yīng)用到Linux和OpenBSD內(nèi)核中。Tailscale并沒有使用WireGuard內(nèi)核代碼,而是在Go編程語言編寫的協(xié)議用戶空間中實(shí)現(xiàn),目前可用于Windows、Linux、macOS、iOS和Android。
Tailscale的大部分代碼都是開源的,其業(yè)務(wù)模型圍繞一個(gè)中央目錄服務(wù)或者協(xié)調(diào)節(jié)點(diǎn)展開,該節(jié)點(diǎn)用于自動(dòng)對(duì)等發(fā)現(xiàn)和配置,支持管理員管理基于角色的訪問控制和日志記錄。對(duì)于大型企業(yè)部署,Tailscale提供了運(yùn)行本地協(xié)調(diào)服務(wù)器的選項(xiàng),但是與傳統(tǒng)的VPN網(wǎng)關(guān)不同,沒有實(shí)際的用戶數(shù)據(jù)流通過這些服務(wù)器。它們只是用來交換配置信息。
零信任網(wǎng)絡(luò)被認(rèn)為是企業(yè)網(wǎng)絡(luò)的未來。在這種體系結(jié)構(gòu)中,每個(gè)用戶和設(shè)備的身份都要先經(jīng)過驗(yàn)證,然后才能分配信任并允許訪問企業(yè)資源。在大部分傳統(tǒng)的企業(yè)網(wǎng)絡(luò)中,位于內(nèi)部網(wǎng)絡(luò)上的設(shè)備之所以能夠連接到服務(wù)器和服務(wù),僅僅是因?yàn)樗鼈兾挥谕粋€(gè)隱含的“可信”網(wǎng)絡(luò)上,這就是為什么黑客能夠如此成功地在網(wǎng)絡(luò)中橫向移動(dòng)的原因。
大多數(shù)網(wǎng)格VPN解決方案是從谷歌的BeyondCorp項(xiàng)目和其他零信任網(wǎng)絡(luò)概念中汲取靈感,并將重點(diǎn)放在設(shè)備或者節(jié)點(diǎn)身份驗(yàn)證上。在ZeroTier、Nebula和Tailscale中,節(jié)點(diǎn)身份識(shí)別是通過某種形式的公共密鑰加密在IP層完成的。
Crawshaw介紹說:“傳統(tǒng)的物理網(wǎng)絡(luò)不提供任何身份的概念,而我們已經(jīng)習(xí)慣了這種概念,以至于現(xiàn)在將身份引入網(wǎng)絡(luò)數(shù)據(jù)流的工作總是從更高層次的抽象(例如,HTTPS/TLS)開始,但這不是必須的??梢允褂镁W(wǎng)絡(luò)隧道和現(xiàn)代加密技術(shù)來確保數(shù)據(jù)包的IP源地址能夠準(zhǔn)確地描述是誰真正發(fā)送了它。將這一概念轉(zhuǎn)移到IP層的好處是它可以與現(xiàn)有軟件兼容。你可以利用現(xiàn)有的內(nèi)部工具,逐步將其遷移到私有虛擬網(wǎng)上,在那里所有發(fā)送者和接收者的身份都是已知的,然后慢慢地關(guān)閉通過傳統(tǒng)網(wǎng)絡(luò)的訪問。你不必重寫所有軟件來識(shí)別身份?!?/p>
例如,WireGuard協(xié)議引入了加密密鑰路由的概念,其中節(jié)點(diǎn)的公共密鑰與允許節(jié)點(diǎn)在VPN隧道內(nèi)擁有的IP地址列表相綁定。這意味著如果節(jié)點(diǎn)的私有密鑰一直是安全的,那么不可能在網(wǎng)絡(luò)上假冒節(jié)點(diǎn)。這使得網(wǎng)絡(luò)管理員和安全部門能夠確保某些應(yīng)用程序或者資源只能在網(wǎng)格網(wǎng)上對(duì)非常特定的設(shè)備和用戶可見和可訪問。
除了在協(xié)議層面執(zhí)行的設(shè)備身份檢查之外,網(wǎng)格VPN還可以執(zhí)行用戶身份檢查。例如,Tailscale支持與最常見的身份識(shí)別提供商(已經(jīng)被谷歌、微軟、Okta和SAP等企業(yè)使用)相集成,并通過它們支持多重身份驗(yàn)證。
企業(yè)還可以選擇將可訪問非HTTP應(yīng)用的網(wǎng)格VPN解決方案與零信任訪問網(wǎng)關(guān)(如Akamai、Cloudflare或者谷歌提供的網(wǎng)關(guān))的服務(wù)結(jié)合使用,以訪問其Web應(yīng)用程序。這些解決方案還通過瀏覽器或者通過安裝在端點(diǎn)上的獨(dú)立輕量級(jí)客戶端執(zhí)行設(shè)備安全檢查。
Lucian Constantin是CSO的資深作家,其興趣涉及信息安全、隱私和數(shù)據(jù)保護(hù)。
原文網(wǎng)址
https://www.csoonline.com/article/3575088/mesh-vpns-explained-another-step-toward-zero-trust-networking.html