1. 程式人生 > >DDoS攻擊、CC攻擊的攻擊方式和防禦方法

DDoS攻擊、CC攻擊的攻擊方式和防禦方法

DDoS介紹

DDoS是英文Distributed Denial of Service的縮寫,意即“分散式拒絕服務”,那麼什麼又是拒絕服務(Denial of Service)呢?可以這麼理解,凡是能導致合法使用者不能夠訪問正常網路服務的行為都算是拒絕服務攻擊。也就是說拒絕服務攻擊的目的非常明確,就是要阻止合法使用者對正常網路資源的訪問,從而達成攻擊者不可告人的目的。分散式拒絕服務攻擊一旦被實施,攻擊網路包就會從很多DOS攻擊源(俗稱肉雞)猶如洪水般湧向受害主機,從而把合法使用者的網路包淹沒,導致合法使用者無法正常訪問伺服器的網路資源,因此,拒絕服務攻擊又被稱之為“洪水式攻擊”,常見的DDOS攻擊手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等。

目前而言,黑客甚至對攻擊進行明碼標價,打1G的流量到一個網站一小時,只需50塊錢。DDoS的成本如此之低,而且攻擊了也沒人管。

關於DDos攻擊的常見方法

1. SYN Flood:利用TCP協議的原理,這種攻擊方法是經典最有效的DDOS方法,可通殺各種系統的網路服務,主要是通過向受害主機發送大量偽造源IP和源埠的SYN或ACK 包,導致主機的快取資源被耗盡或忙於傳送迴應包而造成拒絕服務。TCP通道在建立以前,需要三次握手: a. 客戶端傳送一個包含SYN標誌的TCP報文, 同步報文指明客戶端所需要的埠號和TCP連線的初始序列號 b. 伺服器收到SYN報文之後,返回一個SYN+ ACK報文,表示客戶端請求被接受,TCP初始序列號加1 c.客戶端也返回一個確認報文ACK給伺服器,同樣TCP序列號加1 d. 如果伺服器端沒有收到客戶端的確認報文ACK,則處於等待狀態,將該客戶IP加入等待佇列,然後輪訓傳送SYN+ACK報文 所以攻擊者可以通過偽造大量的TCP握手請求,耗盡伺服器端的資源。

2. HTTP Flood:針對系統的每個Web頁面,或者資源,或者Rest API,用大量肉雞,傳送大量http request。這種攻擊主要是針對存在ASP、JSP、PHP、CGI等指令碼程式,並呼叫MSSQLServer、MySQLServer、Oracle等資料庫的網站系統而設計的,特徵是和伺服器建立正常的TCP連線,並不斷的向指令碼程式提交查詢、列表等大量耗費資料庫資源的呼叫,典型的以小博大的攻擊方法。缺點是對付只有靜態頁面的網站效果會大打折扣。

3. 慢速攻擊:Http協議中規定,HttpRequest以\r\n\r\n結尾來表示客戶端傳送結束。攻擊者開啟一個Http 1.1的連線,將Connection設定為Keep-Alive, 保持和伺服器的TCP長連線。然後始終不傳送\r\n\r\n, 每隔幾分鐘寫入一些無意義的資料流, 拖宕機器。

4. P2P攻擊:每當網路上出現一個熱門事件,比如XX門, 精心製作一個種子, 裡面包含正確的檔案下載, 同時也包括攻擊目標伺服器的IP。這樣,當很多人下載的時候, 會無意中發起對目標伺服器的TCP連線。

DDOS攻擊現象判定方法

1.SYN類攻擊判斷:A.CPU佔用很高;B.網路連線狀態:netstat –na,若觀察到大量的SYN_RECEIVED的連線狀態;C.網線插上後,伺服器立即凝固無法操作,拔出後有時可以恢復,有時候需要重新啟動機器才可恢復。2.CC類攻擊判斷:A.網站出現service unavailable提示;B.CPU佔用率很高;C.網路連線狀態:netstat –na,若觀察到大量的ESTABLISHED的連線狀態 單個IP高達幾十條甚至上百條;D.使用者無法訪問網站頁面或開啟過程非常緩慢,軟重啟後短期內恢復正常,幾分鐘後又無法訪問。3.UDP類攻擊判斷:A.觀察網絡卡狀況 每秒接受大量的資料包;B.網路狀態:netstat –na TCP資訊正常。4.TCP洪水攻擊判斷:A.CPU佔用很高;B.netstat –na,若觀察到大量的ESTABLISHED的連線狀態 單個IP高達幾十條甚至上百條

DDoS攻擊防禦方法:

1. 過濾不必要的服務和埠:可以使用Inexpress、Express、Forwarding等工具來過濾不必要的服務和埠,即在路由器上過濾假IP。比如Cisco公司的CEF(Cisco Express Forwarding)可以針對封包Source IP和Routing Table做比較,並加以過濾。只開放服務埠成為目前很多伺服器的流行做法,例如WWW伺服器那麼只開放80而將其他所有埠關閉或在防火牆上做阻止策略。2. 異常流量的清洗過濾:通過DDOS硬體防火牆對異常流量的清洗過濾,通過資料包的規則過濾、資料流指紋檢測過濾、及資料包內容定製過濾等頂尖技術能準確判斷外來訪問流量是否正常,進一步將異常流量禁止過濾。單臺負載每秒可防禦800-927萬個syn攻擊包。3. 分散式叢集防禦:這是目前網路安全界防禦大規模DDOS攻擊的最有效辦法。分散式叢集防禦的特點是在每個節點伺服器配置多個IP地址(負載均衡),並且每個節點能承受不低於10G的DDOS攻擊,如一個節點受攻擊無法提供服務,系統將會根據優先順序設定自動切換另一個節點,並將攻擊者的資料包全部返回傳送點,使攻擊源成為癱瘓狀態,從更為深度的安全防護角度去影響企業的安全執行決策。4. 高防智慧DNS解析:高智慧DNS解析系統與DDOS防禦系統的完美結合,為企業提供對抗新興安全威脅的超級檢測功能。它顛覆了傳統一個域名對應一個映象的做法,智慧根據使用者的上網路線將DNS解析請求解析到使用者所屬網路的伺服器。同時智慧DNS解析系統還有宕機檢測功能,隨時可將癱瘓的伺服器IP智慧更換成正常伺服器IP,為企業的網路保持一個永不宕機的服務狀態。

DDoS攻擊的網路流量清洗

當發生DDOS攻擊時,網路監控系統會偵測到網路流量的異常變化併發出報警。在系統自動檢測或人工判斷之後,可以識別出被攻擊的虛擬機器公網IP地址。這時,可呼叫系統的防DDOS攻擊功能介面,啟動對相關被攻擊IP的流量清洗。流量清洗裝置會立即接管對該IP地址的所有資料包,並將攻擊資料包清洗掉,僅將正常的資料包轉發給隨後的網路裝置。這樣,就能保證整個網路正常的流量通行,而將DDOS流量拒之門外。 採用雲DDoS清洗方式,可以為企業使用者帶來諸多好處。其表現在不僅可以提升綜合防護能力,使用者能夠按需付費,可彈性擴充套件,而且還能夠基於大資料來分析預測攻擊,同時能夠免費升級。對於企業使用者來說,則可實現零運維、零改造。

CC攻擊介紹

CC攻擊(Challenge Collapsar)是DDOS(分散式拒絕服務)的一種,前身名為Fatboy攻擊,也是一種常見的網站攻擊方法。攻擊者通過代理伺服器或者肉雞向向受害主機不停地發大量資料包,造成對方伺服器資源耗盡,一直到宕機崩潰。相比其它的DDOS攻擊CC似乎更有技術含量一些。這種攻擊你見不到真實源IP,見不到特別大的異常流量,但造成伺服器無法進行正常連線。最讓站長們憂慮的是這種攻擊技術含量低,利用更換IP代理工具和一些IP代理一個初、中級的電腦水平的使用者就能夠實施攻擊。

CC攻擊防禦方法

1. 利用Session做訪問計數器:利用Session針對每個IP做頁面訪問計數器或檔案下載計數器,防止使用者對某個頁面頻繁重新整理導致資料庫頻繁讀取或頻繁下載某個檔案而產生大額流量。(檔案下載不要直接使用下載地址,才能在服務端程式碼中做CC攻擊的過濾處理)2. 把網站做成靜態頁面:大量事實證明,把網站儘可能做成靜態頁面,不僅能大大提高抗攻擊能力,而且還給駭客入侵帶來不少麻煩,至少到現在為止關於HTML的溢位還沒出現,看看吧!新浪、搜狐、網易等入口網站主要都是靜態頁面,若你非需要動態指令碼呼叫,那就把它弄到另外一臺單獨主機去,免的遭受攻擊時連累主伺服器。3. 增強作業系統的TCP/IP棧 Win2000和Win2003作為伺服器作業系統,本身就具備一定的抵抗DDOS攻擊的能力,只是預設狀態下沒有開啟而已,若開啟的話可抵擋約10000個SYN攻擊包,若沒有開啟則僅能抵禦數百個,具體怎麼開啟,自己去看微軟的文章吧!《強化 TCP/IP 堆疊安全》。也許有的人會問,那我用的是Linux和FreeBSD怎麼辦?很簡單,按照這篇文章去做吧!《SYN Cookies》。4. 在存在多站的伺服器上,嚴格限制每一個站允許的IP連線數和CPU使用時間,這是一個很有效的方法。CC的防禦要從程式碼做起,其實一個好的頁面程式碼都應該注意這些東西,還有SQL注入,不光是一個入侵工具,更是一個DDOS缺口,大家都應該在程式碼中注意。舉個例子吧,某伺服器,開動了5000線的CC攻擊,沒有一點反應,因為它所有的訪問資料庫請求都必須一個隨機引數在Session裡面,全是靜態頁面,沒有效果。突然發現它有一個請求會和外面的伺服器聯絡獲得,需要較長的時間,而且沒有什麼認證,開800線攻擊,伺服器馬上滿負荷了。程式碼層的防禦需要從點點滴滴做起,一個指令碼程式碼的錯誤,可能帶來的是整個站的影響,甚至是整個伺服器的影響!5. 伺服器前端加CDN中轉(免費的有百度雲加速、360網站衛士、加速樂、安全寶等),如果資金充裕的話,可以購買高防的盾機,用於隱藏伺服器真實IP,域名解析使用CDN的IP,所有解析的子域名都使用CDN的IP地址。此外,伺服器上部署的其他域名也不能使用真實IP解析,全部都使用CDN來解析。  另外,防止伺服器對外傳送資訊洩漏IP地址,最常見的情況是,伺服器不要使用傳送郵件功能,因為郵件頭會洩漏伺服器的IP地址。如果非要傳送郵件,可以通過第三方代理(例如sendcloud)傳送,這樣對外顯示的IP是代理的IP地址。  總之,只要伺服器的真實IP不洩露,10G以下小流量DDOS的預防花不了多少錢,免費的CDN就可以應付得了。如果攻擊流量超過20G,那麼免費的CDN可能就頂不住了,需要購買一個高防的盾機來應付了,而伺服器的真實IP同樣需要隱藏

WAF介紹

WAF(Web Application Firewall)的中文名稱叫做“Web應用防火牆”,利用國際上公認的一種說法,WAF的定義是這樣的:Web應用防火牆是通過執行一系列針對HTTP/HTTPS的安全策略來專門為Web應用提供保護的一款產品。通過從上面對WAF的定義中,我們可以很清晰的瞭解到,WAF是一種工作在應用層的、通過特定的安全策略來專門為Web應用提供安全防護的產品。

根據不同的分類方法,WAF可分為許多種。從產品形態上來劃分,WAF主要分為以下三大類:

1.硬體裝置類:目前安全市場上,大多數的WAF都屬於此類。它們以一個獨立的硬體裝置的形態存在,支援以多種方式(如透明橋接模式、旁路模式、反向代理等)部署到網路中為後端的Web應用提供安全防護。相對於軟體產品類的WAF,這類產品的優點是效能好、功能全面、支援多種模式部署等,但它的價格通常比較貴。國內的綠盟、安恆、啟明星辰等廠商生產的WAF都屬於此類。2.軟體產品類:這種型別的WAF採用純軟體的方式實現,特點是安裝簡單,容易使用,成本低。但它的缺點也是顯而易見的,因為它必須安裝在Web應用伺服器上,除了效能受到限制外,還可能會存在相容性、安全等問題。這類WAF的代表有ModSecurity、Naxsi、網站安全狗等。3.基於雲的WAF:隨著雲端計算技術的快速發展,使得其於雲的WAF實現成為可能。國內創新工場旗下的安全寶、360的網站寶是這類WAF的典型代表。它的優點是快速部署、零維護、成本低。對於中、小型的企業和個人站長是很有吸引力的。

DDoS攻擊測試工具

1. 盧瓦(LOIC) (Low Orbit Ion Canon):LOTC是一個最受歡迎的DOS攻擊工具。 這個工具被去年流行的黑客集團匿名者用於對許多大公司的網路攻擊。它可以通過使用單個使用者執行DOS攻擊小型伺服器,工具非常易於使用,即便你是一個初學者。 這個工具執行DOS攻擊通過傳送UDP,TCP或HTTP請求到受害者伺服器。 你只需要知道伺服器的IP地址或URL,其他的就交給這個工具吧。 2. XOIC:XOIC是另一個不錯的DOS攻擊工具。它根據使用者選擇的埠與協議執行DOS攻擊任何伺服器。XOIC開發者還聲稱XOIC比上面的LOIC在很多方面更強大呢。 3. R-U-Dead-Yet:R-U-Dead-Yet是一個HTTP post DOS攻擊工具。它執行一個DOS攻擊長表單欄位,通過POST方法提交。這個工具提供了一個互動式控制檯選單,檢測給定的URL,並允許使用者選擇哪些表格和欄位應用於POST-based DOS攻擊。 4. OWASP DOS HTTP POST:這是另外一個很好的工具。您可以使用這個工具來檢查您的web伺服器能否夠捍衛得住別人的DOS攻擊。當然,不僅對防禦,它也可以用來執行DOS攻擊哦。 5. DAVOSET:DAVOSET是另一個很好的執行DDOS攻擊工具。 最新版本的工具新增支援cookie以及許多其他功能。

文章參考:

http://www.admin5.com/article/20081102/112695.shtml https://baike.so.com/doc/6742131-6956653.html http://secsky.sinaapp.com/216.html https://baike.so.com/doc/5339607-5575049.html http://netsecurity.51cto.com/art/201406/442756.htm http://netsecurity.51cto.com/art/201403/431623.htm http://netsecurity.51cto.com/art/201407/444154.htm http://netsecurity.51cto.com/art/201406/441851.htm http://netsecurity.51cto.com/art/201406/441937.htm http://netsecurity.51cto.com/art/201403/432081.htm http://netsecurity.51cto.com/art/201310/413127.htm http://netsecurity.51cto.com/art/201305/395144.htm http://netsecurity.51cto.com/art/201211/364772.htm