CC攻擊是DDoS(分布式拒絕攻擊)攻擊的一種惡意手段,其原理是通過代理服務(wù)器或肉雞向受害主機(jī)不斷發(fā)起大量數(shù)據(jù)包,使目標(biāo)服務(wù)器資源耗盡,導(dǎo)致其崩潰宕機(jī)。
其特點(diǎn)在于使用真實(shí)且分散的IP地址,發(fā)送難以辨別的正常數(shù)據(jù)請(qǐng)求。
這種攻擊常常針對(duì)網(wǎng)頁等目標(biāo),對(duì)受害者造成的影響不僅僅停留在無法訪問網(wǎng)頁的尷尬局面,還會(huì)引發(fā)連鎖反應(yīng),波及到后端的業(yè)務(wù)邏輯和數(shù)據(jù)庫服務(wù),使整個(gè)網(wǎng)站陷入癱瘓狀態(tài)。
為了更好地理解CC攻擊防御的思路,我們可以以一個(gè)電商網(wǎng)站為例。
這個(gè)網(wǎng)站提供了搜索功能,讓用戶通過輸入關(guān)鍵詞來查找商品——假設(shè)有人利用CC攻擊工具對(duì)這個(gè)網(wǎng)站發(fā)起不斷的搜索請(qǐng)求,每次都使用不同的關(guān)鍵詞,這樣一來,網(wǎng)站將承受巨大壓力,因?yàn)槊總€(gè)搜索請(qǐng)求都要訪問數(shù)據(jù)庫,而且無法充分利用緩存技術(shù),這可能導(dǎo)致網(wǎng)站響應(yīng)緩慢,甚至崩潰。
為了防御這種攻擊,網(wǎng)站可以采取以下措施:
1、在搜索頁面加入驗(yàn)證碼或者其他人機(jī)識(shí)別技術(shù),要求用戶輸入正確的驗(yàn)證碼才能進(jìn)行搜索。
2、在服務(wù)器端設(shè)置一個(gè)Session計(jì)數(shù)器,記錄每個(gè)IP地址在一定時(shí)間內(nèi)發(fā)起的搜索請(qǐng)求次數(shù),如果超過了設(shè)定的閾值,就拒絕該IP地址的請(qǐng)求或者要求輸入更復(fù)雜的驗(yàn)證碼。
3、把一些常見或者熱門的搜索結(jié)果做成靜態(tài)頁面,并且設(shè)置一個(gè)合理的過期時(shí)間,在用戶搜索時(shí)優(yōu)先返回靜態(tài)頁面。
4、優(yōu)化數(shù)據(jù)庫查詢性能和索引結(jié)構(gòu),減少每次搜索所需的時(shí)間和資源。