天天看點

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攻擊了:(圖1)

  ……

  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攻擊。(圖2)

  (3).檢視系統日志

  上面的兩種方法有個弊端,隻可以檢視目前的CC攻擊,對于确定Web伺服器之前是否遭受CC攻擊就無能為力了,此時我們可以通過Web日志來查,因為Web日志忠實地記錄了所有IP通路Web資源的情況。通過檢視日志我們可以Web伺服器之前是否遭受CC攻擊,并确定攻擊者的IP然後采取進一步的措施。

  Web日志一般在C:/WINDOWS/system32/LogFiles/HTTPERR目錄下,該目錄下用類似httperr1.log的日志檔案,這個檔案就是記錄Web通路錯誤的記錄。管理者可以依據日志時間屬性選擇相應的日志打開進行分析是否Web被CC攻擊了。(圖3)  

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

  “開始→管理工具”打開“Internet資訊伺服器”,展開左側的項定位到到相應的Web站點,然後右鍵點選選擇“屬性”打開站點屬性視窗,在“網站”頁籤下點選“屬性”按鈕,在“日志記錄屬性”視窗的“進階”頁籤下可以勾選相應的“擴充屬性”,以便讓Web日志進行記錄。比如其中的“發送的位元組數”、“接收的位元組數”、“所用時間”這三項預設是沒有選中的,但在記錄判斷CC攻擊中是非常有用的,可以勾選。另外,如果你對安全的要求比較高,可以在“正常”頁籤下對“新日志計劃”進行設定,讓其“每小時”或者“每一天”進行記錄。為了便于日後進行分析時好确定時間可以勾選“檔案命名和建立使用當地時間”。(圖4)  

  3、CC攻擊防禦政策

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

  (1).取消域名綁定

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

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

  筆者執行個體模拟測試,取消域名綁定後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,我們修改為其他的端口就可以了。(圖6)

  (4).IIS屏蔽IP

  我們通過指令或在檢視日志發現了CC攻擊的源IP,就可以在IIS中設定屏蔽該IP對Web站點的通路,進而達到防範IIS攻擊的目的。在相應站點的“屬性”面闆中,點選“目錄安全性”頁籤,點選“IP位址和域名現在”下的“編輯”按鈕打開設定對話框。在此視窗中我們可以設定“授權通路”也就是“白名單”,也可以設定“拒絕通路”即“黑名單”。比如我們可以将攻擊者的IP添加到“拒絕通路”清單中,就屏蔽了該IP對于Web的通路。(圖7)

(5).IPSec封鎖

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

  第一步:“開始→管理工具”,打開“本地安全設定”,右鍵點選“IP安全政策,在本地機器”選擇“建立IP安全政策”,然後點選“下一步”,輸入政策“名稱”和“描述”。然後預設一路“下一步”建立了一個名為“封CC攻擊”的IPSec政策。(圖8)  

  第二步:右鍵點選“IP安全政策,在本地機器”選擇“管理IP篩選器表和篩選器操作”,在打開的視窗中點“添加”,在“IP 篩選器清單”視窗添人同第一步的名稱和描述資訊。取消“使用添加向導”的勾選,然後點選“添加”。在“IP 篩選器 屬性”視窗的“位址”選項下設定“源位址”為“192.168.1.6”,目标位址為“我的IP位址”,取消對“鏡像”的勾選;點選“協定”頁籤,設定“協定類型”為“TCP”,設定“協定端口”為“從任意端口”到“此端口80”最後确定退出。(圖9)  

 第三步:在“新規則 屬性”視窗中點選剛才建立的“封CC攻擊”規則,點選“篩選器操作”頁籤下的“添加”,點選“安全措施”下的“阻止”,在“正常”頁籤下為該篩選器命名為“阻止CC攻擊”然後确定退出。(圖10)  

  第四步:點選剛才建立的“阻止CC攻擊”篩選器,一路“确定”退出IP政策編輯器,可以看到在組政策視窗的中建立成功一個名為“封CC攻擊”的政策,然後右鍵點選該政策選擇“指派”。這樣就實作了對該IP的封鎖。(圖11)  

 (6).防火牆

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

  打開天網防火牆進入“IP規則管理”視窗,點選“增加規則”,然後輸入規則的名稱、描述等資訊。資料包協定類型選擇“TCP”,資料包方向為“接收”,對方IP位址為“指定位址”然後輸入該IP位址,本地端口勾選“已授權程式開放的端口”,對方端口不填表示所有端口,TCP标志位勾選“SYN”,當滿足上面條件是選擇“攔截”,同時還勾選“記錄”、“警告”、“發聲”。最後“确定”退出,點“儲存規則”應該該規則即可。(圖12)  

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

繼續閱讀