曾理,胡曉勤,龔勛
(四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,成都 610065)
自云計算概念提出后,云計算的發(fā)展主要經(jīng)歷了三個階段,初級階段中以虛擬化技術(shù)為基石,表現(xiàn)為基礎(chǔ)設(shè)施與服務(wù)資源虛擬化,第二階段中以軟件定義服務(wù)為目標(biāo),提出了軟件定義網(wǎng)絡(luò)以及軟件定義存儲等技術(shù),目前正在步入由混合異構(gòu)的多種公有云形成的全面多云階段,多云已經(jīng)成為云計算發(fā)展的必經(jīng)階段[1]。
同時伴隨著云計算發(fā)展的是其復(fù)雜的安全問題,在傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)中,用戶數(shù)據(jù)放在自己控制的數(shù)據(jù)中心,攻擊者利用軟件漏洞或惡意軟件對某個用戶進(jìn)行攻擊,通常只會對該用戶產(chǎn)生影響。然而,在多云計算環(huán)境下,面臨著虛擬網(wǎng)絡(luò)邊界模糊化與網(wǎng)絡(luò)攻擊集中化的風(fēng)險,一旦攻擊者集中攻擊云端服務(wù),將有可能會對云上大量用戶造成影響,大量用戶的數(shù)據(jù)面臨著竊取、篡改、丟失等威脅[2]。網(wǎng)絡(luò)攻擊僅需要極小的成本就可能造成大范圍的破壞與損失。
目前,為了充分發(fā)揮公有云的優(yōu)勢,同時又具有私有云的安全性與機密性,各大云平臺都推出了虛擬私有云(Virtual Private Cloud,VPC)服務(wù)。VPC是基于公有云平臺構(gòu)建的私有網(wǎng)絡(luò)空間,不同的私有網(wǎng)絡(luò)間邏輯上完全隔離[3],由于其靈活部署與安全可靠的優(yōu)勢,已經(jīng)成為用戶上云的主要方式。為了避免被單一公有云平臺鎖定,用戶通常會在不同云平臺的虛擬私有云中構(gòu)建數(shù)據(jù)中心。但由于各個云平臺的相互競爭關(guān)系,都在尋求提供差異化云產(chǎn)品的手段,云平臺底層網(wǎng)絡(luò)虛擬化技術(shù)有所不同,造成了不同虛擬私有云網(wǎng)絡(luò)異構(gòu)問題[4]。
如今多云策略已經(jīng)成為云計算的新常態(tài),絕大多數(shù)企業(yè)都將選擇多個公有云平臺來提高安全合規(guī)性、容災(zāi)備份與業(yè)務(wù)連續(xù)性、跨地域性以及業(yè)務(wù)多樣性等多方面的能力[5]。多云環(huán)境意味企業(yè)需要將位于不同云平臺的資源進(jìn)行整合,實現(xiàn)虛擬私有云跨云組網(wǎng)是云上基礎(chǔ)設(shè)施建設(shè)的核心訴求。因此,如何保證多云環(huán)境下虛擬私有云間的安全通信,實現(xiàn)安全的互聯(lián)互通成為了企業(yè)成功構(gòu)建多云數(shù)據(jù)中心的關(guān)鍵問題。
本文將利用現(xiàn)有的虛擬專用網(wǎng)絡(luò)(Virtual Private Network,VPN)技術(shù),結(jié)合公有云平臺網(wǎng)絡(luò)虛擬化技術(shù)以及管理策略,研究多云環(huán)境下虛擬私有云安全通信。比較了現(xiàn)有的解決方案及其適用場景和優(yōu)劣性,提出一種跨多個云平臺實現(xiàn)VPC安全通信的方案,通過創(chuàng)建安全的網(wǎng)絡(luò)隧道,使用戶可以跨云訪問資源,并提出一種多云環(huán)境下的網(wǎng)絡(luò)通信管理架構(gòu)與方法,可管理數(shù)據(jù)的跨云通信、同步與安全傳輸。
目前,針對云環(huán)境下的網(wǎng)絡(luò)通信服務(wù),許多公有云平臺都提出了基本的解決方案,不同云平臺的解決方案在服務(wù)形式、應(yīng)用場景、實現(xiàn)方式上有所不同。
國內(nèi)的云平臺中,阿里云與騰訊云占據(jù)了主要份額,在其VPC的網(wǎng)絡(luò)通信方面的解決方案大體相同。訪問VPC內(nèi)部資源的方式主要方式兩種,一是將VPC內(nèi)的云資源分配固定的公網(wǎng)IP或者多臺資源配置NAT網(wǎng)關(guān),通過公網(wǎng)IP實現(xiàn)公網(wǎng)間通信。二是利用負(fù)載均衡服務(wù),基于端口提供四層和七層負(fù)載均衡功能,將訪問流量均衡分發(fā)到云資源從而提供對外通信服務(wù),支持租戶從公網(wǎng)通過負(fù)載均衡訪問VPC內(nèi)資源[6]。這兩種方式都只能實現(xiàn)公網(wǎng)到VPC內(nèi)部的訪問,破壞了VPC資源的私密性,而且在VPC內(nèi)部資源數(shù)量龐大的情況下并不適用。在連接其他數(shù)據(jù)中心方面,可以通過VPN連接、專線接入和云聯(lián)網(wǎng)三種方式。其中VPN連接通過公網(wǎng)加密通道連接,但只能配置連接同一云平臺的其他VPC,不滿足多云平臺業(yè)務(wù)需求;專線接入需使用物理專線,成本昂貴且靈活性低;云聯(lián)網(wǎng)僅可通過云平臺內(nèi)網(wǎng)連通同一平臺下同一租戶的VPC。
國外的云平臺中,Amazon AWS為其構(gòu)建的VPC提供了三種通信連接服務(wù)[7],主要方式是在租戶創(chuàng)建的VPC中提供VPN連接服務(wù),分別實現(xiàn)租戶本地數(shù)據(jù)中心到VPC的連接、同一租戶VPC到VPC的連接以及租戶本地終端到VPC的連接。前兩種屬于站點到站點的VPN 連接,當(dāng)租戶創(chuàng)建這兩種VPN連接時,AWS要求租戶分別創(chuàng)建連接兩端的網(wǎng)關(guān)資源,包括虛擬專用網(wǎng)關(guān)和客戶網(wǎng)關(guān)[8]。最后一種屬于端到站點的連接,基于SSL協(xié)議實現(xiàn)。但其VPN連接都僅限于云內(nèi)部,無法直接實現(xiàn)跨云平臺間的VPC互通,不能與其他云平臺VPC建立對等連接。
在學(xué)術(shù)研究領(lǐng)域,對于云環(huán)境下的安全通信方向,主要集中在傳統(tǒng)VPN技術(shù)方面,旨在提供更安全可靠、效率更高的加密隧道技術(shù)。但傳統(tǒng)的VPN部署大部分采用集中式網(wǎng)關(guān)方案,在大規(guī)模網(wǎng)絡(luò)環(huán)境中容易產(chǎn)生網(wǎng)絡(luò)延遲,引起網(wǎng)絡(luò)瓶頸,往往難以直接應(yīng)用到云計算的虛擬網(wǎng)絡(luò)環(huán)境。研究人員為此提出了云環(huán)境下的VPN部署方式與產(chǎn)品形態(tài)[9],聚焦動態(tài)VPN方案,提出了將網(wǎng)絡(luò)虛擬化、軟件定義網(wǎng)絡(luò)應(yīng)用到VPN服務(wù)的框架[10],但始終沒有形成云環(huán)境下統(tǒng)一通用的VPN服務(wù)標(biāo)準(zhǔn),在虛擬網(wǎng)絡(luò)場景下,出現(xiàn)了網(wǎng)絡(luò)統(tǒng)一控制困難、管理復(fù)雜、安全策略配置繁瑣等問題[11]。
在多云網(wǎng)絡(luò)環(huán)境下,實現(xiàn)虛擬私有云跨云組網(wǎng)是云上基礎(chǔ)設(shè)施建設(shè)的核心訴求,它保證了分布在不同地域、不同云平臺中的計算資源能夠?qū)崿F(xiàn)在私有網(wǎng)絡(luò)中的自由互訪,使企業(yè)具備了部署多云資源集群的能力。在虛擬私有云之間實現(xiàn)網(wǎng)絡(luò)的安全連接,能夠達(dá)成信息的跨云傳輸與跨云資源整合。其面臨的主要挑戰(zhàn)是對跨云連接網(wǎng)絡(luò)的安全性、穩(wěn)定性、配置敏捷性需求。本文將基于VPN技術(shù)適用于多云環(huán)境來實現(xiàn)該目標(biāo)。
本文基于VPN技術(shù)的VPC網(wǎng)絡(luò)通信架構(gòu)如圖1所示。租戶通常會在云平臺上部署多個VPC,滿足多業(yè)務(wù)需求,構(gòu)建成云上數(shù)據(jù)中心。通常情況下,VPC間默認(rèn)內(nèi)網(wǎng)隔離,通過虛擬網(wǎng)絡(luò)技術(shù),經(jīng)由中心虛擬路由與外部通信。本架構(gòu)在不同的VPC內(nèi)部部署安全網(wǎng)關(guān)節(jié)點,可選擇特定VPN服務(wù)提供商實現(xiàn)該節(jié)點的IPSecVPN功能,內(nèi)部云資源通過此節(jié)點與外部通信。采用這種自定義網(wǎng)關(guān)節(jié)點的方式,可以解決公有云平臺未提供統(tǒng)一的跨云通信問題,實現(xiàn)與對端不同的云平臺(如華為云、騰訊云、阿里云)網(wǎng)絡(luò)互通,并不破壞VPC內(nèi)部資源的私密性。安全網(wǎng)關(guān)節(jié)點通過使用隧道技術(shù)和加密技術(shù)建立專用數(shù)據(jù)通信通道,可以屏蔽底層的虛擬網(wǎng)絡(luò)細(xì)節(jié),通過身份認(rèn)證及加解密的安全機制保證通信流量的機密性與完整性??缭破脚_的通信流量根據(jù)匹配安全策略在安全網(wǎng)關(guān)節(jié)點實現(xiàn)加密,經(jīng)過公網(wǎng)路由傳輸?shù)侥康墓?jié)點后再進(jìn)行解密還原為原始數(shù)據(jù)流,實現(xiàn)安全網(wǎng)絡(luò)通信,有助于企業(yè)建立多云平臺的云上數(shù)據(jù)中心。
圖1 多云環(huán)境下VPC的網(wǎng)絡(luò)通信架構(gòu)
此架構(gòu)的優(yōu)勢在于,實現(xiàn)了跨公有云平臺的VPC通信,適用于多云環(huán)境,且具有統(tǒng)一性,彌補了現(xiàn)有云平臺解決方案的不足,且成本可控。面對多云環(huán)境,滿足了多云業(yè)務(wù)需求,可在保證VPC私密性的前提下構(gòu)建多云數(shù)據(jù)中心。并且完全不影響數(shù)據(jù)中心原有的網(wǎng)絡(luò)架構(gòu),僅針對目標(biāo)網(wǎng)絡(luò)流量進(jìn)行處理,便捷添加互通網(wǎng)絡(luò)站點。租戶可以按業(yè)務(wù)需求針對不同的VPC靈活配置、按需部署安全網(wǎng)關(guān)節(jié)點,具有靈活性與細(xì)粒度性。
多云環(huán)境隨之帶來的是復(fù)雜的管理問題,企業(yè)可能會發(fā)現(xiàn)云平臺提供的管理工具難以應(yīng)對各類場景。對于多云網(wǎng)絡(luò)管理,出現(xiàn)了虛擬網(wǎng)絡(luò)環(huán)境下網(wǎng)絡(luò)管理復(fù)雜,安全策略配置繁瑣,人工技術(shù)成本要求過高等問題。因此虛擬私有云的通信需要有一個統(tǒng)一的網(wǎng)絡(luò)管理平臺,以避免當(dāng)租戶擁有多個VPC并部署多臺安全網(wǎng)關(guān)時,人為地登錄到不同云平臺,手動為每一臺安全網(wǎng)關(guān)單向配置策略。基于以上情況,本文設(shè)計一種多云環(huán)境下對虛擬私有云網(wǎng)絡(luò)通信的統(tǒng)一管理方案,主要提出一種跨云的安全網(wǎng)關(guān)管理平臺。以騰訊云與阿里云為例,該方案整體架構(gòu)如圖2所示。
圖2 多云環(huán)境下VPC網(wǎng)絡(luò)通信管理架構(gòu)
面對多云部署場景,通過該平臺可建立獨立自主的安全網(wǎng)關(guān)集群,并對這些獨立的網(wǎng)關(guān)集群進(jìn)行聯(lián)合統(tǒng)一管理。且可以針對多個云平臺實現(xiàn)跨云管理,避免在單個云平臺內(nèi)部逐一配置網(wǎng)絡(luò)節(jié)點,同時整個過程應(yīng)對租戶透明,隱藏底層異構(gòu)網(wǎng)絡(luò),自動化實現(xiàn)VPC連通。具有統(tǒng)一性、跨云性與便捷性。
從租戶操作角度,只需要通過管理平臺,授權(quán)管理平臺對其云資源的操作。并彈性按需選擇需要建互聯(lián)通信的VPC,VPC可分別位于不同云端,即可自動化實現(xiàn)跨云的VPC通信,其實現(xiàn)架構(gòu)如圖3所示。
圖3 基于統(tǒng)一管理平臺的VPC通信架構(gòu)
最終整個VPC建立通信過程對租戶是無感知的,具備自動性、便利性與統(tǒng)一性等特點。統(tǒng)一管理平臺的核心功能為管理VPC的連通性,向安全網(wǎng)關(guān)節(jié)點統(tǒng)一下發(fā)連接配置與安全策略。網(wǎng)關(guān)節(jié)點核心功能為響應(yīng)保護(hù)策略,實現(xiàn)IPSec VPN功能,通過該架構(gòu)建立安全連接隧道,實現(xiàn)VPC的連通,并加密跨云數(shù)據(jù)流量。
2.3.1 多云網(wǎng)絡(luò)管理平臺組件
多云網(wǎng)絡(luò)管理平臺可作為一個SaaS服務(wù),如圖4所示,主要工作包括用戶授權(quán)、處理連通需求、配置安全網(wǎng)關(guān)與處理狀態(tài)消息等。為租戶提供簡易的自動化管理功能,管理VPC間的網(wǎng)絡(luò)連通性。
圖4 管理平臺組件的主要工作流程
該組件主要負(fù)責(zé)獲取云連接租戶的授權(quán)、獲取跨云的VPC網(wǎng)絡(luò)信息、向安全網(wǎng)關(guān)下發(fā)安全策略、實現(xiàn)統(tǒng)一的跨云的網(wǎng)關(guān)聯(lián)動配置等。結(jié)合公有云API,關(guān)鍵實現(xiàn)工作流程如下。
(1)租戶通過管理平臺,使用安全憑證與云平臺進(jìn)行身份認(rèn)證。安全憑證包含SecretId及SecretKey兩部分。SecretId用于標(biāo)識租戶身份,SecretKey用于加密簽名字符串和云平臺服務(wù)器端驗證簽名字符串的密鑰。通過使用TC3-HMAC-SHA256簽名方法,計算派生簽名密鑰,并生成簽名結(jié)果,此后每次向云平臺的請求都指定該簽名結(jié)果。關(guān)鍵偽代碼如下:
(2)完成身份認(rèn)證后,通過認(rèn)證對象調(diào)用DescribeVpcs方法發(fā)起請求,解析返回數(shù)據(jù),通過DomainName與CidrBlock字段獲取云平臺內(nèi)的VPC子網(wǎng)信息。根據(jù)租戶的通信需求,處理網(wǎng)絡(luò)通信請求,分別調(diào)用RunInstances服務(wù)支持,使用ImageId字段指定特定的IPSec VPN鏡像創(chuàng)建安全網(wǎng)關(guān)節(jié)點。并與安全網(wǎng)關(guān)協(xié)商出IPSec隧道rest_tunnel,用于保護(hù)安全網(wǎng)關(guān)與管理平臺交互的協(xié)議報文;
(3)根據(jù)租戶的VPC信息與保護(hù)子網(wǎng)信息,配置安全網(wǎng)關(guān)節(jié)點。自動為安全網(wǎng)關(guān)生成能完成VPC通信的安全保護(hù)策略SP,包括IKE策略、IPSEC策略以及兩端的連接信息。將SP封裝成RESTful協(xié)議報文通過rest_tunnel加密推送到位于不同的云平臺的安全網(wǎng)關(guān)。
(4)接收安全網(wǎng)關(guān)返回的創(chuàng)建狀態(tài)消息statusMessage報文,處理異常狀態(tài),確保成功通信并保留VPC與子網(wǎng)的連通狀態(tài)信息。
2.3.2 安全網(wǎng)關(guān)節(jié)點組件
安全網(wǎng)關(guān)節(jié)點位于不同云平臺的VPC內(nèi)部。如圖5所示主要工作包含本地配置、處理安全策略、保護(hù)目標(biāo)流量。由統(tǒng)一管理平臺創(chuàng)建,主要實現(xiàn)跨云隧道建立與數(shù)據(jù)加密,實現(xiàn)VPC的安全互通。
圖5 安全網(wǎng)關(guān)組件主要工作流程
該組件主要負(fù)責(zé)接收管理平臺的調(diào)度,解析管理平臺的安全策略、根據(jù)安全策略建立隧道與跨云數(shù)據(jù)加解密等。結(jié)合VPN技術(shù),關(guān)鍵實現(xiàn)工作流程如下。
(1)安全網(wǎng)關(guān)節(jié)點創(chuàng)建成功時,自啟動與管理平臺交互的進(jìn)程和VPN功能進(jìn)程,等待管理平臺發(fā)起隧道連接請求,建立rest_tunnel隧道。同時向云平臺調(diào)用Vpc CreateRoutes接口,更改路由表。將待通信的對端VPC的子網(wǎng)傳入DestinationCidrBlock參數(shù),通過虛擬路由,所有跨云的流量將會經(jīng)過此節(jié)點。
(2)解析管理平臺發(fā)送的RESTful報文,處理安全策略SP。根據(jù)SP,自動與對端云平臺的安全網(wǎng)關(guān)通過IKE協(xié)議協(xié)商保護(hù)子網(wǎng)信息和IPSec隧道,建立安全連接。SP的簡要結(jié)構(gòu)體如下:
(3)此后檢測跨云數(shù)據(jù)流量,與SP進(jìn)行匹配,根據(jù)SP確定興趣流,通過上一階段協(xié)商出的安全聯(lián)盟SA,對興趣流IP數(shù)據(jù)包添加封裝安全載荷ESP,使用對稱密碼算法加密流量后通過IPSec隧道轉(zhuǎn)發(fā)至對端VPC。
本文采用國內(nèi)主流公有云平臺騰訊云與阿里云進(jìn)行實驗部署,測試多云環(huán)境下跨云平臺通信方案的可行性。如圖6所示,兩個虛擬私有云分別位于不同的云平臺,且位于上海與深圳處于不同的地域,VPC內(nèi)部的私有網(wǎng)段分別為10.10.0.0/16與172.16.0.0/16,內(nèi)部普通計算資源僅存在私有內(nèi)網(wǎng)地址,都部署在子網(wǎng)2內(nèi)部,此時無法與外部通信。統(tǒng)一管理平臺通過公網(wǎng)對云平臺進(jìn)行調(diào)用管理,將具有IPSecVPN功能的安全網(wǎng)關(guān)節(jié)點部署在了VPC子網(wǎng)1中,不影響原有的網(wǎng)絡(luò)架構(gòu)。并為安全網(wǎng)關(guān)節(jié)點分配了公網(wǎng)地址,通過公有云平臺的NAT技術(shù),通過Internet網(wǎng)絡(luò)與位于另一個云平臺的網(wǎng)關(guān)節(jié)點自動建立加密通信隧道,根據(jù)匹配安全策略此時可以實現(xiàn)騰訊云VPC的子網(wǎng)2與阿里云VPC的子網(wǎng)2的安全通信。
圖6 騰訊云與阿里云VPC通信
實驗結(jié)果如圖7所示,阿里云與騰訊云成功協(xié)商SA,并身份認(rèn)證成功,完成阿里云到騰訊云的加密隧道建立。最終能實現(xiàn)騰訊云服務(wù)器10.10.20.10到阿里云服務(wù)器172.160.20.10的相互通信,完成了跨云平臺通信。
圖7 實驗結(jié)果
本文研究了多云環(huán)境下虛擬私有云的安全通信,分析了現(xiàn)有公有云平臺的解決方案與相關(guān)技術(shù)。將VPN技術(shù)適用于云環(huán)境,提出了跨云平臺的VPC安全通信方案,彌補了現(xiàn)有公有云廠商VPC連接方案的不足。并針對多云管理問題,提出了一種多云環(huán)境下的VPC網(wǎng)絡(luò)通信管理方法,具有一定的實際意義,有助于多個云平臺之間的資源整合與管理。