要問(wèn)網(wǎng)站和應(yīng)用最怕什么攻擊,DDoS絕對(duì)名列前茅。特別是游戲、電商等對(duì)實(shí)時(shí)性要求較高的行業(yè),一旦被DDoS攻擊,訪問(wèn)卡頓、業(yè)務(wù)中斷,很容易造成用戶流失、營(yíng)業(yè)額下降。
DDoS,全稱Distributed Denial of Service,即分布式拒絕服務(wù)。其原理是通過(guò)對(duì)承載網(wǎng)站和應(yīng)用的服務(wù)器發(fā)送大量無(wú)用請(qǐng)求,耗盡服務(wù)器CPU、內(nèi)存等資源,讓服務(wù)器卡頓甚至奔潰,以至本來(lái)正常的用戶請(qǐng)求無(wú)法響應(yīng),即“拒絕”了正常的訪問(wèn)。
舉個(gè)栗子,某面館A生意興隆,對(duì)面的面館D看不下去了,決定要搞一下A,于是花錢雇了100個(gè)人,每天在A家坐著,但又不點(diǎn)東西,正常的用戶進(jìn)來(lái)一看,連坐的地方都沒(méi)有,趕緊到D去吃得了。
可見(jiàn),DDoS攻擊的本質(zhì)是:正常的用戶不能得到服務(wù),都被惡意或者垃圾的連接堵塞了。
當(dāng)然,真正的DDoS攻擊手段很多,但萬(wàn)變不離其宗,都是利用TCP等協(xié)議?;蚍?wù)器本身的漏洞達(dá)成攻擊,比如業(yè)界典型的SYN Flood攻擊,就是利用了TCP協(xié)議的漏洞。
學(xué)計(jì)算機(jī)的同學(xué)應(yīng)該對(duì)每年必考的TCP三次握手很熟悉:
第一次握手,客戶端向服務(wù)器發(fā)送一個(gè)SYN報(bào)文,就相當(dāng)于用戶對(duì)服務(wù)器說(shuō):服務(wù)器,我要跟你建立TCP連接。
第二次握手,服務(wù)器向客戶端發(fā)送一個(gè)SYN+ACK報(bào)文,ACK是對(duì)第一次握手中SYN報(bào)文的確認(rèn),相當(dāng)于說(shuō):好的,我同意建立連接。
第三次握手,客戶端向服務(wù)器發(fā)送一個(gè)ACK報(bào)文,確認(rèn)第二次握手中的SYN報(bào)文被成功接,TCP連接成功建立,服務(wù)器和客戶端開(kāi)始數(shù)據(jù)傳輸。
問(wèn)題就出在第二、第三次握手間。惡意的客戶端如果一直不給服務(wù)器發(fā)送本來(lái)應(yīng)該發(fā)送的ACK報(bào)文,服務(wù)器就會(huì)一直等待客戶端的報(bào)文,而且還會(huì)主動(dòng)向客戶端發(fā)送SYN+ACK報(bào)文,并且等待30秒到2分鐘后,如果還是沒(méi)收到客戶端的ACK報(bào)文,服務(wù)器才會(huì)關(guān)閉連接。等待的過(guò)程也要耗費(fèi)資源來(lái)保存第一、第二次握手產(chǎn)生的參數(shù),攻擊者如果使用大量的惡意客戶端去連接服務(wù)器,但又不完成第三次握手,那就會(huì)把服務(wù)器的CPU和內(nèi)存耗盡,進(jìn)而達(dá)成攻擊目的。
所以呢,DDoS攻擊無(wú)論從技術(shù)上還是成本上,都很簡(jiǎn)單粗暴,而且效果超好,真可謂“居家旅行、殺人滅口的必備良藥”,也就難怪這么多攻擊者喜歡用DDoS攻擊,而大家又這么怕DDoS攻擊了。
DDoS攻擊者需要發(fā)起很大的流量進(jìn)行攻擊才有效,最起碼要比被攻擊的目標(biāo)的帶寬大,比如某服務(wù)器的帶寬是200Mbps,那1Gbps的流量打過(guò)來(lái),服務(wù)器肯定掛了。一般這些大流量來(lái)自2個(gè)地方,一個(gè)是有些黑產(chǎn)做的流量平臺(tái),攻擊者向這些平臺(tái)租賃流量。幾年前曾出現(xiàn)過(guò)不少“50塊錢包打掛網(wǎng)站”的流量平臺(tái);另一個(gè)是自己去攻擊機(jī)器,植入木馬,把這些機(jī)器變成可以隨意操控的“肉雞”(也稱“傀儡機(jī)”,顧名思義,就是被人控制的機(jī)器),用這些“肉雞”來(lái)組成僵尸網(wǎng)絡(luò),遠(yuǎn)程發(fā)送指令讓這些“肉雞”對(duì)目標(biāo)發(fā)起攻擊。CNCERT在2018年共發(fā)現(xiàn)了140萬(wàn)余臺(tái)肉雞,而這只是冰山一角。萬(wàn)物互聯(lián)時(shí)代,每個(gè)攝像頭、每個(gè)手環(huán)、甚至家里的智能電冰箱、空調(diào),都可能成為“肉雞”。
鑒于DDoS攻擊簡(jiǎn)單粗暴的攻擊效果,業(yè)界也發(fā)展出了很多成熟的防攻擊手段,比如華為云的DDoS高防,其原理是當(dāng)服務(wù)器被DDoS時(shí),及時(shí)切換到一個(gè)受保護(hù)的IP上,這個(gè)IP能夠抵擋很大的流量,比如華為云的高防單IP最高可防御600Gbps的攻擊,總帶寬更達(dá)5Tbps。當(dāng)大流量攻擊這個(gè)受保護(hù)的IP時(shí),這個(gè)IP會(huì)把大流量牽引到云上的防御中心,中心會(huì)對(duì)惡意和正常流量進(jìn)行標(biāo)記和清洗,惡意的,阻斷或者丟棄;正常的,則送回服務(wù)器。這樣,對(duì)用戶和服務(wù)器來(lái)說(shuō),攻擊似乎就沒(méi)有發(fā)生過(guò),因?yàn)閻阂獾牧髁慷急环雷o(hù)中心“消化”掉了。
所以,大流量攻擊就相當(dāng)于泥沙俱下、奔涌而來(lái)的大江大河,防御中心則相當(dāng)于肚量大如海的蓄水湖,把這些流量統(tǒng)統(tǒng)吸收進(jìn)來(lái),然后讓干凈的流水慢慢流到下游的田地里,泥沙則被攔截住了。
從上面的敘述,也可以知道,一款DDoS高防產(chǎn)品好不好,核心是3點(diǎn):
1、帶寬夠不夠大,能承受多大的流量攻擊;
2、清洗夠不夠準(zhǔn),不能把正常的清洗掉,惡意的放走了;
3、速度夠不夠快,不能半天判斷不出來(lái)流量的好壞,正常用戶也被晾在一邊了,出現(xiàn)卡頓。特別對(duì)游戲網(wǎng)站,不能出現(xiàn)用戶發(fā)出“進(jìn)攻”操縱半天了,畫(huà)面還沒(méi)反應(yīng)。
對(duì)應(yīng)上述三點(diǎn),華為云DDoS高防單IP最高可防御600Gbps的攻擊、總帶寬更達(dá)5Tbps;正常業(yè)務(wù)流量0誤殺;清洗延遲毫秒級(jí),不卡頓,體驗(yàn)好。