一、目的
恒訊科技實(shí)現(xiàn)了對(duì)香港服務(wù)器境外節(jié)點(diǎn)的加速訪問(wèn),分區(qū)域分線加速,防御來(lái)自競(jìng)爭(zhēng)對(duì)手的DDos惡意攻擊,常見(jiàn)的延遲CC攻擊和致命大流量攻擊。針對(duì)上述加速策略和兩種攻擊方式,簡(jiǎn)要介紹了幾種防御方案。
二、CDN加速
利用第三方的DNS智能解析分區(qū)域分線路進(jìn)行,就近原則,例如Cloudxns/DNSpod/51DNS/DNSla等。
1.CDN節(jié)點(diǎn)選擇:
主要節(jié)點(diǎn)選擇香港VPS,其他節(jié)點(diǎn)根據(jù)應(yīng)用的部署區(qū)域進(jìn)行優(yōu)選(馬來(lái)、新加坡、柬埔寨、菲律賓等),旁路做流量清理(遭遇攻擊),可選擇美國(guó)高防御VPS引流。
2.自建CDN優(yōu)勢(shì):
旁路做流量清洗
資源充分利用:無(wú)攻擊時(shí),做路由加速,被攻擊時(shí)做節(jié)點(diǎn)切換
長(zhǎng)遠(yuǎn)規(guī)劃,后期可增加節(jié)點(diǎn)、硬件配置等,根據(jù)需要自由提升防御DDOS攻擊能力
3.架構(gòu)設(shè)計(jì):
我們將CDN節(jié)點(diǎn)分解成反向代理+緩存加速+攻擊防御這三個(gè)層次的功能結(jié)構(gòu)。
反向代理:路由加速,隱藏主節(jié)點(diǎn),負(fù)載均衡
緩存加速:靜態(tài)推送,節(jié)省后端主節(jié)點(diǎn)帶寬
攻擊防御:快速解析,建立syslog分析日志,匹配過(guò)濾惡意攻擊,多節(jié)點(diǎn)CDN可以采用聯(lián)動(dòng)方案,建立syslog系統(tǒng),采集所有節(jié)點(diǎn)訪問(wèn)日志,編寫(xiě)腳本分析日志,發(fā)現(xiàn)異常請(qǐng)求后通過(guò)ansible工具發(fā)送命令到節(jié)點(diǎn)。
三、攻擊防御
1.延緩性CC攻擊:
這類(lèi)攻擊的主要特點(diǎn)是,攻擊者借助網(wǎng)絡(luò)上提供的大量代理服務(wù)器IP,使用攻擊軟件,生成合法請(qǐng)求指向受害主機(jī)。這類(lèi)攻擊成本低,網(wǎng)上現(xiàn)成能發(fā)動(dòng)攻擊軟件多,其目的是通過(guò)漸增的垃圾請(qǐng)求,消耗CPU、內(nèi)存、網(wǎng)絡(luò)資源,造成擁堵,達(dá)到網(wǎng)站訪問(wèn)變慢,直至無(wú)法訪問(wèn)。
2.防御思路:
這類(lèi)攻擊有兩個(gè)特征比較明顯,第一個(gè)特征,由于是人為生成了大量的非法請(qǐng)求,所以會(huì)引發(fā)網(wǎng)絡(luò)的入口異常流量增大(正常情況下出口流量大,入口流量小);
第二個(gè)特征,攻擊力度有一個(gè)漸增的過(guò)程,機(jī)器可以充分利用這個(gè)時(shí)間智能做出反應(yīng),調(diào)用日志分析腳本,進(jìn)行引流和IP封殺。
具體策略:
1、采用監(jiān)控軟件的流量監(jiān)控來(lái)觸發(fā)日志分析腳本(zabbix為例)
2、采用python腳本統(tǒng)計(jì)入口流量,發(fā)現(xiàn)異常時(shí),調(diào)用日志分析腳本,第一時(shí)間找出IP、Agent等特征碼,利用iptables對(duì)惡意IP進(jìn)行過(guò)濾,應(yīng)用層上利用nginx關(guān)鍵詞進(jìn)行過(guò)濾。
致命的大流量攻擊:
這類(lèi)攻擊主要特點(diǎn)是,通常以tcp,icmp和UDP(尤其是UDP包,單UDP的數(shù)據(jù)包可以很大)方式為主,攻擊流量可以達(dá)到幾十GB以上,整個(gè)機(jī)房都能受到影響,攻擊者通常利用大量肉雞,對(duì)目標(biāo)進(jìn)行流量打擊,此時(shí)流量會(huì)迅速占滿服務(wù)器的帶寬,導(dǎo)致無(wú)法響應(yīng)任何用戶請(qǐng)求。
這類(lèi)攻擊需要購(gòu)置大量帶寬,對(duì)于攻擊者來(lái)說(shuō),成本還挺高,但是下手“快狠準(zhǔn)”,讓網(wǎng)站在短時(shí)間內(nèi)完全無(wú)響應(yīng)。
由于這類(lèi)攻擊會(huì)引起流量劇增,IDC通常采取的措施是丟車(chē)保帥,直接將被攻擊IP下線,這無(wú)疑是落井下石。
3、防御思路:
架設(shè)硬防火墻(成本高)
租用高防節(jié)點(diǎn)
租用大流量CDN分散目標(biāo)流量(引流)
長(zhǎng)久之計(jì),自建CDN
4、防御策略:
HAProxy+Nginx/Varnish/ATS組合,我們稱(chēng)它為防御型反向代理緩存策略,功能角色如下:
HAProxy負(fù)責(zé)動(dòng)靜資源分離,實(shí)現(xiàn)會(huì)話粘滯,節(jié)點(diǎn)負(fù)載均衡,故障轉(zhuǎn)移,開(kāi)啟HAProxy的httplog功能,做日志記錄
Nginx負(fù)責(zé)反向代理緩存
四、架構(gòu)細(xì)節(jié)
DNS智能解析+輪詢+存活監(jiān)測(cè):
1.部署智能DNS就近匹配CDN節(jié)點(diǎn)
我們自建CDN其中一個(gè)目的是做訪問(wèn)優(yōu)化,因此當(dāng)部署完多個(gè)CDN節(jié)點(diǎn)后,為使這些節(jié)點(diǎn)協(xié)同運(yùn)作,同時(shí)優(yōu)化用戶的訪問(wèn)路徑,使得訪客能夠根據(jù)自己所在的區(qū)域和線路類(lèi)型,就近從CDN節(jié)點(diǎn)上獲取頁(yè)面內(nèi)容,從而優(yōu)化訪客的路由。
2.DNS自動(dòng)輪詢+故障監(jiān)測(cè)
利用DNS輪詢來(lái)為網(wǎng)站進(jìn)行分流負(fù)載。如果條件充裕,后期可以部署冗余的CDN節(jié)點(diǎn),這樣既能緩解某個(gè)單一節(jié)點(diǎn)的負(fù)載,同時(shí)能為節(jié)點(diǎn)作互備,當(dāng)一個(gè)區(qū)內(nèi)的CDN節(jié)點(diǎn)因故障失效之后,調(diào)度機(jī)制要在最快時(shí)間內(nèi)將故障節(jié)點(diǎn)的流量牽引至當(dāng)前可用節(jié)點(diǎn),不影響訪客的正常請(qǐng)求。
3.日志分析+攻擊防御:
CDN作為網(wǎng)站的前端節(jié)點(diǎn),實(shí)時(shí)記錄著訪客的所有訪問(wèn)行為。利用好這些訪問(wèn)日志,對(duì)其進(jìn)行的分析和挖掘,感知業(yè)務(wù)層面的一些異?;顒?dòng),當(dāng)面臨DDoS攻擊時(shí),能夠提供足夠的證據(jù)來(lái)區(qū)分惡意的IP。
區(qū)分惡意攻擊的主要依據(jù)類(lèi)型有:
某個(gè)IP發(fā)起大量的并發(fā)請(qǐng)求
大量連續(xù)的IP段發(fā)起請(qǐng)求
大量無(wú)規(guī)則的IP發(fā)起請(qǐng)求
目前我們對(duì)HAProxy的日志分析僅作用于單節(jié)點(diǎn),可以利用下面的CDN圖形化管理工具對(duì)日志進(jìn)行統(tǒng)一管理。
4.多節(jié)點(diǎn)CDN圖形化管理工具:
管理和運(yùn)維一套CDN系統(tǒng)是一件很麻煩的事,想要實(shí)現(xiàn)快速部署、集中管理,我們可以利用軟件工具來(lái)管理所有CDN節(jié)點(diǎn),這里采用Fikker。
恒訊科技的高防CDN是國(guó)內(nèi)首家既能防御還能加速的一款CDN產(chǎn)品,擁有多年的防護(hù)經(jīng)驗(yàn),全球各地都有豐富的IDC資源,自動(dòng)分布節(jié)點(diǎn),保證質(zhì)量保證品質(zhì)保證快而穩(wěn)的客戶體驗(yàn)。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號(hào) IDC證:B1-20230800.移動(dòng)站