終極防禦指南之ddos攻擊
簡述:由於近期ddos攻擊越來越廣泛,本站特邀請我們的名譽技術顧問、網路安全專家孤獨劍客先生結合多年抵禦ddos攻擊的經驗獨家撰寫此文,文中不僅深入淺出地闡述了分布式拒絕服務攻擊ddos的概念、流行的ddos攻擊手段及判斷是否被ddos攻擊的方法,而且還結合實際給出了全面的ddos實戰防禦建議,希望此文能幫助**站長們早日擺脫ddos攻擊的困擾,我們熱誠歡迎共同**ddos相關話題。
一、為何要ddos?
隨著inter***網際網路絡頻寬的增加和多種ddos黑客工具的不斷發布,ddos拒絕服務攻擊的實施越來越容易,ddos攻擊事件正在成上公升趨勢。出於商業競爭、打擊報復和網路敲詐等多種因素,導致很多idc託管機房、商業站點、遊戲伺服器、聊天網路等網路服務商長期以來一直被ddos攻擊所困擾,隨之而來的是客戶投訴、同虛擬主機使用者受牽連、法律糾紛、商業損失等一系列問題,因此,解決ddos攻擊問題成為網路服務商必須考慮的頭等大事。
二、什麼是ddos?
ddos是英文distributed denial of service的縮寫,意即「分布式拒絕服務」,那麼什麼又是拒絕服務(denial of service)呢?可以這麼理解,凡是能導致合法使用者不能夠訪問正常網路服務的行為都算是拒絕服務攻擊。也就是說拒絕服務攻擊的目的非常明確,就是要阻止合法使用者對正常網路資源的訪問,從而達成攻擊者不可告人的目的。雖然同樣是拒絕服務攻擊,但是ddos和dos還是有所不同,ddos的攻擊策略側重於通過很多「殭屍主機」(被攻擊者入侵過或可間接利用的主機)向受害主機傳送大量看似合法的網路包,從而造成網路阻塞或伺服器資源耗盡而導致拒絕服務,分布式拒絕服務攻擊一旦被實施,攻擊網路包就會猶如洪水般湧向受害主機,從而把合法使用者的網路包淹沒,導致合法使用者無法正常訪問伺服器的網路資源,因此,拒絕服務攻擊又被稱之為「洪水式攻擊」,常見的ddos攻擊手段有syn flood、ack flood、udp flood、icmp flood、tcp flood、connections flood、script flood、proxy flood等;而dos則側重於通過對主機特定漏洞的利用攻擊導致網路棧失效、系統崩潰、主機宕機而無法提供正常的網路服務功能,從而造成拒絕服務,常見的dos攻擊手段有teardrop、land、jolt、igmp nuker、boink、**urf、bonk、oob等。就這兩種拒絕服務攻擊而言,危害較大的主要是ddos攻擊,原因是很難防範,至於dos攻擊,通過給主機伺服器打補丁或安裝防火牆軟體就可以很好地防範,後文會詳細介紹怎麼對付ddos攻擊。
三、被ddos了嗎?
ddos的表現形式主要有兩種,一種為流量攻擊,主要是針對網路頻寬的攻擊,即大量攻擊包導致網路頻寬被阻塞,合法網路包被虛假的攻擊包淹沒而無法到達主機;另一種為資源耗盡攻擊,主要是針對伺服器主機的攻擊,即通過大量攻擊包導致主機的記憶體被耗盡或cpu被核心及應用程式佔完而造成無法提供網路服務。
如何判斷**是否遭受了流量攻擊呢?可通過ping命令來測試,若發現ping超時或丟包嚴重(假定平時是正常的),則可能遭受了流量攻擊,此時若發現和你的主機接在同一交換機上的伺服器也訪問不了了,基本可以確定是遭受了流量攻擊。當然,這樣測試的前提是你到伺服器主機之間的icmp協議沒有被路由器和防火牆等裝置遮蔽,否則可採取tel***主機伺服器的網路服務埠來測試,效果是一樣的。不過有一點可以肯定,假如平時ping你的主機伺服器和接在同一交換機上的主機伺服器都是正常的,突然都ping不通了或者是嚴重丟包,那麼假如可以排除網路故障因素的話則肯定是遭受了流量攻擊,再乙個流量攻擊的典型現象是,一旦遭受流量攻擊,會發現用遠端終端連線**伺服器會失敗。
相對於流量攻擊而言,資源耗盡攻擊要容易判斷一些,假如平時ping**主機和訪問**都是正常的,發現突然**訪問非常緩慢或無法訪問了,而ping還可以ping通,則很可能遭受了資源耗盡攻擊,此時若在伺服器上用***stat -na命令觀察到有大量的syn_received、time_wait、fin_wait_1等狀態存在,而established很少,則可判定肯定是遭受了資源耗盡攻擊。還有一種屬於資源耗盡攻擊的現象是,ping自己的**主機ping不通或者是丟包嚴重,而ping與自己的主機在同一交換機上的伺服器則正常,造成這種原因是**主機遭受攻擊後導致系統核心或某些應用程式cpu利用率達到100%無法回應ping命令,其實頻寬還是有的,否則就ping不通接在同一交換機上的主機了。
當前主要有三種流行的ddos攻擊:
1、syn/ack flood攻擊:這種攻擊方法是經典最有效的ddos方法,可通殺各種系統的網路服務,主要是通過向受害主機傳送大量偽造源ip和源埠的syn或ack包,導致主機的快取資源被耗盡或忙於傳送回應包而造成拒絕服務,由於源都是偽造的故追蹤起來比較困難,缺點是實施起來有一定難度,需要高頻寬的殭屍主機支援。少量的這種攻擊會導致主機伺服器無法訪問,但卻可以ping的通,在伺服器上用***stat -na命令會觀察到存在大量的syn_received狀態,大量的這種攻擊會導致ping失敗、tcp/ip棧失效,並會出現系統凝固現象,即不響應鍵盤和滑鼠。普通防火牆大多無法抵禦此種攻擊。
2、tcp全連線攻擊:這種攻擊是為了繞過常規防火牆的檢查而設計的,一般情況下,常規防火牆大多具備過濾teardrop、land等dos攻擊的能力,但對於正常的tcp連線是放過的,殊不知很多網路服務程式(如:iis、apache等web伺服器)能接受的tcp連線數是有限的,一旦有大量的tcp連線,即便是正常的,也會導致**訪問非常緩慢甚至無法訪問,tcp全連線攻擊就是通過許多殭屍主機不斷地與受害伺服器建立大量的tcp連線,直到伺服器的記憶體等資源被耗盡而被拖跨,從而造成拒絕服務,這種攻擊的特點是可繞過一般防火牆的防護而達到攻擊目的,缺點是需要找很多殭屍主機,並且由於殭屍主機的ip是暴露的,因此容易被追蹤。
3、刷script指令碼攻擊:這種攻擊主要是針對存在asp、jsp、php、cgi等指令碼程式,並呼叫mssqlserver、mysqlserver、oracle等資料庫的**系統而設計的,特徵是和伺服器建立正常的tcp連線,並不斷的向指令碼程式提交查詢、列表等大量耗費資料庫資源的呼叫,典型的以小博大的攻擊方法。一般來說,提交乙個get或post指令對客戶端的耗費和頻寬的占用是幾乎可以忽略的,而伺服器為處理此請求卻可能要從上萬條記錄中去查出某個記錄,這種處理過程對資源的耗費是很大的,常見的資料庫伺服器很少能支援數百個查詢指令同時執行,而這對於客戶端來說卻是輕而易舉的,因此攻擊者只需通過proxy**向主機伺服器大量遞交查詢指令,只需數分鐘就會把伺服器資源消耗掉而導致拒絕服務,常見的現象就是**慢如蝸牛、asp程式失效、php連線資料庫失敗、資料庫主程式占用cpu偏高。這種攻擊的特點是可以完全繞過普通的防火牆防護,輕鬆找一些proxy**就可實施攻擊,缺點是對付只有靜態頁面的**效果會大打折扣,並且有些proxy會暴露攻擊者的ip位址。
四、怎麼抵禦ddos?
防禦DDOS攻擊終極指南
一 為何要ddos?隨著inter 網際網路絡頻寬的增加和多種ddos黑客工具的不斷發布,ddos拒絕服務攻擊的實施越來越容易,ddos攻擊事件正在成上公升趨勢。出於商業競爭 打擊報復和網路敲詐等多種因素,導致很多idc託管機房 商業站點 遊戲伺服器 聊天網路等網路服務商長期以來一直被ddos攻擊所...
《站長必讀 防禦DDOS攻擊終極指南》
發布日期 2004年12月18日 發布 簡述 由於近期ddos攻擊越來越廣泛,本站特邀請我們的名譽技術顧問 網路安全專家孤獨劍客先生結合多年抵禦ddos攻擊的經驗獨家撰寫此文,文中不僅深入淺出地闡述了分布式拒絕服務攻擊ddos的概念 流行的ddos攻擊手段及判斷是否被ddos攻擊的方法,而且還結合實...
防禦DDOS攻擊
伺服器防禦ddos攻擊有什麼比較好的方法,其實這種攻擊一般來說是一種兩敗俱傷的局面,想要發起這麼一場大規模的攻擊作為黑客來說要承擔非常大的損失,因為要調動這麼多的ip位址同一時間去訪問某乙個伺服器的ip位址,這本身就需要非常強大的能量才可以辦得到,所以這種攻擊一般只是針對一些有價值的目標,而那些沒有...