Web服務器如何防CC攻擊?

CC攻擊是DDOS(分佈式拒絕服務)的一種,相比其它的DDOS攻擊CC似乎更有技術含量一些。這種攻擊你見不到虛假IP,見不到特別大的異常流量,但造成服務器無法進行正常連接,聽說一條ADSL足以搞掂一臺高性能的Web服務器。由此可見其危害性,稱其爲“Web殺手”也毫不爲過。最讓站長們憂慮的是這種攻擊技術含量低,利用工具和一些IP代理一個初、中級的電腦水平的用戶就能夠實施攻擊。因此,大家有必要了解CC攻擊的原理及如果發現CC攻擊和對其的防範措施。

  1、攻擊原理

  CC攻擊的原理就是攻擊者控制某些主機不停地發大量數據包給對方服務器造成服務器資源耗盡,一直到宕機崩潰。CC主要是用來攻擊頁面的,每個人都有這樣的體驗:當一個網頁訪問的人數特別多的時候,打開網頁就慢了,CC就是模擬多個用戶(多少線程就是多少用戶)不停地進行訪問那些需要大量數據操作(就是需要大量CPU時間)的頁面,造成服務器資源的浪費,CPU長時間處於100%,永遠都有處理不完的連接直至就網絡擁塞,正常的訪問被中止。

  2、攻擊症狀

  CC攻擊有一定的隱蔽性,那如何確定服務器正在遭受或者曾經遭受CC攻擊呢?我們可以通過以下三個方法來確定。

  (1).命令行法

  一般遭受CC攻擊時,Web服務器會出現80端口對外關閉的現象, 因爲這個端口已經被大量的垃圾數據堵塞了正常的連接被中止了。我們可以通過在命令行下輸入命令netstat -an來查看,如果看到類似如下有大量顯示雷同的連接記錄基本就可以被CC攻擊了:


  ……
  TCP 192.168.1.3:80 192.168.1.6:2203 SYN_RECEIVED 4
  TCP 192.168.1.3:80 192.168.1.6:2203 SYN_RECEIVED 4
  TCP 192.168.1.3:80 192.168.1.6:2203 SYN_RECEIVED 4
  TCP 192.168.1.3:80 192.168.1.6:2203 SYN_RECEIVED 4
  TCP 192.168.1.3:80 192.168.1.6:2203 SYN_RECEIVED 4 ……
  

 
 

  其中“192.168.1.6”就是被用來代理攻擊的主機的IP,“SYN_RECEIVED”是TCP連接狀態標誌,意思是“正在處於連接的初始同步狀態 ”,表明無法建立握手應答處於等待狀態。這就是攻擊的特徵,一般情況下這樣的記錄一般都會有很多條,表示來自不同的代理IP的攻擊。

(2).批處理法

  上述方法需要手工輸入命令且如果Web服務器IP連接太多看起來比較費勁,我們可以建立一個批處理文件,通過該腳本代碼確定是否存在CC攻擊。打開記事本鍵入如下代碼保存爲CC.bat:


@echo off
  time /t >>log.log
  netstat -n -p tcp |find ":80">>Log.log
  notepad log.log
  exit
  上面的腳本的含義是篩選出當前所有的到80端口的連接。當我們感覺服務器異常是就可以雙擊運行該批處理文件,然後在打開的log.log文件中查看所有的連接。如果同一個IP有比較多的到服務器的連接,那就基本可以確定該IP正在對服務器進行CC攻擊。

 

  (3).查看系統日誌

  上面的兩種方法有個弊端,只可以查看當前的CC攻擊,對於確定Web服務器之前是否遭受CC攻擊就無能爲力了,此時我們可以通過Web日誌來查,因爲Web日誌忠實地記錄了所有IP訪問Web資源的情況。通過查看日誌我們可以Web服務器之前是否遭受CC攻擊,並確定攻擊者的IP然後採取進一步的措施。

  Web日誌一般在C:/WINDOWS/system32/LogFiles/HTTPERR目錄下,該目錄下用類似httperr1.log的日誌文件,這個文件就是記錄Web訪問錯誤的記錄。管理員可以依據日誌時間屬性選擇相應的日誌打開進行分析是否Web被CC攻擊了。 


 默認情況下,Web日誌記錄的項並不是很多,我們可以通過IIS進行設置,讓Web日誌記錄更多的項以便進行安全分析。其操作步驟是:

  “開始→管理工具”打開“Internet信息服務器”,展開左側的項定位到到相應的Web站點,然後右鍵點擊選擇“屬性”打開站點屬性窗口,在“網站”選項卡下點擊“屬性”按鈕,在“日誌記錄屬性”窗口的“高級”選項卡下可以勾選相應的“擴展屬性”,以便讓Web日誌進行記錄。比如其中的“發送的字節數”、“接收的字節數”、“所用時間”這三項默認是沒有選中的,但在記錄判斷CC攻擊中是非常有用的,可以勾選。另外,如果你對安全的要求比較高,可以在“常規”選項卡下對“新日誌計劃”進行設置,讓其“每小時”或者“每一天”進行記錄。爲了便於日後進行分析時好確定時間可以勾選“文件命名和創建使用當地時間”。 

 

  3、CC攻擊防禦策略

  確定Web服務器正在或者曾經遭受CC攻擊,那如何進行有效的防範呢?筆者依據個人經驗,提供如下防禦措施。

  (1).取消域名綁定

  一般cc攻擊都是針對網站的域名進行攻擊,比如我們的網站域名是“www.gslw.com”,那麼攻擊者就在攻擊工具中設定攻擊對象爲該域名然後實施攻擊。

  對於這樣的攻擊我們的措施是在IIS上取消這個域名的綁定,讓CC攻擊失去目標。具體操作步驟是:打開“IIS管理器”定位到具體站點右鍵“屬性”打開該站點的屬性面板,點擊IP地址右側的“高級”按鈕,選擇該域名項進行編輯,將“主機頭值”刪除或者改爲其它的值(域名)。

 

  筆者實例模擬測試,取消域名綁定後Web服務器的CPU馬上恢復正常狀態,通過IP進行訪問連接一切正常。但是不足之處也很明顯,取消或者更改域名對於別人的訪問帶來了不變,另外,對於針對IP的CC攻擊它是無效的,就算更換域名攻擊者發現之後,他也會對新域名實施攻擊。 (2).域名欺騙解析

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

  另外,當我們的Web服務器遭受CC攻擊時把被攻擊的域名解析到國家有權威的政府網站或者是網警的網站,讓其網警來收拾他們。

  現在一般的Web站點都是利用類似“新網”這樣的服務商提供的動態域名解析服務,大家可以登錄進去之後進行設置。

  (3).更改Web端口

  一般情況下Web服務器通過80端口對外提供服務,因此攻擊者實施攻擊就以默認的80端口進行攻擊,所以,我們可以修改Web端口達到防CC攻擊的目的。運行IIS管理器,定位到相應站點,打開站點“屬性”面板,在“網站標識”下有個TCP端口默認爲80,我們修改爲其他的端口就可以了。

 

  (4).IIS屏蔽IP

  我們通過命令或在查看日誌發現了CC攻擊的源IP,就可以在IIS中設置屏蔽該IP對Web站點的訪問,從而達到防範IIS攻擊的目的。在相應站點的“屬性”面板中,點擊“目錄安全性”選項卡,點擊“IP地址和域名現在”下的“編輯”按鈕打開設置對話框。在此窗口中我們可以設置“授權訪問”也就是“白名單”,也可以設置“拒絕訪問”即“黑名單”。比如我們可以將攻擊者的IP添加到“拒絕訪問”列表中,就屏蔽了該IP對於Web的訪問。

  


(5).IPSec封鎖

  IPSec是優秀的系統防火牆,在排除其他還有別的類型的DDOS攻擊時,針對CC攻擊可以用設置IP策略來對付攻擊。以219.128.*.43這個IP爲例子,筆者實際操作對該IP的訪問封鎖。

  第一步:“開始→管理工具”,打開“本地安全設置”,右鍵點擊“IP安全策略,在本地機器”選擇“創建IP安全策略”,然後點擊“下一步”,輸入策略“名稱”和“描述”。然後默認一路“下一步”創建了一個名爲“封CC攻擊”的IPSec策略。 

 

  第二步:右鍵點擊“IP安全策略,在本地機器”選擇“管理IP篩選器表和篩選器操作”,在打開的窗口中點“添加”,在“IP 篩選器列表”窗口添人同第一步的名稱和描述信息。取消“使用添加嚮導”的勾選,然後點擊“添加”。在“IP 篩選器 屬性”窗口的“地址”選項下設置“源地址”爲“192.168.1.6”,目標地址爲“我的IP地址”,取消對“鏡像”的勾選;點擊“協議”選項卡,設置“協議類型”爲“TCP”,設置“協議端口”爲“從任意端口”到“此端口80”最後確定退出。(圖9)  


 第三步:在“新規則 屬性”窗口中點選剛纔創建的“封CC攻擊”規則,點擊“篩選器操作”選項卡下的“添加”,點選“安全措施”下的“阻止”,在“常規”選項卡下爲該篩選器命名爲“阻止CC攻擊”然後確定退出。 


  第四步:點選剛纔創建的“阻止CC攻擊”篩選器,一路“確定”退出IP策略編輯器,可以看到在組策略窗口的中創建成功一個名爲“封CC攻擊”的策略,然後右鍵點擊該策略選擇“指派”。這樣就實現了對該IP的封鎖。  


 (6).防火牆

  除了利用上述方法外,還可以通過第三方的防火牆進行防範,打開防護牆創建相應防火牆規則就可以了,筆者以天網防火牆爲例進行演示。

  打開天網防火牆進入“IP規則管理”窗口,點擊“增加規則”,然後輸入規則的名稱、描述等信息。數據包協議類型選擇“TCP”,數據包方向爲“接收”,對方IP地址爲“指定地址”然後輸入該IP地址,本地端口勾選“已授權程序開放的端口”,對方端口不填表示所有端口,TCP標誌位勾選“SYN”,當滿足上面條件是選擇“攔截”,同時還勾選“記錄”、“警告”、“發聲”。最後“確定”退出,點“保存規則”應該該規則即可。  

 

  總結:本文以Web服務器爲例講述瞭如何判斷CC攻擊以及如何防CC攻擊。其實,除了Web服務器對於其他的服務器也可以進行類似的防CC攻擊設置。

發佈了43 篇原創文章 · 獲贊 20 · 訪問量 41萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章