什么是CC攻擊,如何防范?

2023-07-26    分類: 網站建設

cc攻擊原理

CC(ChallengeCollapsar,挑戰(zhàn)黑洞)攻擊是DDoS攻擊的一種類型,使用代理服務器向受害服務器發(fā)送大量貌似合法的請求。CC根據其工具命名,攻擊者使用代理機制,利用眾多廣泛可用的免費代理服務器發(fā)動DDoS攻擊。許多免費代理服務器支持匿名模式,這使追蹤變得非常困難。
CC攻擊的原理就是攻擊者控制某些主機不停地發(fā)大量數據包給對方服務器造成服務器資源耗盡,一直到宕機崩潰。CC主要是用來攻擊頁面的,每個人都有這樣的體驗:當一個網頁訪問的人數特別多的時候,打開網頁就慢了,CC就是模擬多個用戶(多少線程就是多少用戶)不停地進行訪問那些需要大量數據操作(就是需要大量CPU時間)的頁面,造成服務器資源的浪費,CPU長時間處于100%,永遠都有處理不完的連接直至就網絡擁塞,正常的訪問被中止。

防CC攻擊

CC攻擊可以歸為DDoS攻擊的一種。他們之間的原理都是一樣的,即發(fā)送大量的請求數據來導致服務器拒絕服務,是一種連接攻擊。CC攻擊又可分為代理CC攻擊,和肉雞CC攻擊。代理CC攻擊是黑客借助代理服務器生成指向受害主機的合法網頁請求,實現DDoS,和偽裝就叫:cc(Challenge Collapsar)。而肉雞CC攻擊是黑客使用CC攻擊軟件,控制大量肉雞,發(fā)動攻擊,相比來后者比前者更難防御。因為肉雞可以模擬正常用戶訪問網站的請求。偽造成合法數據包。
一個靜態(tài)頁面不需要服務器多少資源,甚至可以說直接從內存中讀出來發(fā)給你就可以了,但是論壇之類的動態(tài)網站就不一樣了,我看一個帖子,系統需要到數據庫中判斷我是否有讀帖子的權限,如果有,就讀出帖子里面的內容,顯示出來——這里至少訪問了2次數據庫,如果數據庫的體積有200MB大小,系統很可能就要在這200MB大小的數據空間搜索一遍,這需要多少的CPU資源和時間?如果我是查找一個關鍵字,那么時間更加可觀,因為前面的搜索可以限定在一個很小的范圍內,比如用戶權限只查用戶表,帖子內容只查帖子表,而且查到就可以馬上停止查詢,而搜索肯定會對所有的數據進行一次判斷,消耗的時間是相當的大。
CC攻擊就是充分利用了這個特點,模擬多個用戶(多少線程就是多少用戶)不停的進行訪問(訪問那些需要大量數據操作,就是需要大量CPU時間的頁面,比如asp/php/jsp/cgi)。很多朋友問到,為什么要使用代理呢?因為代理可以有效地隱藏自己的身份,也可以繞開所有的防火墻,因為基本上所有的防火墻都會檢測并發(fā)的TCP/IP連接數目,超過一定數目一定頻率就會被認為是Connection-Flood。當然也可以使用肉雞發(fā)動CC攻擊。肉雞的CC攻擊效果更可觀。致使服務器CPU100%,甚至死機的現象。
使用代理攻擊還能很好的保持連接,這里發(fā)送了數據,代理轉發(fā)給對方服務器,就可以馬上斷開,代理還會繼續(xù)保持著和對方連接(我知道的記錄是有人利用2000個代理產生了35萬并發(fā)連接)。
當然,CC也可以利用這里方法對FTP、游戲端口、聊天房間等進行攻擊,也可以實現TCP-FLOOD,這些都是經過測試有效的。

cc攻擊癥狀

CC攻擊有一定的隱蔽性,那如何確定服務器正在遭受或者曾經遭受CC攻擊呢?可以通過以下三個方法來確定。
1、命令行法
一般遭受CC攻擊時,Web服務器會出現80端口對外關閉的現象, 因為這個端口已經被大量的垃圾數據堵塞了正常的連接被中止了??梢酝ㄟ^在命令行下輸入命令netstat -an來查看,?“SYN_RECEIVED”是TCP連接狀態(tài)標志,意思是“正在處于連接的初始同步狀態(tài) ”,表明無法建立握手應答處于等待狀態(tài)。這就是攻擊的特征,一般情況下這樣的記錄一般都會有很多條,表示來自不同的代理IP的攻擊。
2、批處理法
上述方法需要手工輸入命令且如果Web服務器IP連接太多看起來比較費勁,可以建立一個批處理文件,通過該腳本代碼確定是否存在CC攻擊。
腳本篩選出當前所有的到80端口的連接。當感覺服務器異常時就可以雙擊運行該批處理文件,然后在打開的log.log文件中查看所有的連接。如果同一個IP有比較多的到服務器的連接,那就基本可以確定該IP正在對服務器進行CC攻擊。
3、查看系統日志
Web日志一般在C:\WINDOWS\system32\LogFiles\HTTPERR目錄下,該目錄下用類似httperr1.log的日志文件,這個文件就是記錄Web訪問錯誤的記錄。管理員可以依據日志時間屬性選擇相應的日志打開進行分析是否Web被CC攻擊了。

默認情況下,Web日志記錄的項并不是很多,可以通過ⅡS進行設置,讓Web日志記錄更多的項以便進行安全分析。其操作步驟是:“開始→管理工具”打開“Internet信息服務器”,展開左側的項定位到到相應的Web站點,然后右鍵點擊選擇“屬性”打開站點屬性窗口,在“網站”選項卡下點擊“屬性”按鈕,在“日志記錄屬性”窗口的“高級”選項卡下可以勾選相應的“擴展屬性”,以便讓Web日志進行記錄。比如其中的“發(fā)送的字節(jié)數”、“接收的字節(jié)數”、“所用時間”這三項默認是沒有選中的,但在記錄判斷CC攻擊中是非常有用的,可以勾選。另外,如果你對安全的要求比較高,可以在“常規(guī)”選項卡下對“新日志計劃”進行設置,讓其“每小時”或者“每一天”進行記錄。為了便于日后進行分析時好確定時間可以勾選“文件命名和創(chuàng)建使用當地時間”。


cc防御方法

對于CC攻擊.其防御必須采用多種方法,而這些方法本質上也是在提高服務器的并發(fā)能力。

1、服務器垂直擴展和水平擴容

資金允許的情況下,這是最簡單的一種方法,本質上講,這個方法并不是針對CC攻擊的,而是提升服務本身處理并發(fā)的能力,但確實提升了對CC攻擊的承載能力。垂直擴展:是指增加每臺服務器的硬件能力,如升級CPU、增加內存、升級SSD固態(tài)硬盤等。水平擴容:是指通過增加提供服務的服務器來提升承載力。上述擴展和擴容可以在服務的各個層級進行,包括:應用服務器、數據庫服務器和緩存服務器等等。
2、數據緩存(內存級別,不要用文件)
對于服務中具備高度共性,多用戶可重用,或單用戶多次可重用的數據,一旦從數據庫中檢索出,或通過計算得出后,最好將其放在緩存中,后續(xù)請求均可直接從緩存中取得數據,減輕數據庫的檢索壓力和應用服務器的計算壓力,并且能夠快速返回結果并釋放進程,從而也能緩解服務器的內存壓力。要注意的是,緩存不要使用文件形式,可以使用redis、mem—cached等基于內存的nosql緩存服務,并且與應用服務器分離,單獨部署在局域網內。局域網內的網絡IO肯定比起磁盤IO要高。為了不使局域網成為瓶頸,千兆網絡也是有必要的。
3、頁面靜態(tài)化
與數據緩存一樣,頁面數據本質上也屬于數據,常見的手段是生成靜態(tài)化的html頁面文件,利用客戶端瀏覽器的緩存功能或者服務端的緩存服務,以及CDN節(jié)點的緩沖服務,均可以降低服務器端的數據檢索和計算壓力,快速響應結果并釋放連接進程。
4、用戶級別的調用頻率限制
不管服務是有登陸態(tài)還是沒登陸態(tài),基于session等方式都可以為客戶端分配唯一的識別ID(后稱作SID),服務端可以將SID存到緩存中。當客戶端請求服務時,如果沒有帶SID(cookie中或請求參數中等),則由服務端快速分配一個并返回??梢缘脑挘敬握埱罂梢圆环祷財祿?,或者將分配SID獨立出業(yè)務服務。當客戶端請求時帶了合法SID(即SID能在服務端緩存中匹配到),便可以依據SID對客戶端進行頻率限制。而對于SID非法的請求,則直接拒絕服務。相比根據IP進行的頻率限制,根據SID的頻率限制更加精準可控,可大程度地避免誤殺情況。
5、IP限制
最后,IP限制依然可以結合上述規(guī)則一起使用,但是可以將其前置至)JCb層的防火墻或負載均衡器上去做,并且可以調大限制的閾值,防止惡意訪問穿透到應用服務器上,造成應用服務器壓力。

文章題目:什么是CC攻擊,如何防范?
本文來源:http://www.bm7419.com/news7/274507.html

成都網站建設公司_創(chuàng)新互聯,為您提供用戶體驗、網站收錄網頁設計公司、手機網站建設、全網營銷推廣ChatGPT

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

小程序開發(fā)