??CC攻擊是指攻擊者使用大量的代理模擬真實(shí)用戶想受害發(fā)送大量貌似合法的請(qǐng)求,造成受害主機(jī)服務(wù)器資源耗盡,一直到宕機(jī)崩潰。通常發(fā)起CC攻擊是使用專門的攻擊工具,同時(shí)模擬成多個(gè)用戶,向目標(biāo)發(fā)起多個(gè)請(qǐng)求,一般這些軟件為了防止地址被屏蔽,還內(nèi)置通過代理攻擊的功能??梢酝ㄟ^多個(gè)代理服務(wù)器對(duì)目標(biāo)發(fā)起攻擊,使封IP的防御方式變的失效。那么下面就由小編和大家講一講網(wǎng)站cc防御的步驟。
創(chuàng)新互聯(lián)建站專注于南澳企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城建設(shè)。南澳網(wǎng)站建設(shè)公司,為南澳等地區(qū)提供建站服務(wù)。全流程按需搭建網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
一、防御思路
因?yàn)镃C攻擊通過工具軟件發(fā)起,而普通用戶通過瀏覽器訪問,這其中就會(huì)有某些區(qū)別。想辦法對(duì)這二者作出判斷,選擇性的屏蔽來自機(jī)器的流量即可。
二、初級(jí)
普通瀏覽器發(fā)起請(qǐng)求時(shí),除了要訪問的地址以外,Http頭中還會(huì)帶有Referer,UserAgent等多項(xiàng)信息。遇到攻擊時(shí)可以通過日志查看訪問信息,看攻擊的流量是否有明顯特征,比如固定的Referer或UserAgent,如果能找到特征,就可以直接屏蔽掉了。
三、中級(jí)
如果攻擊者偽造了Referer和UserAgent等信息,那就需要從其他地方入手。攻擊軟件一般來說功能都比較簡(jiǎn)單,只有固定的發(fā)包功能,而瀏覽器會(huì)完整的支持Http協(xié)議,我們可以利用這一點(diǎn)來進(jìn)行防御。
首先為每個(gè)訪問者定義一個(gè)字符串,保存在Cookies中作為Token,必須要帶有正確的Token才可以訪問后端服務(wù)。當(dāng)用戶第一次訪問時(shí),會(huì)檢測(cè)到用戶的Cookies里面并沒有這個(gè)Token,則返回一個(gè)302重定向,目標(biāo)地址為當(dāng)前頁面,同時(shí)在返回的Http頭中加入set cookies字段,對(duì)Cookies進(jìn)行設(shè)置,使用戶帶有這個(gè)Token。
客戶端如果是一個(gè)正常的瀏覽器,那么就會(huì)支持http頭中的set cookie和302重定向指令,將帶上正確的Token再次訪問頁面,這時(shí)候后臺(tái)檢測(cè)到正確的Token,就會(huì)放行,這之后用戶的Http請(qǐng)求都會(huì)帶有這個(gè)Token,所以并不會(huì)受到阻攔??蛻舳巳绻荂C軟件,那么一般不會(huì)支持這些指令,那么就會(huì)一直被攔在最外層,并不會(huì)對(duì)服務(wù)器內(nèi)部造成壓力
四、高級(jí)
高級(jí)一點(diǎn)的,還可以返回一個(gè)網(wǎng)頁,在頁面中嵌入JavaScript來設(shè)置Cookies并跳轉(zhuǎn),這樣被偽造請(qǐng)求的可能性更小。
Token需要滿足以下幾點(diǎn)要求:
1,每個(gè)IP地址的Token不同
2, 無法偽造
3, 一致性,即對(duì)相同的客戶端,每次生成的Token相同
Token隨IP地址變化是為了防止通過一臺(tái)機(jī)器獲取Token之后,再通過代理服務(wù)區(qū)進(jìn)行攻擊。一致性則是為了避免在服務(wù)器端需要存儲(chǔ)已經(jīng)生成的Token。
推薦使用以下算法生成Token,其中Key為服務(wù)器獨(dú)有的保密字符串,這個(gè)算法生成的Token可以滿足以上這些要求。
Token = Hash( UserAgent client_ip key )
?以上就是當(dāng)網(wǎng)站遇到CC攻擊的解決方法參考,各位網(wǎng)站管理者在平時(shí)需要多注意,為服務(wù)器提高安全性能。小伙伴們要想獲得更多網(wǎng)站cc防御的內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)。
網(wǎng)站標(biāo)題:網(wǎng)站cc防御的步驟
網(wǎng)站URL:
http://weahome.cn/article/jihe.html