網(wǎng)站如何應(yīng)對(duì)緩解DDOS攻擊
DDOS(Distributed Denial of Service)攻擊就是分布式拒絕服務(wù),這種攻擊將多臺(tái)計(jì)算機(jī)聯(lián)合起來(lái)作為攻擊平臺(tái),通過(guò)遠(yuǎn)程連接利用惡意程序,對(duì)一個(gè)或多個(gè)目標(biāo)發(fā)起攻擊,其目的是消耗目標(biāo)服務(wù)器性能或網(wǎng)絡(luò)帶寬,從而造成服務(wù)器無(wú)法正常地提供服務(wù)。
網(wǎng)站常見(jiàn)攻擊方式
通常應(yīng)用層攻擊完全模擬用戶請(qǐng)求,類似于各種搜索引擎和爬蟲一樣,這些攻擊行為和正常的業(yè)務(wù)并沒(méi)有嚴(yán)格的邊界,難以辨別。
Web服務(wù)中一些資源消耗較大的事務(wù)和頁(yè)面。例如,Web應(yīng)用中的分頁(yè)和分表,如果控制頁(yè)面的參數(shù)過(guò)大,頻繁的翻頁(yè)將會(huì)占用較多的Web服務(wù)資源。尤其在高并發(fā)頻繁調(diào)用的情況下,類似這樣的事務(wù)就成了早期CC攻擊的目標(biāo)。
由于現(xiàn)在的攻擊大都是混合型的,因此模擬用戶行為的頻繁操作都可以被認(rèn)為是CC攻擊。例如,各種刷票軟件對(duì)網(wǎng)站的訪問(wèn),從某種程度上來(lái)說(shuō)就是CC攻擊。
CC攻擊瞄準(zhǔn)的是Web應(yīng)用的后端業(yè)務(wù),除了導(dǎo)致拒絕服務(wù)外,還會(huì)直接影響Web應(yīng)用的功能和性能,包括Web響應(yīng)時(shí)間、數(shù)據(jù)庫(kù)服務(wù)、磁盤讀寫等。
DDOS攻擊的多種途徑
拒絕服務(wù)曾經(jīng)是一種非常簡(jiǎn)單的攻擊方式。有些人開始在他們的電腦上運(yùn)行PING命令,鎖定目標(biāo)地址,讓其高速運(yùn)轉(zhuǎn),試圖向另一端發(fā)送洪水般的ICMP請(qǐng)求指令或者數(shù)據(jù)包。當(dāng)然,因?yàn)檫@邊發(fā)送速度的改變,攻擊者需要一個(gè)比對(duì)方站點(diǎn)更大的帶寬。首先,他們會(huì)搬到有大型主機(jī)的地方,類似有大學(xué)服務(wù)器或者教研所那樣的大型帶寬的地方,然后從這里發(fā)出攻擊。但現(xiàn)代的僵尸網(wǎng)絡(luò)在任何情況下幾乎都能使用,相對(duì)來(lái)說(shuō)它的操作更簡(jiǎn)單,使攻擊完全分布開來(lái),顯得更加隱蔽。
事實(shí)上,因?yàn)閻阂廛浖闹圃煺?,僵尸網(wǎng)絡(luò)的運(yùn)營(yíng)已經(jīng)成為了一條鮮明的產(chǎn)業(yè)鏈。實(shí)際他們已經(jīng)開始出租那些肉機(jī),并且按小時(shí)收費(fèi)。如果有人想要搞垮一個(gè)網(wǎng)站,只要給這些攻擊者付夠錢,然后就會(huì)有成千上萬(wàn)的僵尸電腦去攻擊那個(gè)網(wǎng)站。一臺(tái)受感染的電腦或許無(wú)法把一個(gè)站點(diǎn)搞垮,但若是有10000臺(tái)以上的電腦同時(shí)發(fā)送請(qǐng)求,它們會(huì)將把未受保護(hù)的服務(wù)器"塞滿"。
如何判斷是否已遭受DDoS攻擊
出現(xiàn)以下情況時(shí),您的業(yè)務(wù)可能已遭受DDoS攻擊:
網(wǎng)絡(luò)和設(shè)備正常的情況下,服務(wù)器突然出現(xiàn)連接斷開、訪問(wèn)卡頓、用戶掉線等情況。
服務(wù)器CPU或內(nèi)存占用率出現(xiàn)明顯增長(zhǎng)。
網(wǎng)絡(luò)出方向或入方向流量出現(xiàn)明顯增長(zhǎng)。
您的業(yè)務(wù)網(wǎng)站或應(yīng)用程序突然出現(xiàn)大量的未知訪問(wèn)。
登錄服務(wù)器失敗或者登錄過(guò)慢。
如何保護(hù)你的網(wǎng)絡(luò)
正如你所見(jiàn),DDOS攻擊五花八門,防不勝防,當(dāng)你想建立一個(gè)防御系統(tǒng)對(duì)抗DDOS的時(shí)候,你需要掌握這些攻擊的變異形態(tài)。
最笨的防御方法,就是花大價(jià)錢買更大的帶寬。拒絕服務(wù)就像個(gè)游戲一樣。如果你使用10000個(gè)系統(tǒng)發(fā)送1Mbps的流量,那就意味著你輸送給你的服務(wù)器每秒鐘10Gb的數(shù)據(jù)流量。這就會(huì)造成擁堵。這種情況下,同樣的規(guī)則適用于正常的冗余。這時(shí),你就需要更多的服務(wù)器,遍布各地的數(shù)據(jù)中心,和更好的負(fù)載均衡服務(wù)了。將流量分散到多個(gè)服務(wù)器上,幫助你進(jìn)行流量均衡,更大的帶寬能夠幫你應(yīng)對(duì)各種大流量的問(wèn)題。但現(xiàn)代的DDOS攻擊越來(lái)越瘋狂,需要的帶寬越來(lái)越大,你的財(cái)政狀況根本不允許你投入更多的資金。另外,絕大多數(shù)的時(shí)候,你的網(wǎng)站并不是主要攻擊目標(biāo),很多管理員都忘了這一點(diǎn)。
網(wǎng)絡(luò)中最關(guān)鍵的一塊就是DNS服務(wù)器。將DNS解析器處于開放狀態(tài)這是絕對(duì)不可取的,你應(yīng)當(dāng)把它鎖定,從而減少一部分攻擊風(fēng)險(xiǎn)。但這樣做了以后,我們的服務(wù)器就安全了嗎?答案當(dāng)然是否定的,即使你的網(wǎng)站,沒(méi)有一個(gè)可以鏈接到你的DNS服務(wù)器,幫你解析域名,這同樣是非常糟糕的事情。大多數(shù)完成注冊(cè)的域名需要兩個(gè)DNS服務(wù)器,但這遠(yuǎn)遠(yuǎn)不夠。你要確保你的DNS服務(wù)器以及你的網(wǎng)站和其他資源都處于負(fù)載均衡的保護(hù)狀態(tài)下。你也可以使用一些公司提供的冗余DNS。比如,有很多人使用內(nèi)容分發(fā)網(wǎng)絡(luò)(分布式的狀態(tài))給客戶發(fā)送文件,這是一種很好的抵御DDOS攻擊的方法。若你需要,也有很多公司提供了這種增強(qiáng)DNS的保護(hù)措施。
若是你自己管理你的網(wǎng)絡(luò)和數(shù)據(jù),那么就需要著重保護(hù)你的網(wǎng)絡(luò)層,要進(jìn)行很多配置。首先確保你所有的路由器都能夠屏蔽垃圾數(shù)據(jù)包,剔除掉一些不用的協(xié)議,比如ICMP這種的。然后設(shè)置好防火墻。很顯然,你的網(wǎng)站永遠(yuǎn)不會(huì)讓隨機(jī)DNS服務(wù)器進(jìn)行訪問(wèn),所以沒(méi)有必要允許UDP 53端口的數(shù)據(jù)包通過(guò)你的服務(wù)器。此外,你可以讓你的供應(yīng)商幫你進(jìn)行一些邊界網(wǎng)絡(luò)的設(shè)置,阻止一些沒(méi)用的流量,保證你能夠得到一個(gè)最大的最通暢的帶寬。很多網(wǎng)絡(luò)供應(yīng)商都給企業(yè)提供這種服務(wù),你可以與其網(wǎng)絡(luò)運(yùn)營(yíng)中心聯(lián)系,讓他們幫你優(yōu)化流量,幫你監(jiān)測(cè)一下你是否到了攻擊。
最后,你還得想想如何在這些攻擊到達(dá)你網(wǎng)站前就將它們攔截住。例如,現(xiàn)代網(wǎng)站應(yīng)用了許多動(dòng)態(tài)資源。在受到攻擊的時(shí)候其實(shí)帶寬是比較容易掌控的,但最終往往受到損失的是數(shù)據(jù)庫(kù)或是你運(yùn)行的腳本程序。你可以考慮使用緩存服務(wù)器提供盡可能多的靜態(tài)內(nèi)容,還要快速用靜態(tài)資源取代動(dòng)態(tài)資源并確保檢測(cè)系統(tǒng)正常運(yùn)行。
最糟糕的一種情況就是你的網(wǎng)絡(luò)或站點(diǎn)完全癱瘓了,你應(yīng)該在攻擊剛剛開始的時(shí)候就做好預(yù)備方案。因?yàn)楣粢坏╅_始,想要從源頭阻止DDOS是非常困難的。最后,你應(yīng)該好好琢磨琢磨如何讓你的基礎(chǔ)建設(shè)更加合理與安全,并且要著重注意你的網(wǎng)絡(luò)設(shè)置。這些都是非常重要的。
DDoS攻擊是業(yè)內(nèi)公認(rèn)的行業(yè)公敵,DDoS攻擊不僅影響被攻擊者,同時(shí)也會(huì)對(duì)服務(wù)商網(wǎng)絡(luò)的穩(wěn)定性造成影響,從而對(duì)處于同一網(wǎng)絡(luò)下的其他用戶業(yè)務(wù)也會(huì)造成損失。
相關(guān)熱詞搜索: 網(wǎng)站,如何,應(yīng)對(duì),緩解,DDOS攻擊