趙乾艮,王羽,湯凌,顏永明
(中國(guó)電信股份有限公司上海分公司,上海 200085)
軟件定義廣域網(wǎng)(software defined wide area network,SD-WAN)作為軟件定義網(wǎng)絡(luò)(software defined network,SDN)技術(shù)在廣域網(wǎng)中的應(yīng)用,越來(lái)越受到廣大企業(yè)用戶的青睞,它在兼具企業(yè)用戶對(duì)網(wǎng)絡(luò)可靠性與安全性剛需的同時(shí),又為企業(yè)用戶提供了成本低、網(wǎng)絡(luò)靈活變更的新選擇。
SD-WAN是包括完整運(yùn)營(yíng)生命周期的網(wǎng)絡(luò)產(chǎn)品。在業(yè)務(wù)功能實(shí)現(xiàn)、平臺(tái)運(yùn)營(yíng)維護(hù)、用戶體驗(yàn)感知等場(chǎng)景都需要整個(gè)網(wǎng)絡(luò)維系同步的時(shí)間。時(shí)間的不匹配可能帶來(lái)業(yè)務(wù)的紊亂和用戶感知的下降。對(duì)互聯(lián)網(wǎng)廠商,由于自身沒(méi)有基礎(chǔ)資源(包括時(shí)鐘源資源),他們?cè)O(shè)計(jì)的方案都需要依賴互聯(lián)網(wǎng)。電信運(yùn)營(yíng)商如果有效利用自身基礎(chǔ)資源,就可以為用戶提供更安全、更穩(wěn)定的時(shí)間同步方案。
SD-WAN的轉(zhuǎn)發(fā)平面以加密隧道作為網(wǎng)絡(luò)組成的主體。對(duì)SD-WAN行業(yè)中主流廠商進(jìn)行了研究,其普遍采用了IPSec(internet protocol security)或以 IPSec為基礎(chǔ)組成的隧道。IPSec通過(guò) IKE(internet key exchange)確定加密算法及密鑰維護(hù)IP數(shù)據(jù)包收發(fā)兩端之間的共享狀態(tài),為IP數(shù)據(jù)包提供機(jī)密性、數(shù)據(jù)完整性、訪問(wèn)控制和數(shù)據(jù)源身份驗(yàn)證。IPSec支持使用電子證書、公鑰和預(yù)共享密鑰3種身份認(rèn)證方式。在采用電子證書的情況下,證書在生成時(shí)都帶有效期。如果IPSec任意一端的時(shí)間偏移超出了證書的有效期(過(guò)早或過(guò)晚),則證書將會(huì)失效,隧道無(wú)法建立。
SD-WAN控制平臺(tái)具有用戶友好的界面,并且可根據(jù)需求開(kāi)發(fā)各種可交互性模塊,包括實(shí)時(shí)展示、資源管理、命令下發(fā)等功能。但這些功能都基于最基本的數(shù)據(jù)采集,業(yè)務(wù)運(yùn)行的必要性體現(xiàn)在以下兩個(gè)方面。
第一,用戶側(cè)設(shè)備時(shí)間與平臺(tái)側(cè)時(shí)間不匹配會(huì)體現(xiàn)在用戶展示界面上。如果兩者時(shí)間有漂移,那么流量顯示就會(huì)出現(xiàn)漂移,如果兩者的步進(jìn)有快慢區(qū)別,那么統(tǒng)計(jì)周期的長(zhǎng)度也會(huì)出現(xiàn)錯(cuò)誤使流量大小失真,從而使用戶在流量分析時(shí)接收錯(cuò)誤信息,對(duì)以此錯(cuò)誤作為基礎(chǔ)進(jìn)行的組網(wǎng)擴(kuò)展規(guī)劃產(chǎn)生誤判,影響用戶的業(yè)務(wù)使用。
第二,運(yùn)營(yíng)商作為負(fù)責(zé)運(yùn)營(yíng)維護(hù)的一方,需要日常巡檢,遇到故障需要及時(shí)判斷故障找到問(wèn)題。如果用戶側(cè)設(shè)備時(shí)間與平臺(tái)側(cè)時(shí)間不匹配,會(huì)對(duì)維護(hù)人員的問(wèn)題定位和事件分析形成干擾。
SD-WAN行業(yè)中主流廠商全都使用了互聯(lián)網(wǎng)公共NTP(network time protocol)服務(wù),且為扁平化排布,即平臺(tái)控制器和網(wǎng)管網(wǎng)元、POP(point of presence)點(diǎn)網(wǎng)元、用戶側(cè) CPE(customer premises equipment)網(wǎng)關(guān)設(shè)備單獨(dú)向互聯(lián)網(wǎng)公共NTP服務(wù)器同步,SD-WAN互聯(lián)網(wǎng)公共NTP服務(wù)時(shí)鐘同步方案如圖1所示。
圖1 SD-WAN互聯(lián)網(wǎng)公共NTP服務(wù)時(shí)鐘同步方案
NTP通過(guò)私有網(wǎng)絡(luò)或公共互聯(lián)網(wǎng)將計(jì)時(shí)信息從主服務(wù)器傳送到輔助時(shí)間服務(wù)器和客戶機(jī)。NTP同步一般的設(shè)計(jì)思路是封閉系統(tǒng)中采用系統(tǒng)自建主服務(wù)器,而在連接互聯(lián)網(wǎng)的系統(tǒng)中,客戶機(jī)直接向公共 NTP服務(wù)器發(fā)起同步請(qǐng)求。作為SDN在廣域網(wǎng)的應(yīng)用,SD-WAN網(wǎng)絡(luò)underlay層面更多依托于互聯(lián)網(wǎng),廠商方案依賴互聯(lián)網(wǎng)公共NTP服務(wù),平臺(tái)自身不用提供時(shí)鐘服務(wù),在功能實(shí)現(xiàn)上更便捷。更重要的是,方案廠商都是互聯(lián)網(wǎng)企業(yè),不具備基礎(chǔ)時(shí)鐘源資源,無(wú)法依靠自身提供標(biāo)準(zhǔn)源時(shí)間,只能將互聯(lián)網(wǎng)上可以獲取的資源整合利用,這一點(diǎn)是互聯(lián)網(wǎng)廠商的天然短板。并且廠商對(duì)外服務(wù)通常只需保障業(yè)務(wù)的實(shí)現(xiàn),維護(hù)職責(zé)歸屬用戶,廠商的設(shè)計(jì)容易忽略對(duì)安全防護(hù)要求的考量。
SD-WAN互聯(lián)網(wǎng)公共NTP服務(wù)時(shí)鐘同步方案雖然體現(xiàn)便捷的特點(diǎn),但該方案存在 3個(gè)方面隱患。
第一,面向公網(wǎng)同步意味著將NTP端口暴露在公網(wǎng)上。NTP軟件本身存在漏洞被利用的風(fēng)險(xiǎn),為防止該風(fēng)險(xiǎn)需要投入對(duì)軟件的更新補(bǔ)丁的持續(xù)關(guān)注。
第二,NTP公共服務(wù)需要為互聯(lián)網(wǎng)全網(wǎng)用戶提供服務(wù),關(guān)閉了authentication功能以保證服務(wù)兼容性,用戶側(cè)減少了一種身份校驗(yàn)的安全保障方法。
第三,依賴于第三方公共服務(wù),對(duì)于一個(gè)獨(dú)立系統(tǒng)而言相當(dāng)于引入了新的不確定因素,雖然可以配置不同的 NTP公共服務(wù)器作為主備提高容災(zāi)性,但由第三方維護(hù)的可靠性無(wú)法掌握,不確定可靠性的容災(zāi)也無(wú)法保證。
為了應(yīng)對(duì)使用公共 NTP服務(wù)帶來(lái)的可靠性不確定問(wèn)題,本文在SD-WAN平臺(tái)中搭建平臺(tái)自用的NTP主服務(wù)器。NTP同步可多級(jí)分層,分層結(jié)構(gòu)跟隨SD-WAN。方案分為扁平化同步方案與分級(jí)同步方案,分場(chǎng)景適應(yīng)SD-WAN組網(wǎng)中的點(diǎn)對(duì)點(diǎn)組網(wǎng)和POP點(diǎn)組網(wǎng)兩種方式。
在扁平化方案中,平臺(tái)控制器和網(wǎng)管網(wǎng)元、POP點(diǎn)網(wǎng)元、用戶側(cè)CPE網(wǎng)關(guān)設(shè)備都向自建NTP服務(wù)器發(fā)起同步請(qǐng)求,適用于所有用戶組網(wǎng)場(chǎng)景,SD-WAN平臺(tái)自建 NTP服務(wù)扁平化時(shí)鐘同步方案如圖2所示。
圖2 SD-WAN平臺(tái)自建NTP服務(wù)扁平化時(shí)鐘同步方案
扁平化同步方案由平臺(tái)承擔(dān)全部 NTP同步請(qǐng)求,對(duì)平臺(tái)NTP服務(wù)的壓力較大。若平臺(tái)宕機(jī)或失聯(lián),分點(diǎn)將失去時(shí)鐘同步源。平臺(tái)對(duì)外提供NTP服務(wù),運(yùn)營(yíng)商需要在平臺(tái)側(cè)對(duì)所有 CPE和POP做地址白名單,復(fù)雜度與CPE設(shè)備數(shù)量成正比。扁平化同步方案最大的優(yōu)點(diǎn)在于應(yīng)用面廣,所有組網(wǎng)方式如全互聯(lián)、部分互聯(lián)的直連方式,以及hub-spoke組網(wǎng)方式與POP點(diǎn)組網(wǎng)方式,都可以采用該方案。
在hub-spoke方案中,用戶分點(diǎn)CPE向總頭CPE同步,總頭再向平臺(tái)同步,總頭同時(shí)扮演服務(wù)器(server)和客戶端(client)的角色,如圖3所示。
圖3 SD-WAN平臺(tái)自建NTP服務(wù)hub-spoke分級(jí)時(shí)鐘同步方案
該方案適用于分點(diǎn)數(shù)量較多且地理位置密集的連鎖商店等商業(yè)模式場(chǎng)景,用戶建立hub-spoke模式組網(wǎng)的情況。hub-spoke分級(jí)同步方案將數(shù)量龐大的用戶 NTP同步請(qǐng)求分散到用戶各自的總頭設(shè)備上,對(duì)平臺(tái)NTP服務(wù)的壓力較小。分點(diǎn)與總頭保持同步,即使平臺(tái)出現(xiàn)故障失聯(lián),也能保證用戶封閉網(wǎng)絡(luò)內(nèi)的時(shí)間高度一致性。運(yùn)營(yíng)商只需要在平臺(tái)側(cè)對(duì)總頭CPE設(shè)備做地址白名單,復(fù)雜度較小。
在POP點(diǎn)方案中,用戶點(diǎn)CPE向POP點(diǎn)同步,POP點(diǎn)各自向平臺(tái)同步,SD-WAN平臺(tái)自建NTP服務(wù)POP點(diǎn)分級(jí)時(shí)鐘同步方案如圖4所示。
圖4 SD-WAN平臺(tái)自建NTP服務(wù)POP點(diǎn)分級(jí)時(shí)鐘同步方案
該方案適用于用戶分點(diǎn)分布區(qū)域分散,距離跨度較大的全國(guó)生產(chǎn)/辦公模式場(chǎng)景,用戶采用POP點(diǎn)組網(wǎng)的情況。POP點(diǎn)分級(jí)同步方案將數(shù)量龐大的用戶NTP同步請(qǐng)求分散到POP點(diǎn)上,對(duì)平臺(tái)NTP服務(wù)的壓力較小。運(yùn)營(yíng)商需要在平臺(tái)側(cè)與POP點(diǎn)處做地址白名單,復(fù)雜度與CPE數(shù)量成正比。并且POP點(diǎn)均部署在天翼云上,白名單有數(shù)量限制,這將成為該方案實(shí)施的瓶頸。
3種平臺(tái)自建NTP服務(wù)方案比較見(jiàn)表1。
表1 3種平臺(tái)自建NTP服務(wù)時(shí)鐘同步方案比較
平臺(tái)自建 NTP服務(wù)可以規(guī)避第三方公共服務(wù)帶來(lái)的不確定性,也可以通過(guò)主備方案增加容災(zāi)可靠性。同時(shí)只有系統(tǒng)內(nèi)的設(shè)備需要同步,主服務(wù)端可以啟用authentication功能獲得同步過(guò)程的排他性。但用戶側(cè)設(shè)備向平臺(tái)同步的需求決定了NTP主服務(wù)器監(jiān)聽(tīng)端口暴露在互聯(lián)網(wǎng)上,這將使主服務(wù)器在保持了公共方案的服務(wù)漏洞隱患外,還會(huì)引入暴露面安全防護(hù)要求,為應(yīng)對(duì)此問(wèn)題進(jìn)行的地址白名單的防護(hù)工作會(huì)有很大難度。
為解決平臺(tái)自建 NTP服務(wù)時(shí)鐘同步方案暴露面的問(wèn)題,在平臺(tái)自建NTP服務(wù)的基礎(chǔ)上,設(shè)計(jì)利用SD-WAN平臺(tái)與CPE設(shè)備間的管理隧道加密傳輸NTP數(shù)據(jù)。SD-WAN的組成架構(gòu)中用戶側(cè)CPE之間建立傳輸信道使用業(yè)務(wù)隧道,而平臺(tái)管控側(cè)向用戶側(cè)CPE進(jìn)行配置下發(fā)、用戶側(cè)CPE向平臺(tái)管控側(cè)上報(bào)統(tǒng)計(jì)數(shù)據(jù)時(shí)使用的是管理隧道。因不需要向業(yè)務(wù)隧道一樣參與流量轉(zhuǎn)發(fā),管理隧道采用的隧道技術(shù)與業(yè)務(wù)隧道不盡相同,SD-WAN行業(yè)主流廠商采用的管理隧道有IPSec、SSL/TLS和DTLS等??梢岳靡呀⒌钠脚_(tái)與用戶側(cè)CPE的管理隧道,將NTP同步信息在該隧道中傳輸,而平臺(tái)仍然維護(hù)自建的具有高可用的NTP主服務(wù)器,基于自建NTP服務(wù)SD-WAN管理隧道加密傳輸 NTP數(shù)據(jù)的時(shí)鐘同步方案如圖5所示。
圖5 基于自建NTP服務(wù)SD-WAN管理隧道加密傳輸NTP數(shù)據(jù)的時(shí)鐘同步方案
方案兼具了自建 NTP主服務(wù)器的可靠性與容災(zāi)性,規(guī)避第三方公共服務(wù)帶來(lái)的不確定性,同時(shí)啟用authentication功能獲得同步過(guò)程的排他性。設(shè)備與平臺(tái)同步,即使與外部時(shí)鐘失聯(lián),平臺(tái)作為一個(gè)整體在內(nèi)部仍然是同步的。方案采取隧道傳輸能避免將提供NTP同步服務(wù)的端口暴露在互聯(lián)網(wǎng),規(guī)避暴露面安全防護(hù)要求,同步過(guò)程加密封裝,進(jìn)一步提升了其安全性。
采用管理隧道而非業(yè)務(wù)隧道出于三方面考慮:平臺(tái)與CPE之間不存在業(yè)務(wù)隧道,采用業(yè)務(wù)隧道只能使組網(wǎng)中的CPE獲得時(shí)間統(tǒng)一而與平臺(tái)隔離,只有管理隧道可以建立平臺(tái)與CPE的聯(lián)系;采用管理隧道不會(huì)擠占業(yè)務(wù)隧道的帶寬導(dǎo)致業(yè)務(wù)有效帶寬降低;SD-WAN的一大特點(diǎn)是組網(wǎng)靈活,用戶可以通過(guò)下發(fā)配置隨時(shí)變更組網(wǎng)情況,這將造成終端的NTP角色和配置相應(yīng)變化,對(duì)講求穩(wěn)定的時(shí)間同步而言管理隧道更有利。
主流廠商 SD-WAN平臺(tái)使用的管理隧道有IPSec、SSL/TLS和DTLS,其中SSL隧道是TCP隧道,IPSec、DTLS隧道是UDP隧道。NTP傳送UDP報(bào)文,更適合通過(guò)UDP隧道進(jìn)行傳遞。本文通過(guò)部署虛擬環(huán)境對(duì)IPSec與DTLS兩種適合NTP報(bào)文傳輸?shù)腢DP隧道進(jìn)行實(shí)現(xiàn),并驗(yàn)證時(shí)間同步。
IPSec作為管理隧道僅需傳遞平臺(tái)與設(shè)備之間的交互信息,不需要與業(yè)務(wù)隧道一樣,將CPE作為站點(diǎn)隱藏子網(wǎng),因此采用傳輸模式用ESP加密,采用strongswan作為IPSec的實(shí)現(xiàn),配置為傳輸模式,采用PSK預(yù)配置密鑰方式建立加密隧道,兩端地址分別為192.168.26.30、192.168.26.31。將兩臺(tái)虛擬服務(wù)器的 NTP服務(wù)開(kāi)啟,其中192.168.26.30配置為NTP客戶端,192.168.26.31作為NTP服務(wù)器。開(kāi)啟NTP authentication。服務(wù)開(kāi)啟后,NTP客戶端成功向 NTP服務(wù)器同步時(shí)間,NTP同步成功如圖6所示。
圖6 NTP同步成功
鏈路抓包,使用解密文件將加密部分解密,可以看到ESP載荷部分由ESP頭、ESP校驗(yàn)位和一個(gè)被加密的UDP包組成,且目標(biāo)端口為123,表明上層協(xié)議為NTP。
DTLS被設(shè)計(jì)為盡可能類似 TLS,既可以最小化新的安全性發(fā)明,又可以最大限度地提高代碼量和基礎(chǔ)設(shè)施重用。采用 openconnect作為DTLS的實(shí)現(xiàn),兩端地址分別為 192.168.26.32、192.168.26.33,openconnect建立TLS隧道以進(jìn)行身份認(rèn)證和維持連接狀態(tài)并作為備用隧道,認(rèn)證完成后建立DTLS隧道用于數(shù)據(jù)傳輸。將兩臺(tái)虛擬服務(wù)器的NTP服務(wù)開(kāi)啟,其中,192.168.26.33的配置為 NTP客戶端,192.168.26.32作為NTP服務(wù)器,openconnect的客戶端登錄后會(huì)被分配到192.168.100.0/24內(nèi)地址(本例中為 192.168.100.149),流量都經(jīng)過(guò)隧道。同時(shí)開(kāi)啟 NTP authentication。由于 openconnect服務(wù)器的192.168.26.32被用作隧道出口,將 LAN側(cè)192.168.100.1作為NTP服務(wù)器地址,NTP服務(wù)開(kāi)啟后,NTP客戶端成功向NTP服務(wù)器同步時(shí)間,NTP同步成功如圖7所示。
圖7 NTP同步成功
鏈路抓包后,可以看到篩選的 DTLSv1.2報(bào)文,源目地址分別為兩側(cè)服務(wù)器地址,服務(wù)器側(cè)端口為預(yù)設(shè)的11443端口,用戶側(cè)信息被加密外界無(wú)法查看。
實(shí)驗(yàn)驗(yàn)證了可以通過(guò)IPSec與DTLS隧道傳送NTP同步數(shù)據(jù)使NTP客戶端向服務(wù)端同步成功。
SD-WAN管理隧道內(nèi) NTP時(shí)鐘同步方案相比較于互聯(lián)網(wǎng)公共 NTP服務(wù)時(shí)鐘同步方案由于建立了隧道,在原始報(bào)文外層嵌套了新的報(bào)頭,提升了開(kāi)銷?;ヂ?lián)網(wǎng)公共NTP服務(wù)時(shí)鐘同步報(bào)文為90 byte。IPSec管理隧道方案報(bào)文需要150 byte,而DTLS管理隧道方案報(bào)文則需要180 byte。
提升開(kāi)銷換來(lái)的是規(guī)避第三方公共服務(wù)的不確定性,獲得authentication功能,解決了電信作為運(yùn)營(yíng)商面臨暴露面安全防護(hù)要求,加密封裝進(jìn)一步提升了安全性。
試驗(yàn)驗(yàn)證的IPSec與DTLS兩種隧道覆蓋了廠商使用的UDP隧道,而DTLS與作為TCP隧道的TLS同源,在開(kāi)發(fā)上有許多可重復(fù)利用的部分,并且不少開(kāi)源庫(kù)(如openssl、gnutls等)已提供對(duì)DTLS的支持,對(duì)采用SSL作為管理隧道的廠商來(lái)說(shuō),向DTLS過(guò)渡十分便捷。運(yùn)用基于改進(jìn)無(wú)證書公鑰密碼的輕量級(jí)DTLS協(xié)議,還能避免證書管理的復(fù)雜性并降低額外的網(wǎng)絡(luò)開(kāi)銷。
本文通過(guò)分析NTP時(shí)鐘同步在不同SD-WAN的應(yīng)用場(chǎng)景,說(shuō)明了時(shí)鐘同步對(duì)SD-WAN技術(shù)實(shí)現(xiàn)和業(yè)務(wù)運(yùn)行的重要性。受制于廠商作為互聯(lián)網(wǎng)企業(yè)的角色定位,在各SD-WAN實(shí)踐中廣泛采用的第三方公共服務(wù)時(shí)鐘同步方式,在安全性上存在提升空間。依托于電信基礎(chǔ)資源搭建SD-WAN管理平臺(tái)的優(yōu)勢(shì),在不同場(chǎng)景下可實(shí)現(xiàn)多種組網(wǎng)方式的自建NTP服務(wù)時(shí)鐘同步方案,進(jìn)一步衍生一種基于自建NTP服務(wù)利用IPSec與DTLS兩種管理隧道加密傳輸 NTP同步數(shù)據(jù)的時(shí)鐘同步方法并進(jìn)行了實(shí)現(xiàn)驗(yàn)證,可以使SD-WAN平臺(tái)和設(shè)備在同步時(shí)獲得更高的安全性與穩(wěn)定性。未來(lái)電信將視管理隧道內(nèi)NTP時(shí)鐘同步的方案為推薦的NTP同步方案,力爭(zhēng)為用戶提供運(yùn)營(yíng)商獨(dú)有高安全高可用的SD-WAN業(yè)務(wù)。