1. 程式人生 > >CC攻擊(Challenge Collapsar)原理及防範方法

CC攻擊(Challenge Collapsar)原理及防範方法

CC攻擊的原理

大家都有這樣的經歷,就是在訪問論壇時,如果這個論壇比較大,訪問的人比較多,開啟頁面的速度會比較慢,訪問的人越多,論壇的頁面越多,資料庫壓力就越大,被訪問的頻率也越高,佔用的系統資源也就相當可觀。

我們都知道網站的頁面有靜態和動態之分,動態網頁是需要與後臺資料庫進行互動的,比如一些論壇使用者登入的時候需要去資料庫查詢你的等級、許可權等等,當你留言的時候又需要查詢許可權、同步資料等等,這就消耗很多CPU資源,造成靜態網頁能開啟,但是需要和資料庫互動的動態網頁開啟慢或者無法開啟的現象。

CC攻擊的原理是通過代理伺服器或者大量肉雞模擬多個使用者訪問目標網站的動態頁面,製造大量的後臺資料庫查詢動作,消耗目標CPU資源,造成拒絕服務。CC不像DDoS可以用硬體防火牆來過濾攻擊,CC攻擊本身的請求就是正常的請求。

 

CC攻擊的種類

CC攻擊的種類有三種:

  1. 直接攻擊:主要針對有重要缺陷的 WEB 應用程式,一般說來是程式寫的有問題的時候才會出現這種情況,比較少見。
  2. 僵屍網路攻擊:僵屍網路攻擊有點類似於 DDOS 攻擊了,從 WEB 應用程式層面上已經無法防禦。
  3. 代理攻擊:CC攻擊者一般會操作一批代理伺服器,比方說100個代理,然後每個代理同時發出10個請求,這樣WEB伺服器同時收到1000個併發請求的,並且在發出請求後,立刻斷掉與代理的連線,避免代理返回的資料將本身的頻寬堵死,而不能發動再次請求,這時WEB伺服器會將響應這些請求的程序進行佇列,資料庫伺服器也同樣如此,這樣一來,正常請求將會被排在很後被處理,這時就出現頁面開啟極其緩慢或者白屏。

 

CC攻擊與DDOS的區別

DDoS攻擊打的是網站的伺服器,而CC攻擊是針對網站的頁面攻擊的,用術語來說就是,一個是WEB網路層拒絕服務攻擊(DDoS),一個是WEB應用層拒絕服務攻擊(CC)。網路層就是利用肉雞的流量去攻擊目標網站的伺服器,針對比較本源的東西去攻擊,伺服器癱瘓了,那麼執行在伺服器上的網站肯定也不能正常訪問了。而應用層就是我們使用者看得到的東西,就比如說網頁,CC攻擊就是針對網頁來攻擊的,CC攻擊本身是正常請求,網站動態頁面的正常請求也會和資料庫進行互動的,當這種"正常請求"達到一種程度的時候,伺服器就會響應不過來,從而崩潰。

 

簡易CC攻擊防禦策略 

確定Web伺服器正在或者曾經遭受CC攻擊,那如何進行有效的防範呢?

1.取消域名繫結 

一般cc攻擊都是針對網站的域名進行攻擊,比如我們的網站域名是“www.abc.com”,那麼攻擊者就在攻擊工具中設定攻擊物件為該域名然後實施攻擊。 對於這樣的攻擊我們的措施是取消這個域名的繫結,讓CC攻擊失去目標。

2.域名欺騙解析 
如果發現針對域名的CC攻擊,我們可以把被攻擊的域名解析到127.0.0.1這個地址上。我們知道127.0.0.1是本地迴環IP是用來進行網路測試的,如果把被攻擊的域名解析到這個IP上,就可以實現攻擊者自己攻擊自己的目的,這樣他再多的肉雞或者代理也會宕機,讓其自作自受。

3.更改Web埠 
一般情況下Web伺服器通過80埠對外提供服務,因此攻擊者實施攻擊就以預設的80埠進行攻擊,所以,我們可以修改Web埠達到防CC攻擊的目的。

4.遮蔽IP 
我們通過命令或在檢視日誌發現了CC攻擊的源IP,就可以在防火牆中設定遮蔽該IP對Web站點的訪問,從而達到防範攻擊的目的。