高 潔/Gao Jie
(中國(guó)移動(dòng)通信集團(tuán)設(shè)計(jì)院有限公司 北京100080)
CDN/Cache 直接給用戶提供業(yè)務(wù)服務(wù),其可能受到的安全威脅因素如下。
(1)網(wǎng)絡(luò)開(kāi)放性
CDN 系統(tǒng)網(wǎng)絡(luò)具有接入無(wú)關(guān)性,支持多種方式接入,即CDN 系統(tǒng)接入網(wǎng)不再是封閉的網(wǎng)絡(luò),用戶可以直接通過(guò)互聯(lián)網(wǎng)接入CDN 系統(tǒng)。由于CDN系統(tǒng)接入的開(kāi)放性,接入網(wǎng)絡(luò)不再是可信任的網(wǎng)絡(luò),需要采取措施規(guī)避終端接入對(duì)CDN 系統(tǒng)的安全威脅。
(2)基于IP網(wǎng)絡(luò)
CDN 系統(tǒng)采用全I(xiàn)P網(wǎng)絡(luò)架構(gòu),將直接面臨來(lái)自互聯(lián)網(wǎng)的攻擊,黑客可能利用互聯(lián)網(wǎng)的攻擊工具對(duì)CDN 系統(tǒng)進(jìn)行攻擊。CDN 系統(tǒng)對(duì)于網(wǎng)絡(luò)犯罪而言,只是一種普通的IP網(wǎng)絡(luò);但對(duì)于黑客攻擊者而言,攻擊CDN 系統(tǒng)給其帶來(lái)的經(jīng)濟(jì)利益更大。
(3)終端智能化
當(dāng)前智能手機(jī)的處理能力已經(jīng)等同甚至超過(guò)了普通的PC 機(jī),智能手機(jī)也不再只是提供單一的話音業(yè)務(wù),終端用戶可以任意下載個(gè)性化的業(yè)務(wù)應(yīng)用軟件,這為病毒和惡意軟件的傳播提供了載體。
(4)業(yè)務(wù)融合化
CDN 系統(tǒng)網(wǎng)絡(luò)是固定網(wǎng)絡(luò)與移動(dòng)網(wǎng)絡(luò)的融合,傳統(tǒng)電信系統(tǒng)中的非法竊聽(tīng)、業(yè)務(wù)盜用、計(jì)費(fèi)欺騙等常見(jiàn)的業(yè)務(wù)邏輯安全問(wèn)題在CDN 系統(tǒng)中同樣存在,即CDN 系統(tǒng)依然存在傳統(tǒng)電信系統(tǒng)中遇到的安全威脅。同時(shí),網(wǎng)絡(luò)融合化讓跨網(wǎng)絡(luò)攻擊成為可能,CDN 系統(tǒng)面臨著各種網(wǎng)絡(luò)發(fā)起的攻擊威脅。
(5)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜化
CDN 系統(tǒng)分布在IP網(wǎng)絡(luò)中,涉及的網(wǎng)元節(jié)點(diǎn)眾多。相對(duì)于傳統(tǒng)組網(wǎng),其分布式部署以及內(nèi)外部接口眾多的特性,使得安全管理愈加復(fù)雜化。
攻擊者對(duì)CDN 系統(tǒng)實(shí)施的攻擊手段包括破壞、篡改、刪除及泄漏等。
為了解決當(dāng)前所面臨的安全威脅和挑戰(zhàn),CDN系統(tǒng)從網(wǎng)絡(luò)層、系統(tǒng)層、應(yīng)用層和管理層等方面考慮,采用分層的安全防護(hù)策略,為CDN 系統(tǒng)構(gòu)建多層安全防線。不同的安全防線采用不同的安全策略,當(dāng)網(wǎng)絡(luò)中某個(gè)安全防線被攻破后,其他網(wǎng)元實(shí)體依然能夠?qū)υ摪踩{實(shí)施有效的防護(hù)機(jī)制,確保網(wǎng)絡(luò)的安全運(yùn)行。
(1)機(jī)密性
機(jī)密性是指保護(hù)CDN 系統(tǒng)關(guān)鍵信息以及內(nèi)容提供商的業(yè)務(wù)內(nèi)容信息不泄露給非授權(quán)的用戶和實(shí)體。
(2)完整性
完整性是指保護(hù)CDN 系統(tǒng)關(guān)鍵信息以及內(nèi)容提供商的業(yè)務(wù)內(nèi)容信息未經(jīng)授權(quán)不能進(jìn)行改變。
(3)可用性
可用性是指CDN 系統(tǒng)可被授權(quán)用戶訪問(wèn),避免網(wǎng)絡(luò)環(huán)境下的拒絕服務(wù),避免破壞網(wǎng)絡(luò)以及避免破壞有關(guān)系統(tǒng)的正常運(yùn)行。
(4)不可抵賴
不可抵賴是指提供歷史事件的記錄,對(duì)發(fā)生的安全事件提供調(diào)查依據(jù)和手段。
(1)防攻擊邊界化
通過(guò)加強(qiáng)CDN 系統(tǒng)邊界網(wǎng)絡(luò)的安全防護(hù)措施,使CDN 系統(tǒng)相對(duì)封閉化。CDN 系統(tǒng)的對(duì)外接口部署防火墻,防火墻開(kāi)啟ACL(Access Control List,接入控制列表)功能和防攻擊功能,各對(duì)外接口的邊界網(wǎng)元實(shí)現(xiàn)用戶接入鑒權(quán)以及其他應(yīng)用層的安全策略。
(2)網(wǎng)絡(luò)安全隔離
根據(jù)CDN 系統(tǒng)各網(wǎng)元所在的位置及其承擔(dān)的安全目標(biāo)和安全威脅差異,將CDN 系統(tǒng)劃分為若干個(gè)不同的安全區(qū)。當(dāng)出現(xiàn)安全事件時(shí),將安全事件的影響降低到最小。同時(shí),在CDN 系統(tǒng)的承載網(wǎng)中劃分不同的VLAN,進(jìn)行網(wǎng)絡(luò)業(yè)務(wù)流隔離,使可能出現(xiàn)的安全事件影響最小化。在不安全的傳輸網(wǎng)絡(luò)中,使用防火墻作為安全網(wǎng)關(guān)部署在CDN 系統(tǒng)前。
(3)用戶授權(quán)最小化
在CDN 系統(tǒng)中,無(wú)論是最終用戶、網(wǎng)絡(luò)維護(hù)人員,還是營(yíng)業(yè)廳操作人員,都只開(kāi)放完成其正常操作的最小權(quán)限。對(duì)于不必要的網(wǎng)絡(luò)服務(wù)及進(jìn)程,在缺省情況下都被禁止,使CDN 系統(tǒng)的安全風(fēng)險(xiǎn)降到最低。
(4)縱深多層次防護(hù)
采用多層防護(hù)措施來(lái)過(guò)濾報(bào)文,對(duì)同一安全威脅,不同網(wǎng)元實(shí)體共同防御,拉長(zhǎng)CDN 系統(tǒng)的安全防線。例如,除了在防火墻部署防IP 攻擊外,還在網(wǎng)元上部署基本的IP 防攻擊能力。
(5)基礎(chǔ)架構(gòu)安全平臺(tái)化
操作系統(tǒng)安全、數(shù)據(jù)庫(kù)安全、安全日志等主機(jī)基礎(chǔ)架構(gòu),由廠家平臺(tái)統(tǒng)一提供基礎(chǔ)安全能力,各產(chǎn)品在該基礎(chǔ)安全能力上,適配其安全策略,確保網(wǎng)絡(luò)各基礎(chǔ)架構(gòu)安全策略的一致性。通過(guò)基礎(chǔ)架構(gòu)安全平臺(tái)化,使CDN 系統(tǒng)各網(wǎng)元的安全策略管理簡(jiǎn)單化。
根據(jù)保護(hù)對(duì)象的不同,按照安全層次將CDN系統(tǒng)安全劃分為網(wǎng)絡(luò)層、系統(tǒng)層、應(yīng)用層和管理層。根據(jù)每層的業(yè)務(wù)和面臨的安全威脅不同,每層采取相應(yīng)的安全機(jī)制和安全策略來(lái)應(yīng)對(duì)可能的安全問(wèn)題,如圖1所示。
2.3.1 網(wǎng)絡(luò)層安全
(1)安全組網(wǎng)
CDN 系統(tǒng)的組網(wǎng)設(shè)計(jì)方案中,網(wǎng)絡(luò)設(shè)備包括防火墻、交換機(jī)和路由器。防火墻通過(guò)合理劃分安全域,實(shí)現(xiàn)域間安全策略控制;交換機(jī)通過(guò)合理劃分VLAN,在流量入口處進(jìn)行ACL 限制或通過(guò)VLAN間的ACL 限制合法訪問(wèn);路由器在流量入口處通過(guò)ACL 限制合法訪問(wèn)。
(2)網(wǎng)絡(luò)設(shè)備安全配置
CDN 系統(tǒng)在業(yè)務(wù)上線前,需要進(jìn)行規(guī)范配置,以保證網(wǎng)絡(luò)設(shè)備的安全性。
(3)防DOS/DDoS 攻擊
CDN 系統(tǒng)提供的內(nèi)容分發(fā)能力,對(duì)最終用戶屏蔽了業(yè)務(wù)源站的信息,用戶訪問(wèn)到的數(shù)據(jù)為CDN系統(tǒng)中的緩存數(shù)據(jù)。因此,CDN 系統(tǒng)承擔(dān)了業(yè)務(wù)源站的流量壓力,需要針對(duì)網(wǎng)絡(luò)常見(jiàn)的DOS/DDoS 進(jìn)行重點(diǎn)防護(hù)。
(4)防DDoS 攻擊
過(guò)去的DDoS 攻擊以Flood 型攻擊為主,更多地針對(duì)運(yùn)營(yíng)商的網(wǎng)絡(luò)和基礎(chǔ)架構(gòu); 當(dāng)前的DDoS攻擊越來(lái)越多的是針對(duì)具體應(yīng)用和業(yè)務(wù),如針對(duì)某個(gè)移動(dòng)APP 應(yīng)用、企業(yè)門戶應(yīng)用、在線購(gòu)物、在線視頻、在線游戲、DNS、E-mail 等,攻擊的目標(biāo)更加廣泛,單次攻擊流量小、成本低,移動(dòng)型智能終端攻擊傳統(tǒng)防御方式影響正常業(yè)務(wù),攻擊行為更加復(fù)雜和仿真,造成DDoS 攻擊檢測(cè)和防御更加困難。
圖1 CDN 系統(tǒng)安全架構(gòu)
圖2 防DDoS 攻擊原理
為了更好地對(duì)DDoS 攻擊進(jìn)行有針對(duì)性和高效的防御,還需要引入專業(yè)的防DDoS 攻擊設(shè)備,其防DDoS 攻擊原理如圖2所示。其工作原理為:檢測(cè)中心負(fù)責(zé)以鏡像流的方式監(jiān)測(cè)網(wǎng)絡(luò)流量,以檢測(cè)是否受到DDoS 攻擊。當(dāng)發(fā)現(xiàn)受到攻擊時(shí),管理中心會(huì)向清洗中心下達(dá)指令,讓其對(duì)外部傳輸來(lái)的數(shù)據(jù)分組進(jìn)行清洗,再將清洗后的數(shù)據(jù)分組傳送到內(nèi)網(wǎng)。
(5)防DNS 攻擊
DNS 攻擊主要分為以下3 種類型。
①域名劫持。攻擊者通過(guò)控制域名管理密碼和域名管理郵箱,將該域名的NS 紀(jì)錄指向黑客可以控制的DNS 服務(wù)器,然后通過(guò)在該DNS 服務(wù)器上添加相應(yīng)的域名紀(jì)錄,使網(wǎng)民在訪問(wèn)該域名時(shí),進(jìn)入黑客所指向的內(nèi)容。
②緩存投毒。利用控制DNS 緩存服務(wù)器,把原本準(zhǔn)備訪問(wèn)某網(wǎng)站的用戶在不知不覺(jué)中帶到黑客指向的其他網(wǎng)站。
③DDoS 攻擊。針對(duì)DNS的DDoS 攻擊有兩種:一種攻擊針對(duì)DNS 服務(wù)器軟件本身,通常利用BIND 軟件程序中的漏洞,導(dǎo)致DNS 服務(wù)器崩潰或拒絕服務(wù); 另一種攻擊的目標(biāo)不是DNS 服務(wù)器,而是利用DNS 服務(wù)器作為中間的“攻擊放大器”,去攻擊互聯(lián)網(wǎng)上的其他主機(jī),導(dǎo)致被攻擊主機(jī)拒絕服務(wù)。
(6)DNS 欺騙
DNS 欺騙就是攻擊者冒充域名服務(wù)器的一種欺騙行為。
針對(duì)DNS 攻擊,特別是域名劫持的防護(hù),主要考慮的是對(duì)調(diào)度中心進(jìn)行有效地保護(hù)。
域名劫持的原理是黑客首先攻破DNS 服務(wù)器的管理員賬戶系統(tǒng),然后通過(guò)修改域名記錄的方式來(lái)實(shí)現(xiàn)攻擊。建議對(duì)調(diào)度中心采取以下保護(hù)措施。
(1)域名服務(wù)與管理配置分離
將調(diào)度中心的域名服務(wù)地址與管理員管理/配置地址分離。前者配置公網(wǎng)地址,用于域名解析服務(wù);后者配置私網(wǎng)地址,并只能通過(guò)VPN 被授權(quán)的管理員訪問(wèn)。
(2)通過(guò)“防火墻+跳轉(zhuǎn)主機(jī)”的方式提升管理流程安全性
調(diào)度中心需要遠(yuǎn)程維護(hù)、升級(jí)、定位問(wèn)題。為了保障系統(tǒng)安全,要求通過(guò)防火墻和跳轉(zhuǎn)主機(jī)的IP Table 對(duì)遠(yuǎn)程維護(hù)IP 進(jìn)行嚴(yán)格限制,同時(shí)必須采用SSH 協(xié)議,從而實(shí)現(xiàn)遠(yuǎn)程安全接入。當(dāng)無(wú)需遠(yuǎn)程維護(hù)時(shí),維護(hù)人員還可以通過(guò)OM 區(qū)將跳轉(zhuǎn)機(jī)連接交換機(jī)的端口狀態(tài)置為down;需要遠(yuǎn)程維護(hù)時(shí)再將端口狀態(tài)置為up,這種機(jī)制對(duì)黑客的防護(hù)示意如圖3所示。
2.3.2 系統(tǒng)層安全
1.操作系統(tǒng)安全
(1)安全加固
通過(guò)安全加固工具對(duì)操作系統(tǒng)進(jìn)行安全加固,防止因操作系統(tǒng)配置不當(dāng)引起的安全隱患,安全加固覆蓋但不限于以下內(nèi)容:最小化安裝、最小化開(kāi)放端口、服務(wù)安全配置、內(nèi)核調(diào)整、目錄與文件保護(hù)、賬號(hào)與操作環(huán)境保護(hù)、密碼策略、系統(tǒng)日志策略及登錄提示等。
(2)安全補(bǔ)丁
操作系統(tǒng)安裝時(shí),確保打上最新的安全補(bǔ)丁。然后定期發(fā)布經(jīng)過(guò)驗(yàn)證的補(bǔ)丁列表,并對(duì)操作系統(tǒng)進(jìn)行補(bǔ)丁升級(jí),以消除操作系統(tǒng)的安全漏洞。
2.數(shù)據(jù)庫(kù)安全
(1)安全加固
通過(guò)數(shù)據(jù)庫(kù)安全加固工具對(duì)數(shù)據(jù)庫(kù)進(jìn)行安全加固,防止因數(shù)據(jù)庫(kù)配置不當(dāng)引起的安全隱患,安全加固覆蓋但不限于以下內(nèi)容:最小化安裝、賬號(hào)管理、權(quán)限控制、網(wǎng)絡(luò)接入策略及審計(jì)日志等。
(2)安全補(bǔ)丁
安裝數(shù)據(jù)庫(kù)時(shí),應(yīng)確保打上最新的安全補(bǔ)丁。然后定期發(fā)布經(jīng)過(guò)驗(yàn)證的補(bǔ)丁列表,并對(duì)數(shù)據(jù)庫(kù)進(jìn)行補(bǔ)丁升級(jí),以消除數(shù)據(jù)庫(kù)的安全漏洞。
2.3.3 應(yīng)用層安全
(1)源站保護(hù)
采用CDN 系統(tǒng)后,暴露在公網(wǎng)的內(nèi)容源站將得到有效隱藏,向最終用戶提供服務(wù)的IP 地址為CDN 節(jié)點(diǎn),最終用戶無(wú)法通過(guò)互聯(lián)網(wǎng)訪問(wèn)獲得內(nèi)容源站的真實(shí)IP 地址,因此,從根本上杜絕了攻擊者對(duì)網(wǎng)站的攻擊可能。
同時(shí),當(dāng)內(nèi)容源站遭受攻擊服務(wù)導(dǎo)致不可用時(shí),廠家DNS 系統(tǒng)服務(wù)節(jié)點(diǎn)仍可在一定時(shí)間內(nèi)為用戶提供內(nèi)容服務(wù),以降低內(nèi)容源站的事故影響。
(2)內(nèi)容安全
CDN 系統(tǒng)提供對(duì)源站內(nèi)容的分發(fā)、緩存業(yè)務(wù),向最終用戶提供更快速、準(zhǔn)確的瀏覽體驗(yàn)。因此,除了防范DOS/DDoS 攻擊外,保證CDN 系統(tǒng)的內(nèi)容分發(fā)和存儲(chǔ)安全也顯得極為重要。
CDN 系統(tǒng)可采取以下措施保證內(nèi)容的安全性。
①版權(quán)保護(hù):為防止用戶非法訪問(wèn)內(nèi)容,CDN系統(tǒng)應(yīng)提供防盜鏈和二次鑒權(quán)兩種用戶鑒權(quán)方案。
②內(nèi)容容災(zāi)部署:CDN的緩存系統(tǒng)支持分布式、分站點(diǎn)部署,一旦某個(gè)站點(diǎn)因故障、停電等原因?qū)е聼o(wú)法提供服務(wù),其他站點(diǎn)的Cache 可以接管業(yè)務(wù)。
圖3 “防火墻+跳轉(zhuǎn)主機(jī)”策略
(3)接口訪問(wèn)控制
CDN 系統(tǒng)的對(duì)外接口主要包括系統(tǒng)接口、統(tǒng)一管理接口、終端側(cè)接口、Local DNS 接口4 種類型,由于這些接口對(duì)外開(kāi)放,可以被外部訪問(wèn),需要對(duì)這些接口的訪問(wèn)進(jìn)行合理的訪問(wèn)控制。
(4)敏感數(shù)據(jù)保護(hù)
CDN 系統(tǒng)中除了內(nèi)容外,還存在系統(tǒng)賬號(hào)口令、數(shù)據(jù)庫(kù)連接密碼、業(yè)務(wù)系統(tǒng)注冊(cè)賬號(hào)口令、管理員口令等敏感數(shù)據(jù)。
2.3.4 管理層安全
(1)日志管理
CDN 系統(tǒng)支持對(duì)所有管理功能的用戶活動(dòng)、操作指令都記錄日志。日志內(nèi)容能夠支撐事后的審計(jì)工作,記錄用戶ID、時(shí)間、事件類型、被訪問(wèn)資源的名稱、訪問(wèn)結(jié)果等信息,日志有訪問(wèn)控制功能,只有管理員才有刪除權(quán)限。
(2)口令管理
對(duì)系統(tǒng)中的用戶賬號(hào)及其權(quán)限進(jìn)行定期審核,對(duì)多余的賬號(hào)和權(quán)限進(jìn)行清理。系統(tǒng)管理員創(chuàng)建并維護(hù)操作系統(tǒng)和應(yīng)用系統(tǒng)中的賬號(hào)及權(quán)限列表。對(duì)于缺省創(chuàng)建的賬號(hào),要求嚴(yán)格控制其使用范圍。
(3)時(shí)間同步
CDN 系統(tǒng)內(nèi)各網(wǎng)元保持時(shí)間的一致性,在日志管理、計(jì)費(fèi)、安全審計(jì)等方面非常必要。CDN 系統(tǒng)采用網(wǎng)絡(luò)時(shí)間同步協(xié)議(NTP)來(lái)解決時(shí)間同步問(wèn)題。NTP 是基于IP 和UDP,由時(shí)間協(xié)議(Time Protocol,TP)和ICMP 演化而來(lái),用于分布式時(shí)間服務(wù)器和客戶端之間進(jìn)行時(shí)間同步。理論上NTP 時(shí)間同步精度可達(dá)10-10s。
在CDN 系統(tǒng)中,內(nèi)部NTP Server 作為客戶端同步外部NTP Server的時(shí)間,同時(shí),內(nèi)部NTP Server又充當(dāng)本地NTP Server,CDN 系統(tǒng)的其他設(shè)備作為客戶端同步內(nèi)部NTP Server的時(shí)間。
隨著網(wǎng)絡(luò)流量的不斷增大,CDN/Cache的服務(wù)節(jié)點(diǎn)將不斷下沉。從傳統(tǒng)的IDC 下沉到城域網(wǎng)、接入網(wǎng)甚至內(nèi)嵌到網(wǎng)絡(luò)設(shè)備中。網(wǎng)絡(luò)節(jié)點(diǎn)下沉后,邊緣服務(wù)節(jié)點(diǎn)可能不會(huì)部署專業(yè)的防火墻設(shè)備,這對(duì)CDN/Cache的安全提出了新挑戰(zhàn)。
當(dāng)前的Web 應(yīng)用和網(wǎng)站絕大部分是基于HTTP,因?yàn)镠TTP 簡(jiǎn)單方便,易于部署,并且設(shè)計(jì)之初也沒(méi)有考慮安全性,所有內(nèi)容都是明文傳輸,也就為現(xiàn)在的安全問(wèn)題埋下了隱患。對(duì)CDN/Cache 承載的關(guān)鍵業(yè)務(wù),建議SP 啟用HTTPS 進(jìn)行安全保護(hù)。
在SP 支持HTTPS 協(xié)議時(shí),SP 可以通過(guò)HTTPS安全通道將內(nèi)容注入CDN 系統(tǒng)。CDN 系統(tǒng)支持通過(guò)HTTPS安全通道將內(nèi)容分發(fā)給用戶。如果SP 系統(tǒng)不支持HTTPS,則SP 把安全密鑰分發(fā)給CDN 系統(tǒng),CDN 把密鑰存儲(chǔ)到有防火墻保護(hù)的安全中心。SP 將使用安全密鑰加密后的內(nèi)容注入CDN 系統(tǒng),CDN 系統(tǒng)進(jìn)行本地解密后,通過(guò)HTTPS 通道對(duì)用戶提供服務(wù)。
傳統(tǒng)CDN/Cache 采用集中式內(nèi)容調(diào)度,通過(guò)Anycast 分布式調(diào)度可以減小DDoS 給用戶帶來(lái)的影響。Anycast 允許源節(jié)點(diǎn)向一組目標(biāo)節(jié)點(diǎn)中的一個(gè)節(jié)點(diǎn)發(fā)送數(shù)據(jù)報(bào),而這個(gè)節(jié)點(diǎn)由路由系統(tǒng)選擇,對(duì)源節(jié)點(diǎn)透明。當(dāng)CDN中的某個(gè)或者某幾個(gè)業(yè)務(wù)的服務(wù)節(jié)點(diǎn)受到攻擊時(shí),路由器根據(jù)各個(gè)Anycast 組成員的響應(yīng)時(shí)間,自動(dòng)轉(zhuǎn)發(fā)到其他邊緣服務(wù)節(jié)點(diǎn)。這樣受到的攻擊會(huì)均勻分?jǐn)偟秸麄€(gè)網(wǎng)絡(luò)的各個(gè)服務(wù)節(jié)點(diǎn),避免了單節(jié)點(diǎn)和主機(jī)承受所有攻擊流量,因此,在一定程度上提高了安全性。
[1]文偉平.基于CDN的視頻網(wǎng)絡(luò)架構(gòu)及關(guān)鍵技術(shù)的研究與實(shí)現(xiàn)[D].北京郵電大學(xué),2008.
[2]崔亞娟,陶蒙華.下一代CDN 架構(gòu)及關(guān)鍵問(wèn)題探討[J].信息通信技術(shù),2011,(3).