本文來(lái)自微信公眾號(hào)“郵電設(shè)計(jì)技術(shù)”,作者/徐寶辰、余思陽(yáng)、李長(zhǎng)連、李發(fā)財(cái)、趙通。
現(xiàn)有的高防DNS引流方式,需用戶手動(dòng)修改DNS域名,SRv6基于路由轉(zhuǎn)發(fā),不需要在每個(gè)節(jié)點(diǎn)做標(biāo)簽配置,只需要設(shè)定SRv6的頭、尾節(jié)點(diǎn)即可通過(guò)路由進(jìn)行自行選路從而將數(shù)據(jù)包轉(zhuǎn)發(fā)至目標(biāo)。介紹了SRv6 Policy下unaware SF節(jié)點(diǎn)的應(yīng)用模型,創(chuàng)新性提出在高防及WAF系統(tǒng)下采用SRv6引流的方式將攻擊流量引入高防系統(tǒng)進(jìn)行防護(hù)的模型,提供“即插即用”式的高防服務(wù)。
前言
高防廣義上被定義為集成了防御4層(DDoS)+7層(滲透)攻擊的高級(jí)防御系統(tǒng),一般以服務(wù)器、安全資源池甚至數(shù)據(jù)中心的形態(tài)出現(xiàn)并提供安全服務(wù)。
對(duì)于7層攻擊的防護(hù),高防中心內(nèi)部通常以WAF作為主要防御手段,對(duì)掃描、SQL注入、XSS跨站、爬蟲(chóng)等攻擊進(jìn)行攔截,所以高防資源池或者高防數(shù)據(jù)中心通常以DNS引流為手段,需要防護(hù)用戶手動(dòng)修改被防護(hù)Web URL的DNS地址指向,將DNS指向?yàn)楦叻老到y(tǒng)IP地址,從而將流量引入到高防資源池中來(lái)。
本文首先介紹了SRv6的一種應(yīng)用場(chǎng)景——SRv6 TE Policy+業(yè)務(wù)鏈,并結(jié)合SRv6 TE Policy+業(yè)務(wù)鏈場(chǎng)景深入介紹通過(guò)SRv6技術(shù)作為流量牽引手段與高防相結(jié)合,從而簡(jiǎn)化了用戶接入高防系統(tǒng)的方式,并提出筆者研究的最佳實(shí)踐。
0 1
SRv6業(yè)務(wù)鏈的概念與網(wǎng)絡(luò)架構(gòu)
1.1 SRv6業(yè)務(wù)鏈的概念
SRv6(Segment Routing)定義為基于IPv6的分段路由,是一種基于Native IP的“隧道”技術(shù)。SRv6會(huì)將路徑上的關(guān)鍵節(jié)點(diǎn)或鏈路定義為每個(gè)Segment,Segment字段被封裝到SRH(Segment Routing Header)中并插入到原始的IP報(bào)文前變成新的IP報(bào)文頭,數(shù)據(jù)報(bào)文會(huì)從頭節(jié)點(diǎn)開(kāi)始,按照生成的每個(gè)Segment組成的路徑進(jìn)行轉(zhuǎn)發(fā)。當(dāng)轉(zhuǎn)發(fā)到尾節(jié)點(diǎn)的時(shí)候,報(bào)文中的SRH會(huì)彈出,從而暴露出原始的IP頭,并按照原始IP報(bào)文根據(jù)路由進(jìn)行轉(zhuǎn)發(fā)。
例如,我們計(jì)劃從A地出發(fā)去B公園游玩,打開(kāi)導(dǎo)航軟件,上面顯示共有2條路可從A地到達(dá)B公園,其中1號(hào)路徑路程短但比較擁堵,用時(shí)較多,2號(hào)路徑路程長(zhǎng)但車(chē)流壓力不大,用時(shí)反而較少。如果從路程角度來(lái)計(jì)算會(huì)選擇1號(hào)路徑,如果從時(shí)間長(zhǎng)短來(lái)考慮會(huì)選擇2號(hào)路徑。那么在出發(fā)時(shí)(A節(jié)點(diǎn))就需要確定選擇哪種策略(Policy),這種基于流量工程(案例中為車(chē)流量)角度來(lái)指定轉(zhuǎn)發(fā)策略的方式就是SRv6 TE Policy。
SRv6 TE Policy有3個(gè)重要的要素,分別是頭端(Headend)、顏色(Color)、尾端(Endpoint)。頭端和尾端分別為A、B兩地,用來(lái)確定SRv6 TE Policy的首尾兩端地址,顏色是出行路徑的策略,不同的路徑會(huì)被進(jìn)行不同的染色動(dòng)作(在Color字段配置不同的值),需要根據(jù)自己的需求選擇一條被染色的路徑進(jìn)行報(bào)文轉(zhuǎn)發(fā)(比如需要利用更短的時(shí)間到達(dá)B公園的話,就需要選擇路徑2)。
圖1 Policy路徑選擇
通過(guò)SRv6的封裝和Policy的選路,就可以讓數(shù)據(jù)包流向其目標(biāo)位置。類比圖1中的各個(gè)地點(diǎn),假設(shè)A地為攻擊源、B公園為攻擊目標(biāo)(防護(hù)源站),那么高防系統(tǒng)所在的位置就會(huì)被置為廣場(chǎng)或交叉路口。但是Policy技術(shù)只能讓數(shù)據(jù)包經(jīng)過(guò)高防系統(tǒng)所在地點(diǎn),如何能讓數(shù)據(jù)包真正進(jìn)入到高防系統(tǒng)進(jìn)行監(jiān)測(cè)及防護(hù),則需要SRv6 TE Policy+業(yè)務(wù)鏈的模型來(lái)解決這個(gè)問(wèn)題。
SRv6業(yè)務(wù)鏈(SRv6 Service Function Chain,SRv6 SFC)為在SRv6中某些關(guān)鍵節(jié)點(diǎn)下掛其他設(shè)備(如WAF、防火墻等)提供解決方案。業(yè)務(wù)鏈分為控制平面和轉(zhuǎn)發(fā)平面2部分,其中控制平面由控制器組成,控制器與下方所管理的路由器建立網(wǎng)絡(luò)連接,并負(fù)責(zé)管理路由器狀態(tài)、下發(fā)路由器指令等功能;轉(zhuǎn)發(fā)平面即所有SRv6路由經(jīng)過(guò)的網(wǎng)絡(luò)節(jié)點(diǎn),對(duì)于業(yè)務(wù)鏈來(lái)說(shuō)分為以下幾種設(shè)備類型:SC(Service Classifier)、SFF(Service Function Forwarder)、SF(Service Function)、SFC Proxy(業(yè)務(wù)代理設(shè)備)。SFF和SFC Proxy作為SRv6 TE Policy中重要的節(jié)點(diǎn),必然有自己的SID(Segment ID)。重要節(jié)點(diǎn)的SID稱為Endpoint SID,簡(jiǎn)稱end SID。在業(yè)務(wù)鏈中,SFF及SFC Proxy的end SID的類型為end.AS,其作用為暫時(shí)剝離SRH暴露Payload轉(zhuǎn)發(fā)至指定出接口并緩存Segment List,當(dāng)流量轉(zhuǎn)發(fā)回SFF節(jié)點(diǎn)時(shí)重新將緩存的Segment List添加至剛才的數(shù)據(jù)包重新成為SRH。SFC Proxy節(jié)點(diǎn)cache SRH過(guò)程如圖2所示。
圖2 SFC Proxy節(jié)點(diǎn)cache SRH過(guò)程
1.2網(wǎng)絡(luò)架構(gòu)
業(yè)務(wù)鏈可以解決SRv6 TE Policy鏈路中下掛其他服務(wù)的問(wèn)題,SFC流量走向如圖3所示。
圖3 SFC流量走向圖
流量從R1發(fā)起,在R2(Policy頭節(jié)點(diǎn))進(jìn)入業(yè)務(wù)鏈,由于下一跳為SFF節(jié)點(diǎn),所以流量并沒(méi)有按照Segment List向下轉(zhuǎn)發(fā),而是先從SFF轉(zhuǎn)發(fā)到其下掛的服務(wù)節(jié)點(diǎn)SF1和SF2,回到SFF節(jié)點(diǎn)后繼續(xù)轉(zhuǎn)發(fā)至R3回到尾節(jié)點(diǎn)并彈出SRH頭部終結(jié)業(yè)務(wù)鏈。而當(dāng)SFF節(jié)點(diǎn)下掛的安全服務(wù)并不支持SRv6功能時(shí),SFF節(jié)點(diǎn)應(yīng)變?yōu)镾FC Proxy節(jié)點(diǎn),具有代理SRv6并緩存(cache)SRH頭部的功能。
0 2
新型高防設(shè)計(jì)思路
針對(duì)SRv6 TE Policy SFC的特點(diǎn),可以知道SFF節(jié)點(diǎn)下可以下掛任何安全能力,包括具有SRv6功能的安全服務(wù)和不具備SRv6功能的普通安全服務(wù),這使得SRv6 TE Policy SFC技術(shù)的普適性大大增加。由于現(xiàn)在市面上的安全能力普遍不具備SRv6功能,所以本文以SRv6 TE Policy SFC unaware架構(gòu)為基礎(chǔ),設(shè)計(jì)了基于SRv6 TE Policy+流量負(fù)載設(shè)備的新型高防資源池架構(gòu)。
新型高防架構(gòu)分為2個(gè)部分:安全資源池外的流量牽引部分以及安全資源池內(nèi)的流量調(diào)度部分。安全資源池外的流量牽引部分以SRv6 TE Policy SFC技術(shù)為主,策略路由(PBR或BGP Flowspec)為輔來(lái)完成,首先需要將下掛高防服務(wù)的路由器SR(Service Router)以及多臺(tái)高防業(yè)務(wù)需求區(qū)域路由器AR(Area Router)建立SRv6 TE Policy,在建立Policy后,SR承擔(dān)了SFC Proxy的角色,負(fù)責(zé)與高防資源池內(nèi)部對(duì)接并將SRv6中攜帶的Payload轉(zhuǎn)發(fā)至高防資源池內(nèi)。AR利用PBR將所需要防護(hù)的業(yè)務(wù)流量轉(zhuǎn)發(fā)至Policy中從而使得被防護(hù)流量進(jìn)入業(yè)務(wù)鏈。根據(jù)業(yè)務(wù)鏈中Segment List流量將會(huì)被轉(zhuǎn)發(fā)至SFC Proxy節(jié)點(diǎn),SFC Proxy會(huì)根據(jù)end.AS將Source Address、Segment List緩存并將Payload轉(zhuǎn)發(fā)至高防資源池內(nèi)部,而后將經(jīng)高防系統(tǒng)清洗后的流量重新加載緩存起來(lái)的SRH繼續(xù)根據(jù)Segment List轉(zhuǎn)發(fā)至Endpoint。新型高防安全資源池外流量走向如圖4所示。
圖4新型高防安全資源池外流量走向
安全資源池內(nèi)流量主要依靠流量負(fù)載設(shè)備進(jìn)行調(diào)度。數(shù)據(jù)報(bào)文經(jīng)過(guò)SFF節(jié)點(diǎn)后剝離SRH將Payload以及原始報(bào)文IP暴露給高防安全資源池內(nèi)部設(shè)備。
如果在新型高防資源池出口處部署一臺(tái)流量負(fù)載設(shè)備就可以與SFF設(shè)備對(duì)接,也可以在高防中的WAF接收到流量前通過(guò)DNAT將目的地址修改為高防系統(tǒng)的IP,因?yàn)閃AF只能接收目的地址是自己的數(shù)據(jù)報(bào)文,這樣高防中的WAF才能夠與流量發(fā)起者建立TCP連接。當(dāng)WAF收到流量后通過(guò)自身的代理模式以及WAF的7層防護(hù)原理,會(huì)將數(shù)據(jù)包的源地址修改為自身IP地址,而目的地址修改為防護(hù)網(wǎng)站所對(duì)應(yīng)的IP地址,隨后數(shù)據(jù)包會(huì)根據(jù)目的地址查找路由轉(zhuǎn)發(fā)至流量負(fù)載設(shè)備,并繼續(xù)轉(zhuǎn)發(fā)至SFF設(shè)備入接口。SFF設(shè)備會(huì)將報(bào)文通過(guò)cache list重新封裝為SRv6報(bào)文并繼續(xù)根據(jù)Segment List轉(zhuǎn)發(fā)(SRv6部分詳細(xì)轉(zhuǎn)發(fā)流程已在上文提及,不做贅述)。新型高防安全資源池內(nèi)上行流量走向如圖5所示。
圖5新型高防安全資源池內(nèi)上行流量走向
當(dāng)下行數(shù)據(jù)報(bào)文從源站通過(guò)路由尋址再次返回高防資源池內(nèi)時(shí),數(shù)據(jù)報(bào)文通過(guò)流量負(fù)載設(shè)備直接進(jìn)入高防資源池內(nèi)WAF中,由于此時(shí)目的地址為WAF IP地址,故流量可直接進(jìn)入WAF中并完成下行流量防護(hù),至此高防系統(tǒng)與目標(biāo)源站的TCP連接建立完成。
數(shù)據(jù)包經(jīng)過(guò)高防系統(tǒng)WAF后返回流量負(fù)載設(shè)備,負(fù)載設(shè)備將此數(shù)據(jù)包通過(guò)SNAT將源地址由WAF地址轉(zhuǎn)換為防護(hù)網(wǎng)站地址,并根據(jù)路由轉(zhuǎn)發(fā)至訪問(wèn)者終端,完成一次完整通信。新型高防安全資源池內(nèi)下行流量走向如圖6所示。
圖6新型高防安全資源池內(nèi)下行流量走向
正如前文所述,高防是集成了防御4層(DDoS)+7層(滲透)攻擊的高級(jí)防御系統(tǒng),那么4層攻擊的防御如何與新型高防的網(wǎng)絡(luò)架構(gòu)相結(jié)合呢?借鑒于抗DDoS的防御原則,防御手段越靠近攻擊源,DDoS攻擊的危害就越小,可以將抗DDoS的防御手段盡可能地向流量發(fā)起者方向部署。在新型高防系統(tǒng)中,最靠近流量發(fā)起者(攻擊者)的地點(diǎn)為AR1,所以需要想辦法在AR1集成抗DDoS的手段,經(jīng)過(guò)流量清洗后再進(jìn)入SRv6隧道。傳統(tǒng)的抗DDoS流量牽引手段為明細(xì)路由轉(zhuǎn)發(fā),即在原主干鏈路中將要進(jìn)行清洗的流量通過(guò)明細(xì)路由的方式將下一跳指向抗DDoS流量清洗設(shè)備。
流量清洗完成后數(shù)據(jù)流回注至另一臺(tái)回注路由器或回注VRF。如果回注VRF配置在AR1上,那么則需要將本地的策略路由刪除,并在回注VRF中再次配置策略路由將流量重定向到SRv6 Policy+業(yè)務(wù)鏈中。抗D+高防系統(tǒng)完整防護(hù)結(jié)構(gòu)如圖7所示。
圖7抗D+高防系統(tǒng)完整防護(hù)結(jié)構(gòu)
0 3
新型高防優(yōu)勢(shì)與應(yīng)用場(chǎng)景
3.1新型高防的優(yōu)勢(shì)
新型高防系統(tǒng)與傳統(tǒng)高防系統(tǒng)相比,具有以下幾方面的優(yōu)勢(shì)。
a)被防護(hù)網(wǎng)站無(wú)需修改DNS域名指向,對(duì)于SaaS化安全服務(wù)廠商來(lái)說(shuō)可以為用戶提供“即插即用”式的高防服務(wù)。
b)可根據(jù)鏈路狀態(tài)為用戶提供不同等級(jí)的安全服務(wù),由于鏈路采用了SRv6 TE Policy技術(shù),所有Segment List包含的節(jié)點(diǎn)都可以以不同的Color進(jìn)行染色操作,不同Color的鏈路可以根據(jù)用戶需要進(jìn)行不同的選擇,為用戶的SLA提供了更高級(jí)別的保障。
c)資源池內(nèi)部的調(diào)度方式更加豐富,對(duì)于支持SRv6的安全設(shè)備,可以通過(guò)SFF節(jié)點(diǎn)直接進(jìn)行流量調(diào)度,對(duì)于不支持SRv6的設(shè)備,也可以通過(guò)下掛其他流量調(diào)度設(shè)備進(jìn)行流量負(fù)載以及流量編排功能。
3.2新型高防的應(yīng)用場(chǎng)景(云安全服務(wù)商)
對(duì)于云安全服務(wù)商來(lái)說(shuō),由于資源限制,高防中心或高防IDC不會(huì)在每個(gè)地區(qū)都進(jìn)行部署建設(shè),新型高防系統(tǒng)架構(gòu)可以讓流量調(diào)度手段更加豐富,使用SRv6進(jìn)行流量牽引無(wú)疑是更好的選擇,新型高防對(duì)于客戶的接入性也更加友好。云安全服務(wù)商可以在運(yùn)營(yíng)商設(shè)備下掛載自己的網(wǎng)絡(luò)設(shè)備及高防。當(dāng)有用戶需要接入高防系統(tǒng)的時(shí)候,可以先通過(guò)BGP將明細(xì)路由發(fā)送至運(yùn)營(yíng)商設(shè)備,將目的地址為防護(hù)用戶的流量牽引至云安全服務(wù)商自有網(wǎng)絡(luò)設(shè)備,然后通過(guò)策略路由或Flowspec的方式將流量重定向至SRv6 Policy中,從而通過(guò)新型高防系統(tǒng)網(wǎng)絡(luò)架構(gòu)完成用戶的安全防護(hù)。
0 4
結(jié)束語(yǔ)
近年來(lái),隨著IPv6技術(shù)的發(fā)展以及國(guó)家對(duì)于IPv6技術(shù)的推進(jìn),越來(lái)越多基于IPv6的技術(shù)應(yīng)運(yùn)而生,SRv6就是其中之一。本文利用SRv6技術(shù)原理,結(jié)合現(xiàn)有技術(shù)及安全能力,將分布式部署的各種安全能力通過(guò)SRv6 TE Policy業(yè)務(wù)鏈技術(shù)整合到一起,更好地做到了資源整合、云網(wǎng)安一體等功能。同樣,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,安全話題會(huì)越來(lái)越成為人們關(guān)注的焦點(diǎn)。利用優(yōu)勢(shì)技術(shù),使網(wǎng)絡(luò)安全能力越來(lái)越方便地接入普通用戶的環(huán)境也是需要探索的重點(diǎn)之一,這樣才會(huì)有更多的人使用安全防護(hù)能力,才能保證人們的資產(chǎn)越來(lái)越安全,越來(lái)越不會(huì)被侵犯。
作者簡(jiǎn)介
徐寶辰,畢業(yè)于西安電子科技大學(xué),學(xué)士,主要從事網(wǎng)絡(luò)安全產(chǎn)品的研發(fā)工作;
余思陽(yáng),畢業(yè)于北京郵電大學(xué),工程師,碩士,從事網(wǎng)絡(luò)安全體系規(guī)劃及產(chǎn)品研究工作;
李長(zhǎng)連,畢業(yè)于西北工業(yè)大學(xué),高級(jí)工程師,主要從事網(wǎng)絡(luò)安全技術(shù)方向的研究工作;
李發(fā)財(cái),高級(jí)工程師,主要從事網(wǎng)絡(luò)安全前沿領(lǐng)域研究、網(wǎng)絡(luò)安全產(chǎn)品規(guī)劃、架構(gòu)設(shè)計(jì)及指導(dǎo)研發(fā)落地工作;
趙通,畢業(yè)于中國(guó)農(nóng)業(yè)大學(xué),碩士,主要從事網(wǎng)絡(luò)安全產(chǎn)品及安全技術(shù)方向的研究工作。