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