趙通,余思陽(yáng),李長(zhǎng)連,楊飛,吳濤(.中訊郵電咨詢?cè)O(shè)計(jì)院有限公司,北京 00048;.中國(guó)聯(lián)合網(wǎng)絡(luò)通信集團(tuán)有限公司,北京 00033)
DDoS攻擊又稱分布式拒絕服務(wù)攻擊,是互聯(lián)網(wǎng)中最常見(jiàn)的網(wǎng)絡(luò)攻擊手段之一,攻擊者利用“肉雞”對(duì)目標(biāo)網(wǎng)站在較短的時(shí)間內(nèi)發(fā)起大量請(qǐng)求,大規(guī)模消耗目標(biāo)網(wǎng)站的主機(jī)資源,讓它無(wú)法正常服務(wù)。目前網(wǎng)絡(luò)游戲、互聯(lián)網(wǎng)金融、電商、直播等行業(yè)是DDoS 攻擊的重災(zāi)區(qū)。
DDoS攻擊的低成本進(jìn)一步降低了攻擊門檻,卡巴斯基發(fā)布過(guò)一篇有關(guān)DDoS 攻擊成本分析的文章,據(jù)專家估計(jì),使用1 000 臺(tái)基于云的僵尸網(wǎng)絡(luò)進(jìn)行DDoS攻擊的成本約為每小時(shí)18美元。但對(duì)企業(yè)來(lái)說(shuō),針對(duì)DDoS 攻擊的防御費(fèi)用總體成本往往高達(dá)數(shù)萬(wàn)甚至數(shù)百萬(wàn)美元。
除傳統(tǒng)的4 層DDoS 攻擊以外,當(dāng)前互聯(lián)網(wǎng)中Web應(yīng)用越來(lái)越豐富,導(dǎo)致應(yīng)用層攻擊越來(lái)越嚴(yán)重。SQL注入、網(wǎng)頁(yè)篡改、網(wǎng)頁(yè)掛馬等安全事件頻繁發(fā)生。對(duì)于互聯(lián)網(wǎng)Web應(yīng)用來(lái)說(shuō),Web防護(hù)、CC攻擊防護(hù)(借助代理服務(wù)器生成指向受害主機(jī)的大量合法請(qǐng)求)也越來(lái)越重要。
高防系統(tǒng)就是為了解決DDoS 攻擊、CC 攻擊而設(shè)計(jì)開(kāi)發(fā)的。
當(dāng)互聯(lián)網(wǎng)服務(wù)器遭受大流量的DDoS 攻擊時(shí),高防系統(tǒng)可以保護(hù)其應(yīng)用服務(wù)持續(xù)可用。高防系統(tǒng)通過(guò)多種方式,調(diào)度流量到高防網(wǎng)絡(luò)清洗,以抵御流量型和資源耗盡型DDoS攻擊。
高防系統(tǒng)就是一個(gè)集合了DDoS 攻擊防護(hù)、CC 攻擊防護(hù)、多協(xié)議支持、隱藏源站等安全能力的綜合性安全防護(hù)系統(tǒng)。此外,高防系統(tǒng)還可以為客戶提供CDN 服務(wù),大幅降低客戶服務(wù)器壓力,以及客戶訪問(wèn)的延遲。
高防系統(tǒng)通過(guò)反向代理源站,在攻擊者和源站之間構(gòu)建了一道安全閘,它可以解決下述問(wèn)題。
1.1.1 避免源IP直接暴露公網(wǎng)
不論是通過(guò)域名引流,還是IP 引流,高防系統(tǒng)都可以將源站地址進(jìn)行隱藏,所有的攻擊流量都會(huì)被引流到高防系統(tǒng)并進(jìn)行清洗,大大減小源IP 被攻擊的可能性。
1.1.2 隱藏用戶站點(diǎn)敏感信息
由于所有的業(yè)務(wù)流量都是通過(guò)高防系統(tǒng)轉(zhuǎn)發(fā)到源站及客戶,轉(zhuǎn)發(fā)過(guò)程中可以對(duì)訪問(wèn)信息做篩選及更改,隱藏用戶站點(diǎn)敏感信息,可以避免源站開(kāi)發(fā)者因缺乏安全意識(shí)導(dǎo)致系統(tǒng)信息(建站程序、版本等信息等)泄露,提高源站安全性。
1.1.3 攔截非業(yè)務(wù)協(xié)議請(qǐng)求
由于所有的業(yè)務(wù)流量都是通過(guò)高防系統(tǒng)轉(zhuǎn)發(fā)到源站及客戶,在轉(zhuǎn)發(fā)過(guò)程中可以對(duì)流量的協(xié)議做篩選,清洗掉異常協(xié)議的流量,只轉(zhuǎn)發(fā)合法協(xié)議的流量到源站,在降低源站處理負(fù)擔(dān)的同時(shí),提高源站的安全性。
1.1.4 對(duì)接入系統(tǒng)進(jìn)行4層及7層防護(hù)
基于抗DDoS 清洗設(shè)備以及高防服務(wù)器,可以對(duì)接入系統(tǒng)進(jìn)行4層到7層流量的清洗。
娛樂(lè)(游戲)行業(yè)是DDoS 攻擊的重災(zāi)區(qū),高防系統(tǒng)能保證游戲的可用性和持續(xù)性,提高用戶體驗(yàn),在商家活動(dòng)、節(jié)日游戲等旺季時(shí)段提供防護(hù)。
滿足金融行業(yè)的合規(guī)性要求,保證線上交易的實(shí)時(shí)性、安全穩(wěn)定性。
滿足國(guó)家政務(wù)云建設(shè)標(biāo)準(zhǔn)的安全需求,為重大會(huì)議、活動(dòng)、敏感時(shí)期提供安全保障,確保民生服務(wù)正??捎茫S護(hù)政府公信力。
為用戶訪問(wèn)互聯(lián)網(wǎng)提供防護(hù),使業(yè)務(wù)正常不中斷,在電商大促等活動(dòng)時(shí)段提供防護(hù)功能。
保證企業(yè)站點(diǎn)服務(wù)持續(xù)可用,避免DDoS 攻擊造成經(jīng)濟(jì)和企業(yè)形象損失,降低維護(hù)費(fèi)用,節(jié)省安全成本。
高防系統(tǒng)的整體架構(gòu)圖如圖1 所示,其主要由以下幾個(gè)部分組成。
圖1 整體架構(gòu)圖
2.1.1 清洗設(shè)備
通過(guò)對(duì)互聯(lián)網(wǎng)訪問(wèn)公網(wǎng)IP 的業(yè)務(wù)流量進(jìn)行實(shí)時(shí)監(jiān)測(cè),及時(shí)發(fā)現(xiàn)異常DDoS 攻擊流量。在不影響正常業(yè)務(wù)的前提下,根據(jù)用戶配置的防護(hù)策略,清洗掉攻擊流量。同時(shí)為用戶生成監(jiān)控報(bào)表,清晰展示網(wǎng)絡(luò)流量的安全狀況。清洗設(shè)備主要用于防御4 層DDoS 攻擊。
2.1.2 防護(hù)集群
防護(hù)用于代理客戶業(yè)務(wù)的服務(wù)器,具有多核CPU、大內(nèi)存、大帶寬以及配套的安全軟硬件,防護(hù)節(jié)點(diǎn)可以根據(jù)客戶需求或者防御大流量DDoS 攻擊時(shí)進(jìn)行動(dòng)態(tài)調(diào)整。
高防系統(tǒng)的防護(hù)集群是連接用戶及源站的橋梁,也是抵御DDoS 攻擊和CC 攻擊的有效屏障。為了處理海量訪問(wèn)和攻擊流量,降低訪問(wèn)延遲,最大化利用硬件性能,防護(hù)集群一般是由物理機(jī)直接部署業(yè)務(wù),而不是采用虛擬化部署的方式。
2.1.3 智能DNS服務(wù)器
DNS 服務(wù)器用于配置CNAME 記錄(又稱為別名記錄,這種記錄允許將多個(gè)域名映射到另外一個(gè)域名),它可以擺脫源站域名的限制,自由地實(shí)現(xiàn)將業(yè)務(wù)流量引流到防護(hù)集群。通過(guò)CNAME 引流是目前主流的引流方式。
2.1.4 日志集群
日志集群保存了所有流經(jīng)防護(hù)集群的流量日志,該日志保存了每個(gè)請(qǐng)求處理后的關(guān)鍵信息,用于發(fā)現(xiàn)異常流量時(shí)的回溯查詢以及流量分析。
2.1.5 管理中心
管理中心用于向DNS 服務(wù)器發(fā)送域名解析記錄,管理防護(hù)集群的防護(hù)策略,管理清洗設(shè)備策略,根據(jù)日志集群數(shù)據(jù)生成運(yùn)營(yíng)報(bào)告,實(shí)時(shí)監(jiān)控其他組件的運(yùn)行狀態(tài)等,它是高防系統(tǒng)的統(tǒng)一管理平臺(tái)。
2.2.1 域名CNAME引流
防護(hù)對(duì)象通過(guò)更改自己的域名記錄,將域名記錄(一般為A 記錄)更改為高防系統(tǒng)生成的CNAME 記錄,高防系統(tǒng)就可以通過(guò)更改CNAME 記錄指向的IP地址,控制訪問(wèn)防護(hù)對(duì)象的流量訪問(wèn)高防系統(tǒng),高防系統(tǒng)收到用戶業(yè)務(wù)流量,進(jìn)行4 層和7 層流量清洗后轉(zhuǎn)發(fā)給防護(hù)對(duì)象源站,防護(hù)對(duì)象源站的返回結(jié)果再由高防系統(tǒng)轉(zhuǎn)發(fā)給用戶。
CNAME 引流過(guò)程如圖2 所示,在其中高防系統(tǒng)充當(dāng)了部署在云端的防火墻以及防護(hù)對(duì)象的反向代理服務(wù)器。
圖2 CNAME引流過(guò)程
2.2.2 對(duì)于IP地址類服務(wù)的引流
在生產(chǎn)環(huán)境中,并不是所有業(yè)務(wù)系統(tǒng)都配置有域名,對(duì)于直接使用IP 訪問(wèn)的業(yè)務(wù)系統(tǒng),可以通過(guò)配置高防系統(tǒng),分配一個(gè)獨(dú)立的高防IP 地址,實(shí)現(xiàn)網(wǎng)站IP地址與高防IP 地址資源的一對(duì)一配置,從而將訪問(wèn)流量牽引至高防平臺(tái)系統(tǒng)。IP 地址引流過(guò)程如圖3 所示。
圖3 IP地址引流
由于高防系統(tǒng)出色的抗DDoS 和抗CC 攻擊能力,吸引了很多容易受到攻擊的業(yè)務(wù)系統(tǒng)接入。通常來(lái)說(shuō),高防服務(wù)提供廠商會(huì)建設(shè)多個(gè)高性能的高防能力資源池,用來(lái)負(fù)載客戶的業(yè)務(wù)流量。
但是在實(shí)際運(yùn)營(yíng)過(guò)程中,存在以下痛點(diǎn)。
a)資源池計(jì)算能力有限,提供過(guò)多的計(jì)算資源會(huì)導(dǎo)致浪費(fèi)。
b)不同業(yè)務(wù)系統(tǒng)的需求不同。
c)同一個(gè)業(yè)務(wù)系統(tǒng),在不同時(shí)間對(duì)資源的需求不同。
d)遇到攻擊時(shí),需要的資源和日常運(yùn)營(yíng)過(guò)程中的需求不同。
e)業(yè)務(wù)供給需要手動(dòng)調(diào)整,操作復(fù)雜,也無(wú)法保證實(shí)時(shí)性。
彈性擴(kuò)縮容技術(shù)可以解決上述痛點(diǎn)。
自動(dòng)化彈性擴(kuò)縮容的技術(shù)可以將資源合理地分配給用戶。簡(jiǎn)單來(lái)說(shuō),彈性擴(kuò)縮容主要分為2個(gè)步驟:監(jiān)測(cè)業(yè)務(wù)指標(biāo)的波動(dòng)和自動(dòng)調(diào)整資源編排。
2.3.1 彈性擴(kuò)縮容監(jiān)測(cè)技術(shù)
監(jiān)測(cè)業(yè)務(wù)指標(biāo)的波動(dòng)情況會(huì)涉及到彈性擴(kuò)縮容監(jiān)測(cè)技術(shù),監(jiān)測(cè)的主要原則如下。
a)對(duì)于業(yè)務(wù)有固定高峰和低谷的系統(tǒng),可以使用定時(shí)功能,差異化的配置高峰時(shí)間段和低谷時(shí)間段的計(jì)算資源數(shù)量(高防服務(wù)器節(jié)點(diǎn)數(shù)量)。高防系統(tǒng)可以根據(jù)設(shè)定的時(shí)間,自動(dòng)調(diào)整分配給該業(yè)務(wù)的資源數(shù)量。
b)如果業(yè)務(wù)量變動(dòng)不規(guī)律,難以預(yù)測(cè),可以通過(guò)云監(jiān)控系統(tǒng)來(lái)監(jiān)控使用中的資源的負(fù)載情況,自動(dòng)執(zhí)行擴(kuò)縮容的策略。例如,設(shè)定CPU 負(fù)載超過(guò)50%或者內(nèi)存超過(guò)70%,或者QPS大于20 000時(shí),自動(dòng)擴(kuò)容一臺(tái)新的高防服務(wù)器。當(dāng)CPU 負(fù)載低于20%,或者內(nèi)存使用率低于20%時(shí),自動(dòng)縮容一臺(tái)高防服務(wù)器。
c)引入深度學(xué)習(xí)算法,經(jīng)過(guò)一段時(shí)間的訓(xùn)練后,對(duì)每個(gè)業(yè)務(wù)系統(tǒng)建立業(yè)務(wù)流量趨勢(shì)模型,提供給客戶進(jìn)行參考。
d)支持資源設(shè)置的上下限,可以避免在負(fù)載高的時(shí)候分配過(guò)多的資源,導(dǎo)致客戶無(wú)法承受防護(hù)成本,也可以避免在資源分配過(guò)少時(shí),無(wú)法實(shí)現(xiàn)高可用的情況。
e)支持異地資源彈性擴(kuò)縮容,當(dāng)異地資源故障隔離時(shí),保障業(yè)務(wù)系統(tǒng)不會(huì)因?yàn)閱吸c(diǎn)的故障導(dǎo)致業(yè)務(wù)中斷。
f)不同的業(yè)務(wù)系統(tǒng)所關(guān)注的擴(kuò)縮容指標(biāo)不盡相同,高防系統(tǒng)應(yīng)該支持定制化的監(jiān)測(cè)手段,提供對(duì)應(yīng)的API 接口,并可以根據(jù)客戶的需求自由創(chuàng)建擴(kuò)縮容策略。
2.3.2 彈性擴(kuò)縮容的過(guò)程
自動(dòng)調(diào)整資源編排是彈性擴(kuò)縮容的核心內(nèi)容,下面分別對(duì)彈性擴(kuò)容和彈性縮容的過(guò)程作出說(shuō)明。
彈性擴(kuò)容流程圖如圖4所示,具體過(guò)程如下。
圖4 彈性擴(kuò)容流程圖
a)用戶在管理中心配置動(dòng)態(tài)擴(kuò)縮容的策略,可以根據(jù)流量的“潮汐”效應(yīng)和單臺(tái)服務(wù)器的負(fù)載上限,配置不同時(shí)間段使用的高防服務(wù)器的數(shù)量,同時(shí)可以啟用不同資源池的服務(wù)器,避免單點(diǎn)故障。
b)管理中心采集防護(hù)集群服務(wù)器的實(shí)時(shí)流量,負(fù)載情況,結(jié)合日志服務(wù)器數(shù)據(jù),計(jì)算流量變化趨勢(shì)。當(dāng)監(jiān)控指標(biāo)觸發(fā)用戶設(shè)定的策略時(shí),選定擴(kuò)容服務(wù)器,觸發(fā)彈性擴(kuò)縮容動(dòng)作。
c)觸發(fā)彈性擴(kuò)容時(shí),管理中心首先檢查新增防護(hù)服務(wù)器的配置,確認(rèn)服務(wù)器的硬件、數(shù)據(jù)庫(kù)和核心進(jìn)程是否正常,并根據(jù)需要負(fù)載的業(yè)務(wù)的情況,同步業(yè)務(wù)配置數(shù)據(jù)(如防護(hù)規(guī)則等)、配置防火墻策略,自動(dòng)配置上連交換機(jī)的ACL 策略,確保只開(kāi)放必要的端口。
d)管理中心向DNS服務(wù)器下發(fā)指令,添加擴(kuò)容服務(wù)器IP 地址到CNAME 記錄中。域名收斂時(shí)間一般為3~5 min,為了保證業(yè)務(wù)系統(tǒng)平穩(wěn)地進(jìn)行彈性擴(kuò)容,引入DNS 刷新系統(tǒng)。在修改CNAME 記錄后,高防系統(tǒng)會(huì)調(diào)用DNS 刷新系統(tǒng),強(qiáng)制刷新部署在全國(guó)各關(guān)鍵節(jié)點(diǎn)的DNS 緩存服務(wù)器中該CNAME 記錄,可以將收斂時(shí)間縮短到0.5~2 min。
e)管理中心監(jiān)測(cè)擴(kuò)容服務(wù)器流量信息,超過(guò)3 min 沒(méi)有正常流量,會(huì)向運(yùn)營(yíng)人員發(fā)出告警,運(yùn)營(yíng)人員介入進(jìn)行處理。
彈性縮容流程圖如圖5所示,具體過(guò)程如下。
圖5 彈性縮容流程圖
a)用戶配置擴(kuò)縮容策略。
b)管理平臺(tái)進(jìn)行監(jiān)控,當(dāng)監(jiān)控指標(biāo)觸發(fā)用戶設(shè)定的策略時(shí),根據(jù)策略選擇需要縮容的服務(wù)器,觸發(fā)縮容動(dòng)作。
c)觸發(fā)彈性縮容時(shí),管理中心向DNS 服務(wù)器下發(fā)指令,刪除CNAME 記錄中縮容服務(wù)器IP 地址。同時(shí)調(diào)用域名刷新系統(tǒng),減小域名收斂時(shí)間。
d)管理中心持續(xù)監(jiān)測(cè)縮容服務(wù)器中的業(yè)務(wù)流量,由于DNS 緩存的原因,縮容服務(wù)器的對(duì)應(yīng)業(yè)務(wù)流量并不會(huì)立刻縮小為0,流量會(huì)隨著時(shí)間逐步減小,當(dāng)流量減小到用戶設(shè)定的閾值或者到達(dá)用戶設(shè)定的延遲關(guān)閉時(shí)間后,管理中心會(huì)刪除該服務(wù)器上的業(yè)務(wù)配置數(shù)據(jù),在該服務(wù)器上配置防火墻策略,修改上連交換機(jī)的ACL策略。至此,縮容過(guò)程完成。
本文首先對(duì)高防系統(tǒng)整體架構(gòu)以及核心技術(shù)做了簡(jiǎn)要介紹,接著就高防系統(tǒng)在日常運(yùn)營(yíng)過(guò)程中的痛點(diǎn)做了深入分析,并且提出了自動(dòng)化彈性擴(kuò)縮容的具體目標(biāo)和實(shí)現(xiàn)方法。
隨著互聯(lián)網(wǎng)服務(wù)重要性的提高,各行業(yè)對(duì)網(wǎng)絡(luò)安全的要求會(huì)越來(lái)越高。高防系統(tǒng)是與DDoS 攻擊、CC攻擊戰(zhàn)斗的有力武器,高防系統(tǒng)的自動(dòng)化運(yùn)營(yíng)也會(huì)越來(lái)越重要,通過(guò)彈性擴(kuò)縮容技術(shù),可以為客戶和高防服務(wù)提供商節(jié)約成本,減小運(yùn)營(yíng)人員壓力,提高服務(wù)質(zhì)量,達(dá)到事半功倍的效果。