CC攻擊原理
CC主要是用來攻擊頁面的.大家都有這樣的經(jīng)歷,就是在訪問論壇時(shí),如果這個(gè)論壇比較大,訪問的人比較多,打開頁面的速度會(huì)比較慢,對不?!一般來說,訪問的人越多,論壇的頁面越多,數(shù)據(jù)庫就越大,被訪問的頻率也越高,占用的系統(tǒng)資源也就相當(dāng)可觀,現(xiàn)在知道為什么很多空間服務(wù)商都說大家不要上傳論壇,聊天室等東西了吧.
一個(gè)靜態(tài)頁面不需要服務(wù)器多少資源,甚至可以說直接從內(nèi)存中讀出來發(fā)給你就可以了,但是論壇就不一樣了,我看一個(gè)帖子,系統(tǒng)需要到數(shù)據(jù)庫中判斷我是否有讀讀帖子的權(quán)限,如果有,就讀出帖子里面的內(nèi)容,顯示出來——這里至少訪問了2次數(shù)據(jù)庫,如果數(shù)據(jù)庫的體積有200MB大小,系統(tǒng)很可能就要在這200MB大小的數(shù)據(jù)空間搜索一遍,這需要多少的CPU資源和時(shí)間?如果我是查找一個(gè)關(guān)鍵字,那么時(shí)間更加可觀,因?yàn)榍懊娴乃阉骺梢韵薅ㄔ谝粋€(gè)很小的范圍內(nèi),比如用戶權(quán)限只查用戶表,帖子內(nèi)容只查帖子表,而且查到就可以馬上停止查詢,而搜索肯定會(huì)對所有的數(shù)據(jù)進(jìn)行一次判斷,消耗的時(shí)間是相當(dāng)?shù)拇?
CC就是充分利用了這個(gè)特點(diǎn),模擬多個(gè)用戶(多少線程就是多少用戶)不停的進(jìn)行訪問(訪問那些需要大量數(shù)據(jù)操作,就是需要大量CPU時(shí)間的頁面).
攻擊現(xiàn)象:
服務(wù)器的流量瞬間可達(dá)到幾十M以上,網(wǎng)站打不開。重啟iis會(huì)發(fā)現(xiàn)流量馬上就降下來。查看IIS日志會(huì)發(fā)現(xiàn)很多不同的IP都反復(fù)訪問一個(gè)相同的文件。查看C:WINDOWSsystem32LogFilesHTTPERR 會(huì)發(fā)現(xiàn)很多出錯(cuò)的IIS日志,如下:
2007-08-22 06:05:28 61.140.127.206 61905 61.139.129.56 80 HTTP/1.1 GET /list.asp?
ProdId=0961 503 30 ConnLimit pool21
2007-08-22 06:05:28 221.8.137.99 3916 61.139.129.56 80 HTTP/1.1 GET /list.asp?ProdId=0961
503 30 ConnLimit pool21
2007-08-22 06:05:28 220.187.143.183 4059 61.139.129.56 80 HTTP/1.1 GET /list.asp?
ProdId=0961 503 30 ConnLimit pool21
2007-08-22 06:05:28 218.18.42.231 1791 61.139.129.56 80 HTTP/1.1 GET /list.asp?
ProdId=0961 503 30 ConnLimit pool21
2007-08-22 06:05:28 125.109.129.32 3030 61.139.129.56 80 HTTP/1.1 GET /list.asp?
ProdId=0961 503 30 ConnLimit pool21
2007-08-22 06:05:28 58.216.2.232 1224 61.139.129.56 80 HTTP/1.1 GET /list.asp?ProdId=0961
503 30 ConnLimit pool21
...
可以看出很多不同的IP都在訪問list.asp這個(gè)文件。以上現(xiàn)象就是CC攻擊的特征。根據(jù)發(fā)動(dòng)CC攻擊所使用的肉機(jī)數(shù)量,小的攻擊可以導(dǎo)致網(wǎng)站很慢或者不穩(wěn)定,大的攻擊可以讓網(wǎng)站一直都無法打開。
因這類攻擊,是模擬正常用戶不斷請求一個(gè)網(wǎng)頁。所以一般的防火墻很難防御。下面我們根據(jù)實(shí)際工作經(jīng)驗(yàn),講一下如何不用防火墻來解決這個(gè)攻擊問題。
因?yàn)镃C攻擊都是使用的肉機(jī)或代理來訪問我們的服務(wù)器的,它跟synflood攻擊不一樣。synfoold一直是不斷變化的虛假IP,而CC攻擊的IP都是真實(shí)的IP而基本上不變化的,只要我們用安全策略把這些IP全部封掉就可以了。