淺論DDOS攻擊和防御
大多數(shù)互聯(lián)網(wǎng)公司的業(yè)務(wù)主要依賴在線服務(wù),DDoS攻擊作為最簡(jiǎn)單有效的攻擊手段,經(jīng)常被黑產(chǎn)作為攻擊互聯(lián)網(wǎng)在線服務(wù)的首選。本文以甲方的視角介紹下常見的抵御DDoS攻擊的手段以及甲方經(jīng)常遇到的一些問題,希望可以幫助到大家。中培偉業(yè)《黑客攻防于信息安全技術(shù)實(shí)戰(zhàn)》專家袁老師在這里對(duì)此進(jìn)行了詳細(xì)介紹:
什么樣的網(wǎng)站容易遭受攻擊?
從現(xiàn)實(shí)的角度來看,哪家網(wǎng)站的知名度高,受到攻擊的幾率也越大,前年打P2P,去年打直播,DDoS攻擊的背后多是惡性商業(yè)競(jìng)爭(zhēng),以不大的成本可以讓競(jìng)爭(zhēng)對(duì)手業(yè)務(wù)中斷,造成巨大損失,性價(jià)比不可謂不高。
哪些時(shí)段容易遭受攻擊?
理解了攻擊動(dòng)機(jī)后,其實(shí)很容易總結(jié)何時(shí)容易被攻擊:
(1)新產(chǎn)品發(fā)布,比如羅老師發(fā)布錘子那次
(2)大型市場(chǎng)活動(dòng),比如電商的雙十一和雙十二
(3)業(yè)務(wù)高峰期,比如直播和在線教育業(yè)務(wù)的晚上
DDoS攻擊的成本
用安全圈的一句話,在國(guó)外打垮一個(gè)網(wǎng)站需要一頓自助餐的錢,在國(guó)內(nèi)只需要一頓快餐的錢。隨便在某及時(shí)通訊軟件里面一搜,DDoS攻擊的類型非常多,但從甲方角度和結(jié)果來說只有兩種:
(1)流量型攻擊,就是把你帶寬打滿,用戶無法正常訪問導(dǎo)致業(yè)務(wù)中斷,衡量單位是G;
(2)CC攻擊,就是把你重要的接口服務(wù)打死,流量不一定很大,但是請(qǐng)求速率一般很大,比如登陸、下單、支付等,衡量單位是QPS。
硬件防火墻和WAF可以抵御DDoS攻擊嗎?
這是個(gè)開放性的問題,需要區(qū)分不同情況(這里的機(jī)房帶寬指的是機(jī)房給你分配的帶寬):
(1)如果是流量型攻擊,攻擊流量小于機(jī)房出口帶寬時(shí),具備防DDoS攻擊能力的硬件防火墻和WAF可以抵御;攻擊流量高于機(jī)房出口帶寬時(shí),只能遺憾了。
(2)如果是CC攻擊,攻擊流量小于機(jī)房出口帶寬時(shí),具備防CC能力的硬件防火墻和WAF可以抵御;攻擊流量高于機(jī)房出口帶寬時(shí),只能遺憾了。
遺憾的事,相當(dāng)一部分DDoS攻擊輕松上幾十G,用戶購(gòu)買的出口帶寬上1G的都不多。可見,面對(duì)現(xiàn)實(shí)中的DDoS攻擊時(shí),本地的硬件防火墻和WAF作用有限。
常見的抗D手段有哪些?
從甲方角度講,可以按照抗D設(shè)備/服務(wù)部署的位置分為:
(1)自購(gòu)帶有抗D抗CC功能的硬件防火墻或者WAF
(2)機(jī)房的流量清洗服務(wù),比如高防機(jī)房
(3)云安全廠商的云抗D服務(wù)(CDN廠商提供的流量清洗服務(wù)也算這種情況)
(4)運(yùn)營(yíng)商(比如電信云堤)的流量清洗服務(wù)
云抗D是啥原理?
云抗D服務(wù)和CDN接入原理類似,使用的是所謂替身防護(hù)的技術(shù)。用戶在DNS服務(wù)器上將需要保護(hù)的web服務(wù)的域名指向云抗D中心提供的高防IP或者CNAME域名,云抗D中心將訪問該web服務(wù)的請(qǐng)求再轉(zhuǎn)發(fā)給用戶的業(yè)務(wù)服務(wù)器,相當(dāng)于充當(dāng)了一個(gè)nginx反向代理,針對(duì)該web服務(wù)的攻擊會(huì)被云抗D中心清洗,正常的用戶請(qǐng)求才會(huì)轉(zhuǎn)發(fā)給用戶的業(yè)務(wù)服務(wù)器。
使用云抗D黑客直接打IP咋辦?
問題也就來了,黑客如果直接攻擊用戶業(yè)務(wù)服務(wù)器的IP,就會(huì)繞過云抗D中心。為了防止這種情況出現(xiàn),最簡(jiǎn)單的解決方案是,用戶的業(yè)務(wù)服務(wù)器提供兩個(gè)IP,IP1是平時(shí)使用的,對(duì)外暴露,IP2平時(shí)不使用,同時(shí)限制IP2僅允許云抗D中心的IP段訪問,一旦切入云抗D中心后,聯(lián)系機(jī)房拉黑IP1,同時(shí)啟用IP2即可,通常IP1和IP2可以指向同一服務(wù)器或者負(fù)載均衡。
使用云抗D后如何獲取客戶端真實(shí)IP?
這個(gè)和使用CDN情況類似,比較常見的解決方案是在http協(xié)議層攜帶客戶端的IP,比如x-forwarded-for字段。
三線與BGP抗D的區(qū)別是什么?
在國(guó)內(nèi)現(xiàn)實(shí)的問題跨網(wǎng)訪問的巨大延時(shí),為了解決這個(gè)問題,通常有兩種簡(jiǎn)單辦法,一個(gè)是申請(qǐng)聯(lián)通電信移動(dòng)三網(wǎng)的IP資源,一個(gè)是使用相對(duì)昂貴的BGP資源。對(duì)應(yīng)的抗D云服務(wù)也提供了三線和BGP服務(wù),本質(zhì)上區(qū)別就是一個(gè)需要做分區(qū)解析,一個(gè)不用,價(jià)格上一般BGP高防會(huì)貴些,從跨網(wǎng)訪問來看兩者都不錯(cuò)。