實例分析CC攻擊的危害:
例如,當訪問某個頁面時,該頁面會對后臺數(shù)據(jù)庫進行一個查詢操作,檢測所需的數(shù)據(jù)是否存儲在數(shù)據(jù)庫中。如果存在該數(shù)據(jù),就將其顯示在頁面上,否則就會提示沒有所需的內(nèi)容。實際上,在執(zhí)行顯示操作時也必須對數(shù)據(jù)庫進行一次訪問。顯然,絕大多數(shù)的頁面訪問都會帶來一次甚至多次的數(shù)據(jù)庫訪問動作。如果數(shù)據(jù)庫體積龐大,大量的訪問操作就會給服務器的CPU,內(nèi)存等資源造成極大的耗用。當訪問量達到移動的量級時,網(wǎng)站就會拒絕相應。這是因為服務器資源枯竭造成的拒絕服務故障,說明CPU已經(jīng)處理不過來了。
例如,很多網(wǎng)站都提供了搜索功能,但是對用戶兩次搜索之間的時間是有限制的,即不允許普通用戶進行不間斷的搜索。因為對于體積較大的數(shù)據(jù)庫來說,搜索操作會占用較多的CPU資源。假設網(wǎng)站的搜索頁面名稱為“Sous.asp”,服務器對該頁面的處理時間為0.01秒。這樣,在一秒鐘之內(nèi)可以滿足100個用戶的搜索需要,服務器允許的最大連接時間為60秒,可以處理6000次搜索請求。當黑客對其發(fā)起CC攻擊時,如果其操作200個代理服務器發(fā)起并發(fā)連接,在一分鐘之內(nèi)就可向服務器12000次。這對服務器造成了極大壓力。當CPU資源占用率連續(xù)兩分鐘處于100%時,后續(xù)大量發(fā)送的連接申請就會進行排隊處理。此時無論是按照順序依次處理搜索請求,還是按照順序丟棄連接申請,都會讓處于超級忙碌狀態(tài)的CPU無暇顧及了。這樣,僅僅幾分鐘,該網(wǎng)站就無法正常訪問了。
根據(jù)以上分析,黑客實施CC工具是很容易的,通過使用專用的CC攻擊程序,利用大量的代理服務器,對目標頁面進行連續(xù)的訪問,導致網(wǎng)站后臺數(shù)據(jù)庫產(chǎn)生大量的調(diào)用操作,占用大量的CPU處理時間。
黑客之所以使用CC攻擊,在于代理攻擊可以很好的保持攻擊連續(xù)性,當黑客在本機執(zhí)行攻擊操作后,代理服務器會不斷的訪問目標網(wǎng)站,黑客主機斷開連接后,代理服務器還會“忠實”的執(zhí)行連續(xù)不斷的連接訪問動作,造成連續(xù)不簡單的攻擊效果。可以說,CC攻擊的方式非常簡單,但是其危害卻不可忽視。實際上,黑客利用CC攻擊方式,不僅可以攻擊常規(guī)網(wǎng)站,對FTP等服務器同樣可以進行有效攻擊。
在服務器端識別CC攻擊并不復雜,如可在“CMD”窗口利用“netstat”命令觀察網(wǎng)絡連接,或使用Sniffer Pro等工具進行嗅探,發(fā)現(xiàn)大量IP不停地連接某個端口,并不停的再連接再斷開。如此的連接請求會導致網(wǎng)站無法正常工作。或使用KFW防火墻來進行觀察,在KFW防火墻監(jiān)控窗口左側(cè)的“查詢視圖”列中點擊“所有連接連接”項,在右側(cè)窗口顯示詳細的連接信息。點擊“源IP”列,使其按照順序排列,這樣觀察起來比較直觀。因為黑客發(fā)起CC攻擊時,會控制上百上千的代理服務器和目標服務器建立連接,來實現(xiàn)好近服務器資源的目的。所以,如果發(fā)現(xiàn)源IP列有大量的連接信息,超過平時正常連接的幾倍幾十倍的話,就說明本機受到了CC攻擊。
那么如何防御CC攻擊呢?除了管理員針對網(wǎng)站本身進行安全配置外,還可以使用CC攻擊防御專家這款工具,來抗擊CC攻擊。該工具使用很簡單,在其主界面的防御設置欄中拖動滑塊,可以調(diào)整防御的級別,選擇“攔截所有”項,表示拒絕所有從本程序監(jiān)聽端口進來的連接,現(xiàn)有的連接也將被斷開。選擇“變種CC”項,表示攔截CC變種攻擊,選擇“普通CC”項,表示連接普通CC攻擊,選擇“空連接”項,表示攔截在5秒鐘之內(nèi)未向本程序發(fā)送任何數(shù)據(jù)的連接。選擇“全部允許”項,表示接受所有網(wǎng)絡連接。點擊“查看”、“選項”項,在設置窗口中的“常規(guī)”面板中可以設置網(wǎng)關地址和端口,服務器地址和需要保護的端口。在高級面板中可以調(diào)整連接限制的數(shù)量以及最大連接數(shù)。如果連接數(shù)超過預設值,可以斷開連接或者將其添加到限制列表中。在日志查看面板中可以查看日志信息,在連接和限制面板中可以查看當前的網(wǎng)絡連接以及被限制的連接,可以將選定的網(wǎng)絡連接發(fā)送到禁用列表中,讓其無法連接服務器。
當然,可以使用KFW防火墻等更加強悍的安全工具,來抗擊CC攻擊。例如,某臺服務器運行了某項網(wǎng)絡服務,開啟了6000,6001,6001等端口,為了防御針對該服務的CC攻擊,打開KFW防火墻管理器,在其中依次點擊菜單“設置”、“防火墻設置”、“防火墻規(guī)則設置”項,在防火墻規(guī)則設置窗口中可以看到,其包括本地接收數(shù)據(jù)和本機發(fā)送數(shù)據(jù)兩個視圖。前者用于管控本機所有接收的數(shù)據(jù),后者用于管控本機所有發(fā)送的數(shù)據(jù)。
例如,在本機接收數(shù)據(jù)視圖中點擊“添加”按鈕,在規(guī)則設置窗口中輸入其名稱和描述信息,在“協(xié)議類型”列表中選擇合適的協(xié)議(例如 TCP等),在“發(fā)送端IP類型”列表中選擇數(shù)據(jù)包中源IP地址的范圍,例如“任何IP地址”等。在“接收端IP類型”列表中選擇數(shù)據(jù)包的目的IP地址。在接收端的“端口類型”列表中選擇“等于端口列表”項,在其下添加需要監(jiān)控的多個端口,例如6000,6001,6001等端口。在“協(xié)議屬性設置”欄中可以選擇不同的協(xié)議類型,包括SYN,ACK,F(xiàn)IN等。在每一個屬性項下方如果勾選“設置”項,表示需要對其進行檢查。點擊“高級設置”按鈕,在彈出窗口中的“大量IP刷服務器防護”面板中選擇“進行大量IP刷服務器防護”和“禁止HTTP”項。這樣,防火墻就會自動檢查每個源IP發(fā)送過來的前10個數(shù)據(jù)包,如果源IP試圖對預設端口進行非正常的HTTP連接,防火墻就會將其IP加入拒絕訪問列表,在180秒之內(nèi)禁止其訪問。
按照上述方法再創(chuàng)建一條規(guī)則,輸入合適的名稱和描述信息,在“接收端”欄中的“端口類型”列表中選擇“等于端口”項,輸入需要監(jiān)控的某個端口,例如6000端口。該端口需要包含在上一條規(guī)則的端口監(jiān)控序列中。點擊“高級設置”按鈕,在彈出窗口中選擇“進行大量IP刷服務器防護”和“刷SF限制”項,選擇“自動防護限制”項,在其下設置在20秒內(nèi)允許接收35個數(shù)據(jù)包,當加入到IP禁止訪問列表后600秒釋放,剛釋放的IP允許訪問服務器10次等信息。這樣,當針對每個源IP對服務器特定端口發(fā)送的數(shù)據(jù)包進行檢測時,允許其在20秒內(nèi)發(fā)送35個數(shù)據(jù)包,如果超過該限制,防火墻就會將其添加到拒絕列表。等待600秒后將該IP釋放出來。其剛剛釋放出來后,允許其再訪問10此,如果超出該限制,繼續(xù)對其進行封閉。
按照上述方法繼續(xù)創(chuàng)建新的規(guī)則,輸入其名稱和描述信息。具體設置方法第一條基本相同,同樣在“接收端”欄中的“端口類型”列表中選擇“等于端口列表”,添加需要監(jiān)控的端口序列。點擊“高級設置”按鈕,在彈出窗口中選擇“進行大量IP刷服務器防護”和“按訪問限制”項,在其下設置在30秒內(nèi)允許訪問服務器25次,將目標IP加入到屏蔽列表后300秒后釋放,釋放后運行其對服務器再訪問10次。該規(guī)則的作用是允許每個IP和服務器建立35個連接,如果超過此限制就將其加入到拒絕訪問列表,當加入之后經(jīng)過300秒將其釋放,其剛剛釋放出來后,允許其再訪問10次,如果超出該限制,繼續(xù)對其進行封鎖。
當然,可以針對不同的防護要求,創(chuàng)建更多的安全規(guī)則,來實現(xiàn)防御CC攻擊的目的。