01
什么是DDOS攻擊
分布式拒絕服務(wù)攻擊(英文意思是Distributed Denial of Service,簡(jiǎn)稱DDoS)是指處于不同位置的多個(gè)攻擊者同時(shí)向一個(gè)或數(shù)個(gè)目標(biāo)發(fā)動(dòng)攻擊,或者一個(gè)攻擊者控制了位于不同位置的多臺(tái)機(jī)器并利用這些機(jī)器對(duì)受害者同時(shí)實(shí)施攻擊。由于攻擊的發(fā)出點(diǎn)是分布在不同地方的,這類攻擊稱為分布式拒絕服務(wù)攻擊,其中的攻擊者可以有多個(gè)。
一個(gè)完整的DDoS攻擊體系由攻擊者、主控端、代理端和攻擊目標(biāo)四部分組成。主控端和代理端分別用于控制和實(shí)際發(fā)起攻擊,其中主控端只發(fā)布命令而不參與實(shí)際的攻擊,代理端發(fā)出DDoS的實(shí)際攻擊包。對(duì)于主控端和代理端的計(jì)算機(jī),攻擊者有控制權(quán)或者部分控制權(quán).它在攻擊過程中會(huì)利用各種手段隱藏自己不被別人發(fā)現(xiàn)。真正的攻擊者一旦將攻擊的命令傳送到主控端,攻擊者就可以關(guān)閉或離開網(wǎng)絡(luò).而由主控端將命令發(fā)布到各個(gè)代理主機(jī)上。這樣攻擊者可以逃避追蹤。每一個(gè)攻擊代理主機(jī)都會(huì)向目標(biāo)主機(jī)發(fā)送大量的服務(wù)請(qǐng)求數(shù)據(jù)包,這些數(shù)據(jù)包經(jīng)過偽裝,無法識(shí)別它的來源,而且這些數(shù)據(jù)包所請(qǐng)求的服務(wù)往往要消耗大量的系統(tǒng)資源,造成目標(biāo)主機(jī)無法為用戶提供正常服務(wù)。甚至導(dǎo)致系統(tǒng)崩潰。
02
事情大致經(jīng)過
7月20日11點(diǎn)左右,某網(wǎng)站遭遇DDOS攻擊,攻擊峰值達(dá)200G以上,waf防火墻首當(dāng)其沖,服務(wù)壓力直線上升,高防的占用帶寬曲線火箭式凸起,各種報(bào)警也如期而至,頓時(shí)如臨大敵,……此處略去5000字……
03
攻擊分析
從ddos攻擊的原理可知,這是網(wǎng)絡(luò)安全領(lǐng)域最難防的一種攻擊方式,攻防之間的較量拼的是硬實(shí)力,100G的攻擊需要用120G的防護(hù),1000G的攻擊需要1200G的防護(hù),拼的就是誰的設(shè)備多,誰的硬件硬。而攻擊者通過直接或間接控制網(wǎng)絡(luò)中的終端(俗稱肉雞)發(fā)起攻擊的前提是收購(gòu)肉雞,其實(shí)成本也是很高的,所以一般無利可圖的情況下沒必要發(fā)起這種攻擊,它和那些新手蛋子整點(diǎn)小花樣發(fā)起的sql注入、跨站以及遠(yuǎn)程腳步之類的攻擊有本質(zhì)的不同,所以如果遭受DDOS攻擊,一般有以下幾種原因:
1、綁架勒索。通過發(fā)起攻擊再賣你安全防護(hù)產(chǎn)品,這和以前的殺毒軟件先制毒一個(gè)道理。
2、同業(yè)競(jìng)爭(zhēng)。這個(gè)很好理解,畢竟同業(yè)相輕,搞你幾次壞你的名聲,這樣用戶會(huì)對(duì)你產(chǎn)生負(fù)面看法,從而遠(yuǎn)離你到你的競(jìng)爭(zhēng)對(duì)手那里,這種手段很卑劣,但是商場(chǎng)如戰(zhàn)場(chǎng),兵不厭詐,不過投產(chǎn)比也高不到哪里去,一般逼不到份上不會(huì)搞。
3、逼你擴(kuò)容。這也是一種變相的綁架勒索,賊喊捉賊,告訴你增加設(shè)備,升級(jí)配置,增強(qiáng)防護(hù),所謂家賊難防,這種是最惡心的,因?yàn)樵朴?jì)算也是另一種形式的中心化,家底都在服務(wù)商那里,真想搞你也是分分鐘的事情。
4、散兵游勇。網(wǎng)絡(luò)上的業(yè)余黑客也不少,抱著各種各樣的心態(tài)刷存在感,時(shí)不時(shí)的弄幾波攻擊練練手是家常便飯,偶爾也會(huì)泛起點(diǎn)大風(fēng)浪,不過一般不會(huì)持續(xù)太久,頂多算是過路“黑客”。
這幾個(gè)情況也有可能是同時(shí)發(fā)生,比如同業(yè)競(jìng)爭(zhēng)者自己的攻擊水平不行,就找一些專業(yè)“殺手”代辦,代理人乘機(jī)再勒索一把,兩邊收錢,確實(shí)沒用職業(yè)道德,不過這些人本來干的就是見不得光的事情,談職業(yè)道德就有點(diǎn)可笑了。
04
防范措施
DDOS攻擊的最大特點(diǎn)是沒有有效的防護(hù)措施(從性價(jià)比的角度),你可以弄個(gè)上千G帶寬防護(hù),那一年沒有上千萬的投入是不夠的的,對(duì)一些小公司來說倒是有一些小技巧再一定程度上起到防范的效果。
1、隱藏真實(shí)的ip的地址。每一個(gè)域名都需要被解析后才能訪問,這個(gè)被解析后的ip一定不要用真實(shí)的ip地址,如果加了waf防護(hù),解析的是waf的ip,如果用了負(fù)載均衡地址,解析的是負(fù)載的ip,如果什么都沒用,那就是實(shí)際的應(yīng)用服務(wù)器的ip,無論是那種解析方式,其ip對(duì)應(yīng)的設(shè)備都可能被攻擊(因?yàn)檫@種解析是必須要做的,最終都必須要暴露一個(gè)ip),一旦waf或負(fù)載或服務(wù)器被攻擊,最直接的結(jié)果就是waf失靈,負(fù)載失效,服務(wù)器崩潰,最有效的手段是弄一個(gè)高防的ip(專門清洗惡意流量的集群用于防護(hù))分散攻擊流量,后面再用上防火墻,負(fù)載等常規(guī)設(shè)備。
2、巧用CDN。安全產(chǎn)品的價(jià)格都是非常高的,一套標(biāo)準(zhǔn)的waf一年沒有個(gè)10幾萬也拿不下來,更別說高防ip,那都是論月論天收費(fèi)的。但是CDN基本是標(biāo)配,成本相對(duì)來說要低很多,另外cdn本身具有分散,多點(diǎn)的特征,將全站直接解析到高防CDN上,即可以加速又可以防護(hù),豈不是一箭雙雕!不過,也別高興的太早,有可能高防CDN只是加速行,安全防護(hù)卻不在行,不過這是個(gè)思路,有興趣的可以試試,萬一可以呢!
建議cdn不要對(duì)任何靜態(tài)文件進(jìn)行加速,只利用其分流惡意流量,為后端服務(wù)器減壓。
3、手動(dòng)清洗。如果服務(wù)的中斷不可避免,那么需要考慮的就是如何更快速的恢復(fù)服務(wù),很多云服務(wù)提供商為了降低攻擊對(duì)整個(gè)網(wǎng)絡(luò)的影響,就直接粗暴的把你的服務(wù)拉入黑洞,并無法自動(dòng)解除,只能等待,這個(gè)時(shí)候服務(wù)的中斷時(shí)間就完全不可控了,而一旦采購(gòu)了某個(gè)安全產(chǎn)品,就可以手動(dòng)解除黑洞(其實(shí)是清洗惡意流量),這樣基本確保可以10分20分鐘就可以恢復(fù)服務(wù)。但是如果持續(xù)不間斷的攻擊,這種方法就不行了,因?yàn)榻獬诙词且怨舳唐谛詾榍疤岬?,否則解除了又拉黑,就沒有意義了。
05
寫在最后
濤哥一直說IT之于業(yè)務(wù)就像空氣之于生命,平時(shí)感覺不到它的存在,一旦失去,就會(huì)性命堪憂。對(duì)于IT來說,安全問題又何嘗不是如此!
當(dāng)沒有發(fā)生安全事故的時(shí)候,我們是意識(shí)不到安全的重要性的,一旦發(fā)生,那卻有可能是致命的,所以安全無小事,防患于未然放之各行各業(yè)而皆適用……