作為站長或者公司的網(wǎng)站的網(wǎng)管,什么最可怕?顯然是網(wǎng)站受到的DDoS攻擊。大家都有這樣的經(jīng)歷,就是在訪問某一公司網(wǎng)站或者論壇時,如果這個網(wǎng)站或者論壇流量比較大,訪問的人比較多,打開頁面的速度會比較慢,對不?!一般來說,訪問的人越多,網(wǎng)站或論壇的頁面越多,數(shù)據(jù)庫就越大,被訪問的頻率也越高,占用的系統(tǒng)資源也就相當(dāng)可觀。本篇文章主要帶大家了解下CC攻擊的原理以及一些防護(hù)策略,主機(jī)吧覺得寫得不錯,就轉(zhuǎn)載給大家看下,希望可以幫到大家。
CC攻擊是DDoS(分布式拒絕服務(wù))的一種,相比其它的DDoS攻擊CC似乎更有技術(shù)含量一些。這種攻擊你見不到虛假IP,見不到特別大的異常流量,但造成服務(wù)器無法進(jìn)行正常連接,一條ADSL的普通用戶足以掛掉一臺高性能的Web服務(wù)器。由此可見其危害性,稱其為”Web殺手”毫不為過。最讓站長們憂慮的是這種攻擊技術(shù)含量不是很高,利用工具和一些IP代理,一個初、中級的電腦水平的用戶就能夠?qū)嵤〥DoS攻擊。
那么怎樣保證這些網(wǎng)站服務(wù)器的安全呢?防護(hù)CC攻擊大家有必要了解CC攻擊的原理及如果發(fā)現(xiàn)CC攻擊和對CC攻擊的防范措施。
一、CC攻擊的原理:
CC攻擊的原理就是攻擊者控制某些主機(jī)不停地發(fā)大量數(shù)據(jù)包給對方服務(wù)器造成服務(wù)器資源耗盡,一直到宕機(jī)崩潰。CC主要是用來攻擊頁面的,每個人都有這樣的體驗(yàn):當(dāng)一個網(wǎng)頁訪問的人數(shù)特別多的時候,打開網(wǎng)頁就慢了,CC就是模擬多個用戶(多少線程就是多少用戶)不停地進(jìn)行訪問那些需要大量數(shù)據(jù)操作(就是需要大量CPU時間)的頁面,造成服務(wù)器資源的浪費(fèi),CPU長時間處于100%,永遠(yuǎn)都有處理不完的連接直至就網(wǎng)絡(luò)擁塞,正常的訪問被中止。
二、CC攻擊的種類:
CC攻擊的種類有三種,直接攻擊,代理攻擊,僵尸網(wǎng)絡(luò)攻擊。
直接攻擊主要針對有重要缺陷的WEB應(yīng)用程序,一般說來是程序?qū)懙挠袉栴}的時候才會出現(xiàn)這種情況,比較少見。
僵尸網(wǎng)絡(luò)攻擊有點(diǎn)類似于DDOS攻擊了,從WEB應(yīng)用程序?qū)用嫔弦呀?jīng)無法防御。
代理攻擊:CC攻擊者一般會操作一批代理服務(wù)器,比方說100個代理,然后每個代理同時發(fā)出10個請求,這樣WEB服務(wù)器同時收到1000個并發(fā)請求的,并且在發(fā)出請求后,立刻斷掉與代理的連接,避免代理返回的數(shù)據(jù)將本身的帶寬堵死,而不能發(fā)動再次請求,這時WEB服務(wù)器會將響應(yīng)這些請求的進(jìn)程進(jìn)行隊(duì)列,數(shù)據(jù)庫服務(wù)器也同樣如此,這樣一來,正常請求將會被排在很后被處理,就象本來你去食堂吃飯時,一般只有不到十個人在排隊(duì),今天前面卻插了一千個人,那么輪到你的機(jī)會就很小很小了,這時就出現(xiàn)頁面打開極其緩慢或者白屏。
三、攻擊癥狀
CC攻擊有一定的隱蔽性,那如何確定服務(wù)器正在遭受或者曾經(jīng)遭受CC攻擊呢?我們可以通過以下三個方法來確定。
(1).命令行法
一般遭受CC攻擊時,Web服務(wù)器會出現(xiàn)80端口對外關(guān)閉的現(xiàn)象,因?yàn)檫@個端口已經(jīng)被大量的垃圾數(shù)據(jù)堵塞了正常的連接被中止了。我們可以通過在命令行下輸入命令netstat-an來查看,如果看到類似如下有大量顯示雷同的連接記錄基本就可以被CC攻擊了:
……
TCP 192.168.1.3:80 192.168.1.6:2205 SYN_RECEIVED 4
TCP 192.168.1.3:80 192.168.1.6: 2205 SYN_RECEIVED 4
TCP 192.168.1.3:80 192.168.1.6: 2205 SYN_RECEIVED 4
TCP 192.168.1.3:80 192.168.1.6: 2205 SYN_RECEIVED 4
TCP 192.168.1.3:80 192.168.1.6: 2205 SYN_RECEIVED 4
……
其中”192.168.1.6″就是被用來代理攻擊的主機(jī)的IP,”SYN_RECEIVED”是TCP連接狀態(tài)標(biāo)志,意思是”正在處于連接的初始同步狀態(tài)”,表明無法建立握手應(yīng)答處于等待狀態(tài)。這就是攻擊的特征,一般情況下這樣的記錄一般都會有很多條,表示來自不同的代理IP的攻擊。
(2).批處理法
上述方法需要手工輸入命令且如果Web服務(wù)器IP連接太多看起來比較費(fèi)勁,我們可以建立一個批處理文件,通過該腳本代碼確定是否存在CC攻擊。打開記事本鍵入如下代碼保存為CC.bat:
@echooff
time /t >>log.log
netstat -n -p tcp |find “:80”>>Log.log
notepad log.log
exit
上面的腳本的含義是篩選出當(dāng)前所有的到80端口的連接。當(dāng)我們感覺服務(wù)器異常是就可以雙擊運(yùn)行該批處理文件,然后在打開的log.log文件中查看所有的連接。如果同一個IP有比較多的到服務(wù)器的連接,那就基本可以確定該IP正在對服務(wù)器進(jìn)行CC攻擊。
(3).查看系統(tǒng)日志
上面的兩種方法有個弊端,只可以查看當(dāng)前的CC攻擊,對于確定Web服務(wù)器之前是否遭受CC攻擊就無能為力了,此時我們可以通過Web日志來查,因?yàn)閃eb日志忠實(shí)地記錄了所有IP訪問Web資源的情況。通過查看日志我們可以Web服務(wù)器之前是否遭受CC攻擊,并確定攻擊者的IP然后采取進(jìn)一步的措施。
Web日志一般在C:\WINDOWS\system32\LogFiles\HTTPERR目錄下,該目錄下用類似httperr1.log的日志文件,這個文件就是記錄Web訪問錯誤的記錄。管理員可以依據(jù)日志時間屬性選擇相應(yīng)的日志打開進(jìn)行分析是否Web被CC攻擊了。默認(rèn)情況下,Web日志記錄的項(xiàng)并不是很多,我們可以通過IIS進(jìn)行設(shè)置,讓W(xué)eb日志記錄更多的項(xiàng)以便進(jìn)行安全分析。其操作步驟是:
“開始→管理工具”打開”Internet信息服務(wù)器”,展開左側(cè)的項(xiàng)定位到到相應(yīng)的Web站點(diǎn),然后右鍵點(diǎn)擊選擇”屬性”打開站點(diǎn)屬性窗口,在”網(wǎng)站”選項(xiàng)卡下點(diǎn)擊”屬性”按鈕,在”日志記錄屬性”窗口的”高級”選項(xiàng)卡下可以勾選相應(yīng)的”擴(kuò)展屬性”,以便讓W(xué)eb日志進(jìn)行記錄。比如其中的”發(fā)送的字節(jié)數(shù)”、”接收的字節(jié)數(shù)”、”所用時間”這三項(xiàng)默認(rèn)是沒有選中的,但在記錄判斷CC攻擊中是非常有用的,可以勾選。另外,如果你對安全的要求比較高,可以在”常規(guī)”選項(xiàng)卡下對”新日志計(jì)劃”進(jìn)行設(shè)置,讓其”每小時”或者”每一天”進(jìn)行記錄。為了便于日后進(jìn)行分析時好確定時間可以勾選”文件命名和創(chuàng)建使用當(dāng)?shù)貢r間”。
四、CC攻擊防御策略
確定Web服務(wù)器正在或者曾經(jīng)遭受CC攻擊,那如何進(jìn)行有效的防范呢?
(1).取消域名綁定
一般cc攻擊都是針對網(wǎng)站的域名進(jìn)行攻擊,比如我們的網(wǎng)站域名是”www.star-net.cn”,那么攻擊者就在攻擊工具中設(shè)定攻擊對象為該域名然后實(shí)施攻擊。
對于這樣的攻擊我們的措施是在IIS上取消這個域名的綁定,讓CC攻擊失去目標(biāo)。具體操作步驟是:打開”IIS管理器”定位到具體站點(diǎn)右鍵”屬性”打開該站點(diǎn)的屬性面板,點(diǎn)擊IP地址右側(cè)的”高級”按鈕,選擇該域名項(xiàng)進(jìn)行編輯,將”主機(jī)頭值”刪除或者改為其它的值(域名)。
經(jīng)過模擬測試,取消域名綁定后Web服務(wù)器的CPU馬上恢復(fù)正常狀態(tài),通過IP進(jìn)行訪問連接一切正常。但是不足之處也很明顯,取消或者更改域名對于別人的訪問帶來了不變,另外,對于針對IP的CC攻擊它是無效的,就算更換域名攻擊者發(fā)現(xiàn)之后,他也會對新域名實(shí)施攻擊。
(2).域名欺騙解析
如果發(fā)現(xiàn)針對域名的CC攻擊,我們可以把被攻擊的域名解析到127.0.0.1這個地址上。我們知道127.0.0.1是本地回環(huán)IP是用來進(jìn)行網(wǎng)絡(luò)測試的,如果把被攻擊的域名解析到這個IP上,就可以實(shí)現(xiàn)攻擊者自己攻擊自己的目的,這樣他再多的肉雞或者代理也會宕機(jī),讓其自作自受。
另外,當(dāng)我們的Web服務(wù)器遭受CC攻擊時把被攻擊的域名解析到國家有權(quán)威的政府網(wǎng)站或者是網(wǎng)警的網(wǎng)站,讓其網(wǎng)警來收拾他們。
現(xiàn)在一般的Web站點(diǎn)都是利用類似”新網(wǎng)”這樣的服務(wù)商提供的動態(tài)域名解析服務(wù),大家可以登錄進(jìn)去之后進(jìn)行設(shè)置。
(3).更改Web端口
一般情況下Web服務(wù)器通過80端口對外提供服務(wù),因此攻擊者實(shí)施攻擊就以默認(rèn)的80端口進(jìn)行攻擊,所以,我們可以修改Web端口達(dá)到防CC攻擊的目的。運(yùn)行IIS管理器,定位到相應(yīng)站點(diǎn),打開站點(diǎn)”屬性”面板,在”網(wǎng)站標(biāo)識”下有個TCP端口默認(rèn)為80,我們修改為其他的端口就可以了。
(4).IIS屏蔽IP
我們通過命令或在查看日志發(fā)現(xiàn)了CC攻擊的源IP,就可以在IIS中設(shè)置屏蔽該IP對Web站點(diǎn)的訪問,從而達(dá)到防范IIS攻擊的目的。在相應(yīng)站點(diǎn)的”屬性”面板中,點(diǎn)擊”目錄安全性”選項(xiàng)卡,點(diǎn)擊”IP地址和域名現(xiàn)在”下的”編輯”按鈕打開設(shè)置對話框。在此窗口中我們可以設(shè)置”授權(quán)訪問”也就是”白名單”,也可以設(shè)置”拒絕訪問”即”黑名單”。比如我們可以將攻擊者的IP添加到”拒絕訪問”列表中,就屏蔽了該IP對于Web的訪問。
五、CC攻擊的防范手段
防止CC攻擊,不一定非要用高防服務(wù)器。比如,用防CC攻擊軟件就可以有效的防止CC攻擊。推薦一些CC的防范手段:
1、優(yōu)化代碼
盡可能使用緩存來存儲重復(fù)的查詢內(nèi)容,減少重復(fù)的數(shù)據(jù)查詢資源開銷。減少復(fù)雜框架的調(diào)用,減少不必要的數(shù)據(jù)請求和處理邏輯。程序執(zhí)行中,及時釋放資源,比如及時關(guān)閉mysql連接,及時關(guān)閉memcache連接等,減少空連接消耗。
2、限制手段
對一些負(fù)載較高的程序增加前置條件判斷,可行的判斷方法如下:
必須具有網(wǎng)站簽發(fā)的session信息才可以使用(可簡單阻止程序發(fā)起的集中請求);必須具有正確的referer(可有效防止嵌入式代碼的攻擊);禁止一些客戶端類型的請求(比如一些典型的不良蜘蛛特征);同一session多少秒內(nèi)只能執(zhí)行一次。
3、完善日志
盡可能完整保留訪問日志。日志分析程序,能夠盡快判斷出異常訪問,比如單一ip密集訪問;比如特定url同比請求激增。
六、針對CC攻擊的商業(yè)解決方案
很多的網(wǎng)站管理者是等到網(wǎng)站遭到攻擊了,受到損失了,才去尋求解決的方案,在將來的互聯(lián)網(wǎng)飛速發(fā)展的時代,一定要有安全隱患意識,不要等到損失大了,再去想辦法來補(bǔ)救,這樣為時已晚。然而當(dāng)網(wǎng)站受到攻擊時,大多數(shù)人想到的是—–快點(diǎn)找硬防,基本上都步了一個誤區(qū),就是認(rèn)為網(wǎng)站或者服務(wù)器被攻擊,購買硬件防火墻,什么事都萬事大吉了,實(shí)際上這樣的想法是極端錯誤的。多年的統(tǒng)計(jì)數(shù)據(jù)表明,想徹底解CC攻擊是幾乎不可能的,就好比治療感冒一樣,我們可以治療,也可以預(yù)防,但卻無法根治,但我們?nèi)舨扇》e極有效的防御方法,則可在很大程度上降低或減緩生病的機(jī)率,防治DDOS攻擊也是如此。
實(shí)際上比較理想解決方案應(yīng)該是”軟件+硬件”的解決方案。此方案對于資金較為充足的企業(yè)網(wǎng)站來說,這個方案適合他們;硬件在DDOS防護(hù)上有優(yōu)勢,軟件CC防護(hù)上有優(yōu)勢;相對于一些對于ICP內(nèi)容網(wǎng)站、論壇社區(qū)BBS、電子商務(wù)eBusiness、音樂網(wǎng)站Music、電影網(wǎng)站File等網(wǎng)站服務(wù)器越來越普及,但由于種種原因往往會遭受競爭對手或打擊報(bào)復(fù)者的惡意DDOS攻擊,持續(xù)的攻擊會導(dǎo)致大量用戶流失,嚴(yán)重的甚至因人氣全失而被迫關(guān)閉服務(wù)器,為了最大程度的保護(hù)運(yùn)營者的利益,百度旗下百度云加速產(chǎn)品應(yīng)運(yùn)而生,百度云加速具備1Tbps的壓制能力的抗D中心,擁有自有DDoS/CC清洗算法,可有效幫助網(wǎng)站防御SYN Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Proxy Flood、CC等常見的洪水攻擊。從而徹底解決了中小型網(wǎng)站在面對DDoS攻擊時預(yù)算不足的尷尬,也為所有防護(hù)網(wǎng)站的穩(wěn)定運(yùn)行提供保障。
