自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析大規(guī)模DDOS防御架構(gòu) 應(yīng)對(duì)T級(jí)攻防

安全 黑客攻防
在講防御之前簡(jiǎn)單介紹一下各類攻擊,因?yàn)镈DOS是一類攻擊而并不是一種攻擊,并且DDOS的防御是一個(gè)可以做到相對(duì)自動(dòng)化但做不到絕對(duì)自動(dòng)化的過(guò)程,很多演進(jìn)的攻擊方式自動(dòng)化不一定能識(shí)別,還是需要進(jìn)一步的專家肉眼判斷。

0x00 導(dǎo)讀

 

 

0x01 DDOS分類

在講防御之前簡(jiǎn)單介紹一下各類攻擊,因?yàn)镈DOS是一類攻擊而并不是一種攻擊,并且DDOS的防御是一個(gè)可以做到相對(duì)自動(dòng)化但做不到絕對(duì)自動(dòng)化的過(guò)程,很多演進(jìn)的攻擊方式自動(dòng)化不一定能識(shí)別,還是需要進(jìn)一步的專家肉眼判斷。

網(wǎng)絡(luò)層攻擊

Syn-flood

利用TCP建立連接時(shí)3次握手的“漏洞”,通過(guò)原始套接字發(fā)送源地址虛假的SYN報(bào)文,使目標(biāo)主機(jī)永遠(yuǎn)無(wú)法完成3次握手,占滿了系統(tǒng)的協(xié)議棧隊(duì)列,資源得不到釋放,進(jìn)而拒絕服務(wù),是互聯(lián)網(wǎng)中最主要的DDOS攻擊形式之一。網(wǎng)上有一些加固的方法,例如調(diào)整內(nèi)核參數(shù)的方法,可以減少等待及重試,加速資源釋放,在小流量syn-flood的情況下可以緩解,但流量稍大時(shí)完全不抵用。防御syn-flood的常見(jiàn)方法有:syn proxy、syn cookies、首包(第一次請(qǐng)求的syn包)丟棄等。

ACK-flood

對(duì)于虛假的ACK包,目標(biāo)設(shè)備會(huì)直接回復(fù)RST包丟棄連接,所以傷害值遠(yuǎn)不如syn-flood。DDOS的一種原始方式。

UDP-flood

使用原始套接字偽造大量虛假源地址的UDP包,目前以DNS協(xié)議為主。

ICMP-flood

Ping洪水,比較古老的方式。

應(yīng)用層攻擊

CC

ChallengeCollapsar的名字源于挑戰(zhàn)國(guó)內(nèi)知名安全廠商綠盟的抗DDOS設(shè)備-“黑洞”,通過(guò)botnet的傀儡主機(jī)或?qū)ふ夷涿矸?wù)器,向目標(biāo)發(fā)起大量真實(shí)的http請(qǐng)求,最終消耗掉大量的并發(fā)資源,拖慢整個(gè)網(wǎng)站甚至徹底拒絕服務(wù)。

互聯(lián)網(wǎng)的架構(gòu)追求擴(kuò)展性本質(zhì)上是為了提高并發(fā)能力,各種SQL性能優(yōu)化措施:消除慢查詢、分表分庫(kù)、索引、優(yōu)化數(shù)據(jù)結(jié)構(gòu)、限制搜索頻率等本質(zhì)都是為了解決資源消耗,而CC大有反其道而行之的意味,占滿服務(wù)器并發(fā)連接數(shù),盡可能使請(qǐng)求避開(kāi)緩存而直接讀數(shù)據(jù)庫(kù),讀數(shù)據(jù)庫(kù)要找最消耗資源的查詢,最好無(wú)法利用索引,每個(gè)查詢都全表掃描,這樣就能用最小的攻擊資源起到最大的拒絕服務(wù)效果。

互聯(lián)網(wǎng)產(chǎn)品和服務(wù)依靠數(shù)據(jù)分析來(lái)驅(qū)動(dòng)改進(jìn)和持續(xù)運(yùn)營(yíng),所以除了前端的APP、中間件和數(shù)據(jù)庫(kù)這類OLTP系統(tǒng),后面還有OLAP,從日志收集,存儲(chǔ)到數(shù)據(jù)處理和分析的大數(shù)據(jù)平臺(tái),當(dāng)CC攻擊發(fā)生時(shí),不僅OLTP的部分受到了影響,實(shí)際上CC會(huì)產(chǎn)生大量日志,直接會(huì)對(duì)后面的OLAP產(chǎn)生影響,影響包括兩個(gè)層面,一個(gè)當(dāng)日的數(shù)據(jù)統(tǒng)計(jì)完全是錯(cuò)誤的。第二個(gè)層面因CC期間訪問(wèn)日志劇增也會(huì)加大后端數(shù)據(jù)處理的負(fù)擔(dān)。

CC是目前應(yīng)用層攻擊的主要手段之一,在防御上有一些方法,但不能完美解決這個(gè)問(wèn)題。

DNS flood

偽造源地址的海量DNS請(qǐng)求,用于是淹沒(méi)目標(biāo)的DNS服務(wù)器。對(duì)于攻擊特定企業(yè)權(quán)威DNS的場(chǎng)景,可以將源地址設(shè)置為各大ISP DNS服務(wù)器的ip地址以突破白名單限制,將查詢的內(nèi)容改為針對(duì)目標(biāo)企業(yè)的域名做隨機(jī)化處理,當(dāng)查詢無(wú)法命中緩存時(shí),服務(wù)器負(fù)載會(huì)進(jìn)一步增大。

DNS不只在UDP-53提供服務(wù),同樣在TCP協(xié)議提供服務(wù),所以防御的一種思路就是將UDP的查詢強(qiáng)制轉(zhuǎn)為T(mén)CP,要求溯源,如果是假的源地址,就不再回應(yīng)。對(duì)于企業(yè)自有權(quán)威DNS服務(wù)器而言,正常請(qǐng)求多來(lái)自于ISP的域名遞歸解析,所以將白名單設(shè)置為ISP的DNS server列表。對(duì)于源地址偽造成ISP DNS的請(qǐng)求,可以通過(guò)TTL值進(jìn)一步判斷。

慢速連接攻擊

針對(duì)http協(xié)議,以知名的slowloris攻擊為起源:先建立http連接,設(shè)置一個(gè)較大的content-length,每次只發(fā)送很少的字節(jié),讓服務(wù)器一直以為http頭部沒(méi)有傳輸完成,這樣的連接一多很快就會(huì)出現(xiàn)連接耗盡。

目前出現(xiàn)了一些變種,http慢速的post請(qǐng)求和慢速的read請(qǐng)求都是基于相同的原理。

DOS攻擊

有些服務(wù)器程序存在bug、安全漏洞,或架構(gòu)性缺陷,攻擊者可以通過(guò)構(gòu)造的畸形請(qǐng)求發(fā)送給服務(wù)器,服務(wù)器因不能正確處理惡意請(qǐng)求而陷入僵死狀態(tài),導(dǎo)致拒絕服務(wù)。例如某些版本的app服務(wù)器程序存在緩沖區(qū)溢出,漏洞可以觸發(fā)但無(wú)法得到shell,攻擊者可以改變程序執(zhí)行流程使其跳轉(zhuǎn)到空指針或無(wú)法處理的地址,用戶態(tài)的錯(cuò)誤會(huì)導(dǎo)致進(jìn)程掛起,如果錯(cuò)誤不能被內(nèi)核回收則可能使系統(tǒng)當(dāng)?shù)簟?/p>

這類問(wèn)題效果也表現(xiàn)為拒絕服務(wù),但本質(zhì)上屬于漏洞,可以通過(guò)patch程序的最新版本解決,筆者認(rèn)為不屬于DDOS的范疇。

攻擊方式

混合型

在實(shí)際大流量的攻擊中,通常并不是以上述一種數(shù)據(jù)類型來(lái)攻擊,往往是混雜了TCP和UDP流量,網(wǎng)絡(luò)層和應(yīng)用層攻擊同時(shí)進(jìn)行。

反射型

2004年時(shí)DRDOS第一次披露,通過(guò)將SYN包的源地址設(shè)置為目標(biāo)地址,然后向大量的真實(shí)TCP服務(wù)器發(fā)送TCP的SYN包,而這些收到SYN包的TCP server為了完成3次握手把SYN|ACK包“應(yīng)答”給目標(biāo)地址,完成了一次“反射”攻擊,攻擊者隱藏了自身,但有個(gè)問(wèn)題是攻擊者制造的流量和目標(biāo)收到的攻擊流量是1:1,且SYN|ACK包到達(dá)目標(biāo)后馬上被回以RST包,整個(gè)攻擊的投資回報(bào)率不高。

反射型攻擊的本質(zhì)是利用“質(zhì)詢-應(yīng)答”式協(xié)議,將質(zhì)詢包的源地址通過(guò)原始套接字偽造設(shè)置為目標(biāo)地址,則應(yīng)答的“回包”都被發(fā)送至目標(biāo),如果回包體積比較大或協(xié)議支持遞歸效果,攻擊流量會(huì)被放大,成為一種高性價(jià)比的流量型攻擊。

反射型攻擊利用的協(xié)議目前包括NTP、Chargen、SSDP、DNS、RPC portmap等等。

流量放大型

以上面提到的DRDOS中常見(jiàn)的SSDP協(xié)議為例,攻擊者將Search type設(shè)置為ALL,搜索所有可用的設(shè)備和服務(wù),這種遞歸效果產(chǎn)生的放大倍數(shù)是非常大的,攻擊者只需要以較小的偽造源地址的查詢流量就可以制造出幾十甚至上百倍的應(yīng)答流量發(fā)送至目標(biāo)。

脈沖型

很多攻擊持續(xù)的時(shí)間非常短,通常5分鐘以內(nèi),流量圖上表現(xiàn)為突刺狀的脈沖。 

 

之所以這樣的攻擊流行是因?yàn)?ldquo;打-打-停-停”的效果最好,剛觸發(fā)防御閾值,防御機(jī)制開(kāi)始生效攻擊就停了,周而復(fù)始。蚊子不叮你,卻在耳邊飛,剛開(kāi)燈想打它就跑沒(méi)影了,當(dāng)你剛關(guān)燈它又來(lái)了,你就沒(méi)法睡覺(jué)。

自動(dòng)化的防御機(jī)制大部分都是依靠設(shè)置閾值來(lái)觸發(fā)。盡管很多廠商宣稱自己的防御措施都是秒級(jí)響應(yīng),但實(shí)際上比較難。

網(wǎng)絡(luò)層的攻擊檢測(cè)通常分為逐流和逐包,前者根據(jù)netflow以一定的抽樣比例(例如1000:1)檢測(cè)網(wǎng)絡(luò)是否存在ddos攻擊,這種方式因?yàn)槭浅闃颖壤?,所以精確度較低,做不到秒級(jí)響應(yīng)。第二種逐包檢測(cè),檢測(cè)精度和響應(yīng)時(shí)間較短,但成本比較高,一般廠商都不會(huì)無(wú)視TCO全部部署這類方案。即便是逐包檢測(cè),其防御清洗策略的啟動(dòng)也依賴于閾值,加上清洗設(shè)備一般情況下不會(huì)串聯(lián)部署,觸發(fā)清洗后需要引流,因此大部分場(chǎng)景可以做秒級(jí)檢測(cè)但做不到秒級(jí)防御,近源清洗尚且如此,云清洗的觸發(fā)和轉(zhuǎn)換過(guò)程就更慢了。所以利用防御規(guī)則的生效灰度期,在觸發(fā)防御前完成攻擊會(huì)有不錯(cuò)的效果,在結(jié)果上就表現(xiàn)為脈沖。

鏈路泛洪

隨著DDOS攻擊技術(shù)的發(fā)展,又出現(xiàn)了一種新型的攻擊方式link-flooding attack,這種方式不直接攻擊目標(biāo)而是以堵塞目標(biāo)網(wǎng)絡(luò)的上一級(jí)鏈路為目的。對(duì)于使用了ip anycast的企業(yè)網(wǎng)絡(luò)來(lái)說(shuō),常規(guī)的DDOS攻擊流量會(huì)被“分?jǐn)?rdquo;到不同地址的基礎(chǔ)設(shè)施,這樣能有效緩解大流量攻擊,所以攻擊者發(fā)明了一種新方法,攻擊至目標(biāo)網(wǎng)絡(luò)traceroute的倒數(shù)第二跳,即上聯(lián)路由,致使鏈路擁塞。國(guó)內(nèi)ISP目前未開(kāi)放anycast,所以這種攻擊方式的必要性有待觀望。 

 

對(duì)一級(jí)ISP和IXP的攻擊都可以使鏈路擁塞。#p#

0x02 多層防御結(jié)構(gòu)

DDOS攻擊本質(zhì)上是一種只能緩解而不能完全防御的攻擊,它不像漏洞那樣打個(gè)補(bǔ)丁解決了就是解決了,DDOS就算購(gòu)買和部署了當(dāng)前市場(chǎng)上比較有競(jìng)爭(zhēng)力的防御解決方案也完全談不上徹底根治。防火墻、IPS、WAF這些安全產(chǎn)品都號(hào)稱自己有一定的抗DDOS能力,而實(shí)際上他們只針對(duì)小流量下,應(yīng)用層的攻擊比較有效,對(duì)于稍大流量的DDOS攻擊則無(wú)濟(jì)于事。

以2015年年中的情況為例,國(guó)內(nèi)的DDOS攻擊在一個(gè)月內(nèi)攻擊流量達(dá)到300G的就將近10-20次,這個(gè)數(shù)值將隨著國(guó)內(nèi)家庭寬帶網(wǎng)速提升而進(jìn)一步放大。對(duì)于200~500G的攻擊流量該如何防御,下來(lái)將展示完整的防御結(jié)構(gòu),通??梢苑譃?層。 

 

這4層不是嚴(yán)格意義上的縱深防御關(guān)系,也不是在所有的防御中4層都會(huì)參與,可能有時(shí)候只是其中的2層參與防御。但對(duì)于超大流量攻擊而言,4層就是防御機(jī)制的全部,再?zèng)]有其他手段了。跟廠商們的市場(chǎng)宣傳可能有所不同,大流量攻擊的防護(hù)并不是像某些廠商宣稱的那樣靠廠商單方面就能解決的,而是多層共同參與防御的結(jié)果。

ISP/WAN層

這一層通常對(duì)最終用戶不可見(jiàn),如果只是中小企業(yè),那這一層可能真的不會(huì)接觸到。但如果是大型互聯(lián)網(wǎng)公司,公有云廠商,甚至是云清洗廠商,這層是必不可少的。因?yàn)楫?dāng)流量超過(guò)自己能處理的極限時(shí)必須要借助電信運(yùn)營(yíng)商的能力。大型互聯(lián)網(wǎng)公司雖然自身儲(chǔ)備的帶寬比較大,但還沒(méi)到達(dá)輕松抵抗大流量DDOS的程度,畢竟帶寬是所有IDC成本中最貴的資源沒(méi)有之一。目前無(wú)論是云計(jì)算廠商,大型互聯(lián)網(wǎng)公司向外宣稱的成功抵御200G以上攻擊的新聞背后都用到了運(yùn)營(yíng)商的抗D能力,另外像第三方的云清洗平臺(tái)他們實(shí)際上或多或少的依賴電信運(yùn)營(yíng)商,如果只依靠本身的清洗能力,都是非常有限的。

 

目前如中國(guó)電信的專門(mén)做抗DDOS的云堤提供了[近源清洗]和[流量壓制]的服務(wù),對(duì)于購(gòu)買其服務(wù)的廠商來(lái)說(shuō)可以自定義需要黑洞路由的IP與電信的設(shè)備聯(lián)動(dòng),黑洞路由是一種簡(jiǎn)單粗暴的方法,除了攻擊流量,部分真實(shí)用戶的訪問(wèn)也會(huì)被一起黑洞掉,對(duì)用戶體驗(yàn)是一種打折扣的行為,本質(zhì)上屬于為了保障留給其余用戶的鏈路帶寬的棄卒保帥的做法,之所以還會(huì)有這種收費(fèi)服務(wù)是因?yàn)榧偃绮贿@么做,全站服務(wù)會(huì)對(duì)所有用戶徹底無(wú)法訪問(wèn)。對(duì)于云清洗廠商而言,實(shí)際上也需要借助黑洞路由與電信聯(lián)動(dòng)。 

 

相比之下,對(duì)攻擊流量的牽引,清洗,回注的防御方式對(duì)用戶體驗(yàn)的挑戰(zhàn)沒(méi)那么大,但是跟黑洞路由比防御方的成本比較高,且觸發(fā)到響應(yīng)的延時(shí)較大。

在運(yùn)營(yíng)商防御這一層的主要的參與者是大型互聯(lián)網(wǎng)公司,公有云廠商,云清洗廠商,其最大的意義在于應(yīng)對(duì)超過(guò)自身帶寬儲(chǔ)備和自身DDOS防御能力之外的超大攻擊流量時(shí)作為補(bǔ)充性的緩解措施。

CDN/Internet層

CDN并不是一種抗DDOS的產(chǎn)品,但對(duì)于web類服務(wù)而言,他卻正好有一定的抗DDOS能力,以大型電商的搶購(gòu)為例,這個(gè)訪問(wèn)量非常大,從很多指標(biāo)上看不亞于DDOS的CC,而在平臺(tái)側(cè)實(shí)際上在CDN層面用驗(yàn)證碼過(guò)濾了絕大多數(shù)請(qǐng)求,最后到達(dá)數(shù)據(jù)庫(kù)的請(qǐng)求只占整體請(qǐng)求量的很小一部分。

對(duì)http CC類型的DDOS,不會(huì)直接到源站,CDN會(huì)先通過(guò)自身的帶寬硬抗,抗不了的或者穿透CDN的動(dòng)態(tài)請(qǐng)求會(huì)到源站,如果源站前端的抗DDOS能力或者源站前的帶寬比較有限,就會(huì)被徹底DDOS。

云清洗廠商提出的策略是,預(yù)先設(shè)置好網(wǎng)站的CNAME,將域名指向云清洗廠商的DNS服務(wù)器,在一般情況下,云清洗廠商的DNS仍將穿透CDN的回源的請(qǐng)求指向源站,在檢測(cè)到攻擊發(fā)生時(shí),域名指向自己的清洗集群,然后再將清洗后的流量回源。

檢測(cè)方式主要是在客戶網(wǎng)站前部署反向代理(nginx),托管所有的并發(fā)連接。在對(duì)攻擊流量進(jìn)行分流的時(shí)候,準(zhǔn)備好一個(gè)域名到IP的地址池,當(dāng)IP被攻擊時(shí)封禁并啟用地址池中的下一個(gè)IP,如此往復(fù)。

以上是類Cloudflare的解決方案,國(guó)內(nèi)云清洗廠商的實(shí)現(xiàn)原理都相似。不過(guò)這類方案都有一個(gè)通病,由于國(guó)內(nèi)環(huán)境不支持anycast,通過(guò)DNS引流的方式需要比較長(zhǎng)的生效時(shí)間,這個(gè)時(shí)間依賴于DNS遞歸生效的時(shí)長(zhǎng),對(duì)自身完全不可控。同時(shí)CDN僅對(duì)web類服務(wù)有效,對(duì)游戲類TCP直連的服務(wù)無(wú)效。

網(wǎng)上很多使用此類抗D服務(wù)的過(guò)程可以概括為一句話:更改CNAME指向,等待DNS遞歸生效。

DC層 

 

目前國(guó)內(nèi)廠商華為的Anti-ddos產(chǎn)品的最高型號(hào)支持T級(jí)高達(dá)1440Gbps帶寬的防護(hù)。原理大致如下圖所示,在DC出口以鏡像或分光部署DDOS探針(檢測(cè)設(shè)備),當(dāng)檢測(cè)到攻擊發(fā)生時(shí),將流量牽引到旁路部署的DDOS清洗設(shè)備,再將經(jīng)過(guò)清洗的正常流量回注到業(yè)務(wù)主機(jī),以此完成一輪閉環(huán)。 

 

部署設(shè)備本身并沒(méi)有太大的技術(shù)含量,有技術(shù)含量的部分都已經(jīng)被當(dāng)做防御算法封裝在產(chǎn)品盒子里了。不過(guò)要指出的一點(diǎn)是,目前市場(chǎng)上的ADS盒子既有的算法和學(xué)習(xí)能力是有限的,他仍然需要人的介入,比如:

對(duì)業(yè)務(wù)流量基線的自適應(yīng)學(xué)習(xí)能力是有限的,例如電商行業(yè)雙11大促日子的流量模型可能就超越了ADS的學(xué)習(xí)能力,正常流量已經(jīng)觸發(fā)攻擊判定

自動(dòng)化觸發(fā)機(jī)制建立在閾值之上,就意味著不是完全的自動(dòng)化,因?yàn)殚撝凳且粋€(gè)經(jīng)驗(yàn)和業(yè)務(wù)場(chǎng)景相關(guān)的值

全局策略是通用性策略,不能對(duì)每一個(gè)子業(yè)務(wù)起到很好的防御效果,有可能子業(yè)務(wù)已經(jīng)被D了,全局策略還沒(méi)觸發(fā)

常見(jiàn)的DDOS類型ADS可以自動(dòng)處理,但變換形式的DDOS類型可能還需要人工識(shí)別

默認(rèn)的模板策略可能不適用于某些業(yè)務(wù),需要自定義

DDOS防御除了整體架構(gòu)設(shè)計(jì)外,比較需要專業(yè)技能的地方就是在上述例子的場(chǎng)景中。目前在ADS設(shè)備里覆蓋了3-4,7這三層的解決方案。 

 

一般情況下ADS設(shè)備可以緩解大部分常見(jiàn)的DDOS攻擊類型,相對(duì)而言3-4層的攻擊手法比較固定,而7層的攻擊,由于涉及的協(xié)議較多,手法變化層出不窮,所以ADS有時(shí)候?qū)?層的防護(hù)做不到面面俱到,比如對(duì)CC,ADS提供了http 302,驗(yàn)證碼等,但還是不能很好的解決這個(gè)問(wèn)題。應(yīng)用層的防護(hù)需要結(jié)合業(yè)務(wù)來(lái)做,ADS則在能利用的場(chǎng)景下承擔(dān)輔助角色,比如對(duì)于游戲封包的私有協(xié)議,通過(guò)給packet添加指紋的方式,ADS在客戶端和服務(wù)端中間鑒別流入的數(shù)據(jù)包是否包含指紋。

OS/APP層

這是DDOS的最后一道防線。這一層的意義主要在于漏過(guò)ADS設(shè)備的流量做最后一次過(guò)濾和緩解,對(duì)ADS防護(hù)不了的應(yīng)用層協(xié)議做補(bǔ)充防護(hù)。比如NTP反射,可以通過(guò)服務(wù)器配置禁用monlist,如果不提供基于UDP的服務(wù),可以在邊界上直接阻斷UDP協(xié)議。

互聯(lián)網(wǎng)在線服務(wù)中最大的比重就是web服務(wù),因此有些互聯(lián)網(wǎng)公司喜歡自己在系統(tǒng)層面去做應(yīng)用層的DDOS防護(hù),例如對(duì)抗CC,有時(shí)這些功能也能順帶關(guān)聯(lián)到業(yè)務(wù)安全上,比如針對(duì)黃牛搶單等。 

 

實(shí)現(xiàn)方式可以是web服務(wù)器模塊,也可以是獨(dú)立部署的旁路系統(tǒng),反向代理將完整的http請(qǐng)求轉(zhuǎn)發(fā)給檢測(cè)服務(wù)器,檢測(cè)服務(wù)器根據(jù)幾方面的信息:

來(lái)自相同IP的并發(fā)請(qǐng)求

相同ip+cookie的并發(fā)請(qǐng)求

相同http頭部可設(shè)置字段

相同的request URL

然后保存客戶端的連接信息計(jì)數(shù)表,例如單位時(shí)間內(nèi)相同IP+cookie再次發(fā)起連接請(qǐng)求則此客戶端IP的計(jì)數(shù)器+1,直到觸發(fā)閾值,然后服務(wù)器會(huì)進(jìn)行阻斷,為了避免誤殺,也可以選擇性的彈出驗(yàn)證碼。

以上是拿CC防御舉了個(gè)例子,ADS設(shè)備本身提供了http 302跳轉(zhuǎn),驗(yàn)證碼,Javascript解析等防御方式,盡管OS和應(yīng)用層可以做更多的事情,但畢竟有自己去開(kāi)發(fā)和長(zhǎng)期維護(hù)的代價(jià),這個(gè)收益要看具體情況。

鏈路帶寬

增加帶寬,大部分介紹DDOS防御策略的文章里似乎很少提及這一點(diǎn),但卻是以上所有防御的基礎(chǔ),例如第二層次的CDN實(shí)際上就是拼帶寬,很多大型企業(yè)選擇自建CDN,本質(zhì)上就是自己增加帶寬的行為。除了CDN之外,要保障DC出口的多ISP鏈路、備份鏈路,到下層機(jī)柜交換機(jī)的帶寬都不存在明顯的單點(diǎn)瓶頸,否則抗DDOS的處理性能夠了,但是流量流經(jīng)某個(gè)節(jié)點(diǎn)時(shí)突然把一個(gè)雜牌交換機(jī)壓垮了,最后的結(jié)果還是表現(xiàn)為有問(wèn)題。

對(duì)運(yùn)維經(jīng)驗(yàn)成熟的互聯(lián)網(wǎng)公司而言,一般都有能容管理,對(duì)于促銷活動(dòng),高峰時(shí)段的帶寬,IDC資源的波峰波谷都有預(yù)先的準(zhǔn)備,DDOS防御主要是消除這些網(wǎng)絡(luò)方案中內(nèi)在的單點(diǎn)瓶頸。#p#

0x03 不同類型的企業(yè)

DDOS的防御本質(zhì)上屬于資源的對(duì)抗,完整的4層防御效果雖好,但有一個(gè)明顯問(wèn)題就是TCO,這種成本開(kāi)銷除了互聯(lián)網(wǎng)行業(yè)排名TOP10以外的公司基本都吃不消?;蛘呔退愀兜闷疬@錢(qián),在IT整體投資的占比會(huì)顯得過(guò)高,付得起不代表這種投資是正確的。所以針對(duì)不同的企業(yè)分別描述DDOS緩解方案的傾向和選擇性。

大型平臺(tái)

這里的“大”有幾層意思:

公司很有錢(qián),可以在補(bǔ)貼具體的業(yè)務(wù)上不“太”計(jì)較投入,對(duì)土豪來(lái)說(shuō)只選效果最優(yōu)方案

公司不一定處在很賺錢(qián)的階段,但I(xiàn)DC投資規(guī)模足夠大,這樣為了保障既有的投入,安全的總投資維持一個(gè)固定百分比也是非常有必要的,在IDC盤(pán)子很大的時(shí)候沒(méi)必要省“小錢(qián)”

與潛在的由于服務(wù)中斷造成的損失比,DDOS防御的投資可以忽略不計(jì)

映射到現(xiàn)實(shí)中與這幾條相關(guān)的公司:

市值100億美元以上互聯(lián)網(wǎng)公司

大型公有云廠商,IaaS、PaaS平臺(tái)

IDC規(guī)模多少算大呢,這個(gè)問(wèn)題其實(shí)很難判斷,1w臺(tái)物理服務(wù)器算多么,現(xiàn)在應(yīng)該只能算中等吧

利潤(rùn)比較高的業(yè)務(wù),比如游戲、在線支付假如被DDOS的頻率較高

對(duì)于IDC規(guī)模比較大又有錢(qián)的公司來(lái)說(shuō),防DDOS的口訣就是“背靠運(yùn)營(yíng)商,大力建機(jī)房”,在擁有全部的DDOS防御機(jī)制的前提下,不斷的提高IDC基礎(chǔ)設(shè)施的壁壘給攻擊者制造更高的門(mén)檻,對(duì)于網(wǎng)絡(luò)流量比較高的公司而言,抗DDOS是有先天優(yōu)勢(shì)的,因?yàn)闃I(yè)務(wù)急速增長(zhǎng)而帶來(lái)的基礎(chǔ)設(shè)施的擴(kuò)容無(wú)意識(shí)間就成了一種防御能力,但對(duì)于沒(méi)有那么大業(yè)務(wù)流量的公司,空買一堆帶寬燒錢(qián)恐怕也沒(méi)人愿意。

對(duì)于比較有錢(qián),但沒(méi)那么多線上服務(wù)器的公司而言,自己投入太多IDC建設(shè)可能是沒(méi)必要的,此時(shí)應(yīng)該轉(zhuǎn)向通過(guò)購(gòu)買的手段盡可能的獲得全部的DDOS防御機(jī)制。

中小企業(yè)

資源的對(duì)抗肯定不是中小企業(yè)的強(qiáng)項(xiàng),所以追求ROI是主要的抗DDOS策略。第一種極度省錢(qián)模式,平時(shí)裸奔,直到受攻擊才找抗DDOS廠商臨時(shí)引流,這種方案效果差一點(diǎn),絕大多數(shù)企業(yè)應(yīng)該都是這種心理,得過(guò)且過(guò),能省則省,也無(wú)可厚非,不過(guò)關(guān)鍵時(shí)間知道上哪兒去找誰(shuí),知道做哪些事。

第二種追求效果,希望有性價(jià)比。如果本身業(yè)務(wù)運(yùn)行于公有云平臺(tái),可以直接使用云平臺(tái)提供的抗DDOS能力,對(duì)于web類可以考慮提前購(gòu)買云清洗廠商的服務(wù)。

0x04 不同類型的業(yè)務(wù)

不同的類型的服務(wù)所需要的DDOS防御機(jī)制不完全相同,所以不能直接拿前述4層生搬硬套。

Web

對(duì)于web類服務(wù),攻擊發(fā)生時(shí)終端用戶可以有一定的延遲容忍,在防御機(jī)制上4層全部適用,大型平臺(tái)的一般都是4層全部擁有,規(guī)模小一點(diǎn)的企業(yè)一般購(gòu)買云清洗,cloudflare類的服務(wù)即可。

游戲類

Web api形式的輕游戲跟web服務(wù)類似,而對(duì)于TCP socket類型的大型網(wǎng)游,稍有延遲很影響用戶體驗(yàn),甚至很容易掉線。云WAF、CDN等措施因?yàn)槭轻槍?duì)web的所在在該場(chǎng)景下無(wú)效,只有通過(guò)DNS引流和ADS來(lái)清洗,ADS不能完美防御的部分可以通過(guò)修改客戶端、服務(wù)端的通信協(xié)議做一些輔助性的小動(dòng)作,例如封包加tag標(biāo)簽,檢測(cè)到?jīng)]有tag的包一律丟棄,防御機(jī)制基本都是依賴于信息不對(duì)稱的小技巧。DNS引流的部分對(duì)于有httpdns的廠商可以借助其緩解DNS遞歸生效的時(shí)間。

服務(wù)策略

◆分級(jí)策略

對(duì)于平臺(tái)而言,有些服務(wù)被DDOS會(huì)導(dǎo)致全站服務(wù)不可用,例如DNS不可用則相當(dāng)于全線服務(wù)不可用,對(duì)于強(qiáng)賬號(hào)體系應(yīng)用例如電商、游戲等如果SSO登陸不可用則全線服務(wù)不可用,攻擊者只要擊垮這些服務(wù)就能“擒賊擒王”,所以安全上也需要考慮針對(duì)不同的資產(chǎn)使用不同等級(jí)的保護(hù)策略,根據(jù)BCM的要求,先將資產(chǎn)分類分級(jí),劃分出不同的可用性SLA要求,然后根據(jù)不同的SLA實(shí)施不同級(jí)別的防護(hù),在具體防護(hù)策略上,能造成平臺(tái)級(jí)SPOF(單點(diǎn)故障)的服務(wù)或功能應(yīng)投入更高成本的防御措施,所謂更高成本不僅指購(gòu)買更多的ADS設(shè)備,同時(shí)可能建立多災(zāi)備節(jié)點(diǎn),并且在監(jiān)控和響應(yīng)優(yōu)先級(jí)上應(yīng)該更高。

◆Failover機(jī)制

DDOS防御不只是依賴于DDOS防御的那4層手段,同時(shí)依賴于基礎(chǔ)設(shè)施的強(qiáng)大,例如做分流,就需要多點(diǎn)異地災(zāi)備,mirror site & hot site & standby system,云上的系統(tǒng)需要跨AZ部署,這些可以隨時(shí)切換的基礎(chǔ)。把雞蛋放在一個(gè)籃子里會(huì)導(dǎo)致沒(méi)什么選擇。

基礎(chǔ)設(shè)施和應(yīng)用層面建立冗余是技術(shù)形式上的基礎(chǔ),光有這些還遠(yuǎn)遠(yuǎn)不夠,需要有與之配套的DRP&BCP策略集,并且需要真實(shí)的周期性的演練,意在遇到超大流量攻擊時(shí)能夠從容應(yīng)對(duì)。

◆有損服務(wù)

在應(yīng)用服務(wù)設(shè)計(jì)的時(shí)候,應(yīng)該盡量避免“單點(diǎn)瓶頸”,避免一個(gè)點(diǎn)被DDOS了整個(gè)產(chǎn)品就不好用了,而是希望做到某些服務(wù)即使關(guān)閉或下線了仍然不影響其他在線的服務(wù)(或功能),能在遇到需要棄卒保帥的場(chǎng)景時(shí)有可以“割肉”的選擇,不要除了“0”就是“1”,還是要存在灰度,比如原來(lái)10個(gè)服務(wù)在線,遇到攻擊時(shí)我只要保底重要的3個(gè)服務(wù)在線即可。

◆補(bǔ)充手段

DDOS攻擊的目的不一定完全是出于想打垮服務(wù),比如以前在做游戲時(shí)遇到玩家DDOS服務(wù)器的目的竟然是因?yàn)闆](méi)搶到排在第一的房間,這種因素通過(guò)產(chǎn)品設(shè)計(jì)就可以根治,而有很多應(yīng)用層DDOS只是為了達(dá)成另外一種目的,都跟上述4層防御機(jī)制無(wú)關(guān),而跟產(chǎn)品設(shè)計(jì)有關(guān)。所以防御DDOS這事得看一下動(dòng)因,不能盲目應(yīng)對(duì)。#p#

0x05 NIPS場(chǎng)景

ADS本質(zhì)上是一個(gè)包過(guò)濾設(shè)備,雖功用不同卻跟IPS有點(diǎn)相似,之前也提到有時(shí)候需要提供全站IPS的虛擬補(bǔ)丁功能,ADS設(shè)備就可以充當(dāng)這一角色,只是條目不宜多,只上有限的條目,下面的是NSFOCUS的ADS設(shè)備的規(guī)則編輯界面,payload可自定義 

 

一般安全團(tuán)隊(duì)能力尚可的話,可以通過(guò)運(yùn)行POC exploit,然后抓包找出攻擊payload的特征,編輯16進(jìn)制的匹配規(guī)則,即可簡(jiǎn)單的實(shí)現(xiàn)人工定制。

0x06 破防和反制

從安全管理者的角度看,即便是擁有完整的4層防御機(jī)制也并非無(wú)懈可擊,號(hào)稱擁有400-500G防護(hù)能力的平臺(tái)是完全有可能被打垮的,完全的防護(hù)能力是建立在人、策略、技術(shù)手段都生效的情況才有的,如果這些環(huán)節(jié)出了問(wèn)題,anti-ddos的整個(gè)過(guò)程可能會(huì)失敗。例如下面提到的這些問(wèn)題:

超大流量攻擊時(shí)需要用到黑洞路由,但黑洞路由的IP需要由防御方定義和聯(lián)動(dòng),“聯(lián)動(dòng)”的過(guò)程就是向上游設(shè)備發(fā)送封禁IP的通知,如果接口不可用,那么此功能會(huì)失效,所以ISP級(jí)的防御是有失效可能性的

CDN云清洗服務(wù)依賴于清洗服務(wù)商接管域名解析,如果云清洗服務(wù)商本身的DNS不可用,也將導(dǎo)致這一層面的防御失效,諸如此類的問(wèn)題還有不少,這些抗D廠商自身并非無(wú)懈可擊

ADS平時(shí)不一定串聯(lián)部署,但攻擊發(fā)生引流后一定是業(yè)務(wù)的前端設(shè)備,假如這個(gè)設(shè)備本身存在DOS的可能,即使是觸發(fā)了bypass也相當(dāng)于防御完全失效了,另一方面策略下發(fā)通常是ADS設(shè)備跟管理節(jié)點(diǎn)互通,如果管理節(jié)點(diǎn)出現(xiàn)可用性問(wèn)題,也將導(dǎo)致ADS防御的一系列問(wèn)題。

超大流量攻擊需要人工干預(yù)時(shí),最基本的需求是安全或運(yùn)維人員能在辦公網(wǎng)絡(luò)連接到ADS的管理節(jié)點(diǎn),能遠(yuǎn)程運(yùn)維ADS設(shè)備,如果此時(shí)辦公網(wǎng)絡(luò)的運(yùn)維管理鏈路出現(xiàn)故障,不僅切斷了人員操作,還會(huì)把現(xiàn)場(chǎng)應(yīng)急的緊張氣氛提升一個(gè)量級(jí),使人更加手忙腳亂。

以上并不在于提供新的攻擊的思路,而在于向anti-ddos方案的制定者提供另類視角以便于審視方案中的短板。

0x07 立案和追蹤

目前對(duì)于流量在100G以上的攻擊是可以立案的,這比過(guò)去幸福了很多。過(guò)去沒(méi)有本土特色的資源甚至都沒(méi)法立案,但是立案只是萬(wàn)里長(zhǎng)征的第一步,如果你想找到人,必須成功完成以下步驟:

在海量的攻擊中,尋找倒推的線索,找出可能是C&C服務(wù)器的IP或相關(guān)域名等

“黑”吃“黑”,端掉C&C服務(wù)器

通過(guò)登錄IP或借助第三方APT的大數(shù)據(jù)資源(如果你能得到的話)物理定位攻擊者

陪叔叔們上門(mén)抓捕

上法庭訴訟

如果這個(gè)人沒(méi)有特殊身份,也許你就能如愿,但假如遇到一些特殊人物,你幾個(gè)月都白忙乎。而黑吃黑的能力則依賴于安全團(tuán)隊(duì)本身的滲透能力比較強(qiáng),且有閑情逸致做這事。這個(gè)過(guò)程對(duì)很多企業(yè)來(lái)說(shuō)成本還是有點(diǎn)高,光有實(shí)力的安全團(tuán)隊(duì)這條門(mén)檻就足以砍掉絕大多數(shù)公司。筆者過(guò)去也只是恰好有緣遇到了這么一個(gè)團(tuán)隊(duì)。

責(zé)任編輯:藍(lán)雨淚 來(lái)源: 烏云知識(shí)庫(kù)
相關(guān)推薦

2013-08-22 09:10:47

2015-06-12 09:58:51

2012-11-30 15:23:32

2010-09-27 08:46:53

2022-01-06 12:52:35

DDos攻擊

2011-03-04 17:23:17

2016-09-29 22:54:55

2017-06-08 19:19:10

2015-08-31 10:14:40

2020-06-19 14:12:35

2.3 TbpsDDoS攻擊網(wǎng)絡(luò)攻擊

2021-08-23 14:58:06

DDoS攻擊網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)安全

2021-10-19 11:52:46

VoIPDDoS安全

2022-03-17 05:53:25

DDoS網(wǎng)絡(luò)攻擊

2011-04-07 14:26:06

2012-07-24 08:54:15

2018-11-06 13:13:21

DDOS網(wǎng)絡(luò)攻擊IP

2012-05-09 11:03:21

2017-05-13 15:02:40

2013-11-13 09:32:00

2013-08-26 15:38:36

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)