天天看點

DDOS(分布式拒絕服務)攻防實戰演練

原貼位址:http://blog.chinaunix.net/u/31547/showart_351473.html

DDOS(分布式拒絕服務)攻防實戰演練

使用者對于這個話題似乎已經不再陌生,在當今的網絡當中使用者能夠經常聽見此類事件的發生,比如說二個月前的唐山黑客事件中,所利用的黑客技術就是DDOS攻擊。這種攻擊方法的可怕之處是會造成使用者無法對外進行提供服務,時間一長将會影響到網絡流量,造成使用者經濟上的嚴重損失。造成這種類型攻擊的最主要原因就是商業競争、打擊報複和網絡敲詐等多種因素,從實際情況來說DDOS是不可能完全防範的,不過使用者必須要從最大程度上做好防範DDOS攻擊的措施,使使用者在遭受DDOS攻擊後的損失減至最低。

  DOS是英文Denial of Service的縮寫,意為“拒絕服務攻擊”,DDOS是英文Distributed Denial of Service的縮寫,意為“分布式拒絕服務攻擊”。那麼什麼要叫做拒絕服務呢?可以這麼了解,凡是能導緻合法使用者不能夠通路正常網絡服務的行為都算是拒絕服務攻擊。也就是說拒絕服務攻擊的目的非常明确,就是要阻止合法使用者對正常網絡資源的通路,進而達成攻擊者不可告人的目的。可以說DOS是DDOS的前身,為了能夠使其具有更高的攻擊效率,進而就産生了這種分布式拒絕服務攻擊,也就是使用者通常所說的DDOS攻擊。但是DDOS和DOS還是有所不同,DDOS的攻擊政策側重于通過很多“僵屍主機”(被攻擊者入侵過或可間接利用的主機)向受害主機發送大量看似合法的網絡包,進而造成網絡阻塞或伺服器資源耗盡而導緻拒絕服務,分布式拒絕服務攻擊一旦被實施,攻擊網絡包就會猶如洪水般湧向受害主機,進而把合法使用者的網絡包淹沒,導緻合法使用者無法正常通路伺服器的網絡資源。

  DDOS的表現形式主要有兩種,一種為流量攻擊,主要是針對網絡帶寬的攻擊,即大量攻擊包導緻網絡帶寬被阻塞,合法網絡包被虛假的攻擊包淹沒而無法到達主機。另一種為資源耗盡攻擊,主要是針對伺服器主機的攻擊,即通過大量攻擊包導緻主機的記憶體被耗盡或CPU被核心及應用程式占完而造成無法提供網絡服務。

  如何判斷網站是否遭受了流量攻擊呢?可通過Ping指令來測試,若發現Ping逾時或丢包嚴重(假定平時是正常的),則可能遭受了流量攻擊,此時若發現和你的主機接在同一交換機上的伺服器也通路不了了,基本可以确定是遭受了流量攻擊。當然,這樣測試的前提是你到伺服器主機之間的ICMP協定沒有被路由器和防火牆等裝置屏蔽,否則可采取Telnet主機伺服器的網絡服務端口來測試,效果是一樣的。不過有一點可以肯定,假如平時Ping你的主機伺服器和接在同一交換機上的主機伺服器都是正常的,突然都Ping不通了或者是嚴重丢包,那麼假如可以排除網絡故障因素的話則肯定是遭受了流量攻擊,再一個流量攻擊的典型現象是,一旦遭受流量攻擊,會發現用遠端終端連接配接網站伺服器會失敗。

  相對于流量攻擊而言,資源耗盡攻擊要容易判斷一些,假如平時Ping網站主機和通路網站都是正常的,發現突然網站通路非常緩慢或無法通路了,而Ping還可以Ping通,則很可能遭受了資源耗盡攻擊,此時若在伺服器上用Netstat -an指令觀察到有大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等狀态存在,而ESTABLISHED很少,則可判定肯定是遭受了資源耗盡攻擊。還有一種屬于資源耗盡攻擊的現象是,Ping自己的網站主機Ping不通或者是丢包嚴重,而Ping與自己的主機在同一交換機上的伺服器則正常,造成這種原因是網站主機遭受攻擊後導緻系統核心或某些應用程式CPU使用率達到100%無法回應Ping指令,其實帶寬還是有的,否則就Ping不通接在同一交換機上的主機了。

  以下為典型的DDOS攻擊示意圖:

DDOS(分布式拒絕服務)攻防實戰演練

圖 1

其下是利用xdos這款攻擊軟體模拟DDOS攻擊經過:

  ◆應用平台◆

  Windows2000 pro,IIS5.0。

  ◆實戰流程◆

  一.确定目标

  二.攻擊目标

  三.防範方法

  ◆應用工具◆

  xdos:Dos下經典的DDOS攻擊工具。

  ◆實施步驟◆

  一、确定目标

  這裡為本地搭建的環境,如下圖所示:

DDOS(分布式拒絕服務)攻防實戰演練

圖 2

  使用者可以在cmd下使用ping 指令形式獲得目标站點ip,進而确定目标,方法如下:

  1.使用者點選“開始”->“運作”->輸入cmd然後按回車即可打開cmd視窗。

  2.Cmd下輸入ping www.****.com.cn即可得到****網站的ip,如下圖所示:

DDOS(分布式拒絕服務)攻防實戰演練

圖 3

  其中Pinging antares.****.com.cn [218.30.66.65] with 32 bytes of data:

  218.30.66.65即為****網站的IP。

二、攻擊目标

  利用我們的xdos對此網站進行攻擊,此軟體的使用格式是xdos ip 端口 -t 次數 -s *,這裡給使用者解釋下,ip為使用者需要攻擊的ip,端口為需要攻擊的端口,這裡是攻擊Web服務,是以這裡用80端口,-t後面跟的是攻擊次數,一般5-10就可以了,-s為随機僞造攻擊ip,完整的指令如下:

  xdos 127.0.0.1 80 –t 5 –s *

  出現如下圖示則說明攻擊正在進行:

DDOS(分布式拒絕服務)攻防實戰演練

圖 4

  稍後使用者再看看被攻擊的網站,如下圖所示:

DDOS(分布式拒絕服務)攻防實戰演練

圖 5

  站點已經顯示連接配接使用者過多禁止通路了,這就是說明攻擊成功了。

  小提示:現在的DDOS攻擊中主要有以下三種DDOS攻擊技術:

  1.SYN/ACK Flood攻擊

  2. TCP全連接配接攻擊

  3. 刷Script腳本攻擊

 三、防範方法

  以上給使用者講解了不少關于DDOS攻擊技術的資料,那使用者該如何防範DDOS攻擊,使自己在DDOS攻擊中的損失減至最低呢?首先使用者應明确一個問題,那就是DDOS攻擊是不可能完全杜絕的,隻能将攻擊強度減至最低,也不能單單通過某些安全産品就可以防範DDOS攻擊的,使用者需要從多個方面做出防範措施,才能夠最大程度的抵禦DDOS攻擊,以下是多年抵禦DDOS攻擊的前輩所總結出來的十分有效的措施:

  1.采用高性能的網絡裝置:首先要保證網絡裝置不能成為瓶頸,是以選擇路由器、交換機、硬體防火牆等裝置的時候要盡量選用知名度高、口碑好的産品。再就是假如和網絡提供商有特殊關系或協定的話就更好了,當大量攻擊發生的時候請他們在網絡接點處做一下流量限制來對抗某些種類的DDOS攻擊是非常有效的。

  2.盡量避免NAT的使用:無論是路由器還是硬體防護牆裝置要盡量避免采用網絡位址轉換NAT的使用,因為采用此技術會較大降低網絡通信能力,其實原因很簡單,因為NAT需要對位址來回轉換,轉換過程中需要對網絡包的校驗和進行計算,是以浪費了很多CPU的時間,但有些時候必須使用NAT,那就沒有好辦法了。

  3.充足的網絡帶寬保證:網絡帶寬直接決定了能抗受攻擊的能力,假若僅僅有10M帶寬的話,無論采取什麼措施都很難對抗現在的SYNFlood攻擊,目前至少要選擇100M的共享帶寬,最好的當然是挂在1000M的主幹上了。但需要注意的是,主機上的網卡是1000M的并不意味着它的網絡帶寬就是千兆的,若把它接在100M的交換機上,它的實際帶寬不會超過100M,再就是接在100M的帶寬上也不等于就有了百兆的帶寬,因為網絡服務商很可能會在交換機上限制實際帶寬為10M,這點一定要搞清楚。

  4.更新主機伺服器硬體:在有網絡帶寬保證的前提下,請盡量提升硬體配置,要有效對抗每秒10萬個SYN攻擊包,伺服器的配置至少應該為:P4 2.4G/DDR512M/SCSI-HD,起關鍵作用的主要是CPU和記憶體,若有志強雙CPU的話就用它吧,記憶體一定要選擇DDR的高速記憶體,硬碟要盡量選擇SCSI的,别隻貪IDE價格不貴量還足的便宜,否則會付出高昂的性能代價,再就是網卡一定要選用3COM或Intel等名牌的,若是Realtek的還是用在自己的PC上吧。

  5.把網站做成靜态頁面:大量事實證明,把網站盡可能做成靜态頁面,不僅能大大提高抗攻擊能力,而且還給黑客入侵帶來不少麻煩,至少到現在為止關于HTML的溢出還沒出現。看看新浪,搜狐,網易等門戶網站主要都是靜态頁面,若你非需要動态腳本調用,那就把它弄到另外一台單獨主機去,免的遭受攻擊時連累主伺服器,當然,适當放一些不做資料庫調用腳本還是可以的,此外,最好在需要調用資料庫的腳本中拒絕使用代理的通路,因為經驗表明使用代理通路你網站的80%屬于惡意行為。

  6.增強作業系統的TCP/IP棧:Win2000和Win2003作為伺服器作業系統,本身就具備一定的抵抗DDOS攻擊的能力,隻是預設狀态下沒有開啟而已,若開啟的話可抵擋約10000個SYN攻擊包,若沒有開啟則僅能抵禦數百個,具體怎麼開啟,自己去看看微軟的這篇文章吧:

  http://www.microsoft.com/china/technethttp://security.chinaitlab.com/guidance/secmod109.mspx

  也許有的人會問,那我用的是Linux和FreeBSD怎麼辦?很簡單,按照這篇文章去做吧:

  http://cr.yp.to/syncookies.html

  7.安裝專業抗DDOS防火牆

  以上的七條對抗DDOS建議,适合絕大多數擁有自己主機的使用者,但假如采取以上措施後仍然不能解決DDOS問題,就有些麻煩了,可能需要更多投資,增加伺服器數量并采用DNS輪巡或負載均衡技術,甚至需要購買七層交換機裝置,進而使得抗DDOS攻擊能力成倍提高,隻要投資足夠深入,總有攻擊者會放棄的時候,那時候你就成功了!

  如果使用者發現自己的網站正遭受DDOS攻擊,使用者首先要做的是盡可能保護網站的伺服器,主要是防火牆以外的伺服器,因為它最容易遭到攻擊。盡可能關閉不必要的服務,減輕伺服器的負擔;增加資料包過濾器,限制進出的資料流量。若實在不行,減少伺服器可連接配接的通道數量,犧牲一些性能來保住伺服器。如果DDoS的攻擊耗盡了你網站的帶寬資源的話,實際上已經沒有什麼事情可做了,認栽吧,你的伺服器已經終止服務了

發表于: 2007-08-01,修改于: 2007-08-01 10:08,已浏覽120次,有評論0條 推薦 投訴