網(wǎng)站遇到CC攻擊的防護(hù)辦法有哪些?
發(fā)布時(shí)間:2018-09-11 10:36:32 瀏覽次數(shù):
4665
CC攻擊的防護(hù)沒(méi)那么簡(jiǎn)單的,偽裝手段也是千萬(wàn)變化,據(jù)我所知360網(wǎng)站衛(wèi)士沒(méi)有你說(shuō)的那么好的效果,貼篇月光博客文章給你看好了:網(wǎng)站防止CC攻擊的方法節(jié)選下內(nèi)容: 開(kāi)始我想使用某某網(wǎng)站衛(wèi)士來(lái)預(yù)防攻擊,從界面上看,似乎是防止了大量的CC攻擊,但登錄網(wǎng)站后發(fā)現(xiàn),流量依舊異常,攻擊還是依舊,看起來(lái)這個(gè)網(wǎng)站衛(wèi)士的效果并沒(méi)有達(dá)到。 從原理上看,基本上所有的防火墻都會(huì)檢測(cè)并發(fā)的TCP/IP連接數(shù)目,超過(guò)定數(shù)目定頻率就會(huì)被認(rèn)為是Connection-Flood。但如果IP的數(shù)量足夠大,使得單個(gè)IP的連接數(shù)較少,那么防火墻未必能阻止CC攻擊?!〔粌H如此,我還發(fā)現(xiàn),啟用了某某網(wǎng)站衛(wèi)士之后,反而更容易被CC攻擊,因?yàn)檫@個(gè)網(wǎng)站衛(wèi)士并不能過(guò)濾掉CC攻擊,攻擊的IP經(jīng)過(guò)其加速后,更換成為這個(gè)網(wǎng)站衛(wèi)士的IP,在網(wǎng)站服務(wù)器端顯示的IP都是相同的,導(dǎo)致服務(wù)器端無(wú)法過(guò)濾這些IP。
通常發(fā)起CC攻擊是使用專門(mén)的攻擊工具,同時(shí)模擬成多個(gè)用戶,向目標(biāo)網(wǎng)站發(fā)起多個(gè)請(qǐng)求,般這些軟件為了防止地址被屏蔽,還內(nèi)置通過(guò)代理攻擊的功能。可以通過(guò)多個(gè)代理服務(wù)器對(duì)目標(biāo)發(fā)起攻擊,使封IP的防御方式變的失效。防御思路因?yàn)镃C攻擊通過(guò)工具軟件發(fā)起,而普通用戶通過(guò)瀏覽器訪問(wèn),這其中就會(huì)有某些區(qū)別。想辦法對(duì)這二者作出判斷,選擇性的屏蔽來(lái)自機(jī)器的流量即可。初級(jí)普通瀏覽器發(fā)起請(qǐng)求時(shí),除了要訪問(wèn)的地址以外,Http頭中還會(huì)帶有Referer,UserAgent等多項(xiàng)信息。遇到攻擊時(shí)可以通過(guò)日志查看訪問(wèn)信息,看攻擊的流量是否有明顯特征,比如固定的Referer或UserAgent,如果能找到特征,就可以直接屏蔽掉了。中級(jí)如果攻擊者偽造了Referer和UserAgent等信息,那就需要從其他地方入手。攻擊軟件般來(lái)說(shuō)功能都比較簡(jiǎn)單,只有固定的發(fā)包功能,而瀏覽器會(huì)完整的支持Http協(xié)議,我們可以利用這點(diǎn)來(lái)進(jìn)行防御。先為每個(gè)訪問(wèn)者定義個(gè)字符串,保存在Cookies中作為T(mén)oken,必須要帶有正確的Token才可以訪問(wèn)后端服務(wù)。當(dāng)用戶第次訪問(wèn)時(shí),會(huì)檢測(cè)到用戶的Cookies里面并沒(méi)有這個(gè)Token,則返回個(gè)302重定向,目標(biāo)地址為當(dāng)前頁(yè)面,同時(shí)在返回的Http頭中加入set cookies字段,對(duì)Cookies進(jìn)行設(shè)置,使用戶帶有這個(gè)Token。客戶端如果是個(gè)正常的瀏覽器,那么就會(huì)支持http頭中的set cookie和302重定向指令,將帶上正確的Token再次訪問(wèn)頁(yè)面,這時(shí)候后臺(tái)檢測(cè)到正確的Token,就會(huì)放行,這之后用戶的Http請(qǐng)求都會(huì)帶有這個(gè)Token,所以并不會(huì)受到阻攔。客戶端如果是CC軟件,那么般不會(huì)支持這些指令,那么就會(huì)直被攔在外層,并不會(huì)對(duì)服務(wù)器內(nèi)部造成壓力。高級(jí)高級(jí)點(diǎn)的,還可以返回個(gè)網(wǎng)頁(yè),在頁(yè)面中嵌入JavaScript來(lái)設(shè)置Cookies并跳轉(zhuǎn),這樣被偽造請(qǐng)求的可能性更小Token生成算法Token需要滿足以下幾點(diǎn)要求1,每個(gè)IP地址的Token不同 2, 無(wú)法偽造3, 致性,即對(duì)相同的客戶端,每次生成的Token相同Token隨IP地址變化是為了防止通過(guò)臺(tái)機(jī)器獲取Token之后,再通過(guò)代理服務(wù)區(qū)進(jìn)行攻擊。致性則是為了避免在服務(wù)器端需要存儲(chǔ)已經(jīng)生成的Token。推薦使用以下算法生成Token,其中Key為服務(wù)器有的保密字符串,這個(gè)算法生成的Token可以滿足以上這些要求。Token = Hash( UserAgent + client_ip + key )
來(lái)源:本站 編輯:普通管理員