網(wǎng)絡(luò)攻擊橫行的互聯(lián)網(wǎng)時(shí)代,CC攻擊可謂是較為常見的攻擊手段,也是需要網(wǎng)站抵擋的攻擊之一,想要保護(hù)好網(wǎng)站,就需要做好應(yīng)對(duì)攻擊的CC防護(hù)措施。管理網(wǎng)站和服務(wù)器的時(shí)候,最害怕的就是網(wǎng)站受到CC攻擊,特別是一般的服務(wù)器帶寬并不大,當(dāng)受到CC攻擊的時(shí)候,很容易就因?yàn)橘Y源被完全搶占而導(dǎo)致服務(wù)器崩潰。
CC攻擊的原理很簡(jiǎn)單,就是對(duì)一些消耗資源較大的應(yīng)用頁面不斷地發(fā)起正常的請(qǐng)求,以達(dá)到消耗服務(wù)端資源的目的,在web應(yīng)用中,查詢數(shù)據(jù)庫、讀寫硬盤文件的操作,相對(duì)都會(huì)消耗比較多的資源。
CC主要是用來攻擊頁面的,大家都有這樣的經(jīng)歷,就是在訪問論壇時(shí),如果這個(gè)論壇比較大,訪問的人比較多,打開頁面的速度會(huì)比較慢,訪問的人越多,論壇的頁面越多,數(shù)據(jù)庫壓力就越大,被訪問的頻率也越高,占用的系統(tǒng)資源也就越多。
網(wǎng)站在進(jìn)行CC防護(hù)時(shí)需要注意的問題是寬帶問題。有人說,增加寬帶可以有效防止這種攻擊。事實(shí)上黑客能調(diào)用的資源已經(jīng)非常龐大,增加寬帶不一定能阻止這種攻擊,有時(shí)提高寬帶很有可能會(huì)損失你的寬帶成本。這種攻擊,50兆寬帶對(duì)于很多網(wǎng)站來說已經(jīng)非常大了,但是現(xiàn)在黑客在調(diào)集了巨大的資源后,可以提供的單位流量攻擊遠(yuǎn)遠(yuǎn)超過50兆,所以說通過增加寬帶來抵御這種攻擊顯然是一種愚蠢的方法。
有些人在CC防護(hù)時(shí)可能會(huì)有另一種誤解,就是認(rèn)為可以依靠殺毒軟件來防止CC攻擊。的確,在服務(wù)器上安裝殺毒軟件現(xiàn)在已經(jīng)是很多人的操作模式,但是這些殺毒軟件只能防止常見的攻擊,而無法抵御這種大規(guī)模的攻擊。
殺毒軟件的有時(shí)甚至比服務(wù)器的防火墻還要差。安裝殺毒軟件會(huì)關(guān)閉服務(wù)器的防火墻,這樣服務(wù)器防火墻的保護(hù)將丟失。因此,所謂的網(wǎng)絡(luò)攻擊防護(hù)軟件實(shí)際上是沒有用的,都無法抵御這種大規(guī)模的攻擊。
當(dāng)網(wǎng)站遭到CC攻擊,會(huì)產(chǎn)生以下危害:
1、CC攻擊后會(huì)導(dǎo)致網(wǎng)站訪問速度異常緩慢,哪怕真實(shí)的用戶訪問量很少,打開速度也會(huì)很慢。
2、網(wǎng)站長(zhǎng)時(shí)間被CC攻擊,會(huì)導(dǎo)致網(wǎng)站訪問異常,搜索引擎無法抓取,導(dǎo)致關(guān)鍵詞排名受影響,網(wǎng)站訪問量驟減,轉(zhuǎn)化率大幅度降低。
3、正常訪問的網(wǎng)站加載速度延遲都會(huì)消耗用戶的耐心,最終導(dǎo)致用戶跳出率極高,流失嚴(yán)重,損害網(wǎng)站品牌形象。
CC攻擊的類型主要包括直接攻擊,代理攻擊,僵尸網(wǎng)絡(luò)攻擊三種
1、直接攻擊:主要針對(duì)有重要缺陷的web應(yīng)用程序,一般說來是程序?qū)懙挠袉栴}的時(shí)候才會(huì)導(dǎo)致這種情況,非常見類型。
2、代理攻擊:具體是黑客操作一批代理服務(wù)器,然后每個(gè)代理同時(shí)發(fā)出多個(gè)請(qǐng)求到目標(biāo)主機(jī),并且在發(fā)出請(qǐng)求后立刻斷掉與代理的連接,避免代理返回的數(shù)據(jù)將本身的帶寬堵死,而不能發(fā)動(dòng)再次請(qǐng)求,這時(shí) 目標(biāo)主機(jī)會(huì)將響應(yīng)這些請(qǐng)求的進(jìn)程進(jìn)行隊(duì)列,這樣一來正常請(qǐng)求將會(huì)被排后處理,這時(shí)就出現(xiàn)頁面打開極其緩慢或者白屏。
3、僵尸網(wǎng)絡(luò):攻擊有點(diǎn)類似于DDoS攻擊,從web應(yīng)用程序?qū)用嫔弦呀?jīng)無法進(jìn)行CC防護(hù)。
以上攻擊方式其實(shí)都是同樣的原理,CC攻擊主要就是黑客控制某些主機(jī),然后不停地發(fā)大量數(shù)據(jù)包給對(duì)方服務(wù)器,造成服務(wù)器資源耗盡,一直到宕機(jī)崩潰。CC攻擊主要是用來攻擊頁面的,模擬多個(gè)用戶不停地進(jìn)行訪問那些需要大量數(shù)據(jù)操作的頁面,造成服務(wù)器資源的浪費(fèi),CPU長(zhǎng)時(shí)間處于100%,就會(huì)導(dǎo)致網(wǎng)絡(luò)擁塞,正常的訪問被中止。
第一步,降低被攻擊的可能性 1、完善日志
盡可能完整保留訪問日志。日志分析程序,能夠盡快判斷出異常訪問,比如單一IP密集訪問,或者特定url同比請(qǐng)求激增等。
2、優(yōu)化代碼
盡可能使用緩存來存儲(chǔ)重復(fù)的查詢內(nèi)容,減少重復(fù)的數(shù)據(jù)查詢資源開銷。減少復(fù)雜框架的調(diào)用,減少不必要的數(shù)據(jù)請(qǐng)求和處理邏輯。程序執(zhí)行中,及時(shí)釋放資源,比如及時(shí)關(guān)閉mysql連接,及時(shí)關(guān)閉memcache連接等,減少空連接消耗。
3、還可以采取一些限制手段
比如對(duì)一些負(fù)載較高的程序增加前置條件判斷,可行的判斷方法如下:
a.必須具有正確的referer,可有效防止嵌入式代碼的攻擊;
b.同一session多少秒內(nèi)只能執(zhí)行一次。
c.必須具有網(wǎng)站簽發(fā)的session信息才可以使用,可簡(jiǎn)單阻止程序發(fā)起的集中請(qǐng)求;
d.禁止一些客戶端類型的請(qǐng)求,比如一些典型的不良蜘蛛特征;
第二步,被攻擊時(shí)可采取的CC防護(hù)方式 1)IIS屏蔽IP
我們通過命令或在查看日志發(fā)現(xiàn)了CC攻擊的源IP,就可以在IIS中設(shè)置屏蔽該IP對(duì)web站點(diǎn)的訪問,從而達(dá)到防范IIS攻擊的目的。
2)取消域名綁定
取消域名綁定后web服務(wù)器的CPU能夠馬上恢復(fù)正常狀態(tài),通過IP進(jìn)行訪問連接一切正常。但是不足之處也很明顯,取消或者更改域名對(duì)于別人的訪問帶來了不便,另外,對(duì)于針對(duì)IP的CC攻擊它是無效的,就算更換域名黑客發(fā)現(xiàn)之后,黑客也會(huì)對(duì)新域名實(shí)施攻擊。
3)更改web端口
一般情況下web服務(wù)器通過80端口對(duì)外提供服務(wù),因此黑客實(shí)施攻擊就以默認(rèn)的80端口進(jìn)行攻擊,所以,可以修改web端口達(dá)到防CC攻擊的目的。
遇到任何事情,解決方式都可以分為事前預(yù)防和事后補(bǔ)救兩步。做好CC防護(hù)也是一樣,不僅需要做好遇到攻擊時(shí)的解決方案,更重要的是可以提前做好防御措施。未雨綢繆是首選,亡羊補(bǔ)牢也不晚,都可以降低CC攻擊帶來的損失。