1. 程式人生 > 實用技巧 >一文了解如何有效的防護DDoS攻擊

一文了解如何有效的防護DDoS攻擊

想象一下有人使用不同的電話號碼一遍又一遍地打電話給你,而你也無法將他們列入黑名單。最終你可能會選擇關閉手機,從而避免騷擾。這個場景就是常見的分散式拒絕服務(DDoS)攻擊的樣子

一文了解如何有效的防護DDoS攻擊

喬布斯(Steve Jobs)推出第一款iPhone之前,DDoS攻擊就已經存在了。它們非常受黑客歡迎,因為它們非常有效,易於啟動,並且幾乎不會留下痕跡。那麼如何防禦DDoS攻擊呢你能否確保對你的web伺服器和應用程式提供高級別的DDoS攻擊防護?在本文中,我們將討論如何防止DDoS攻擊,並將介紹一些特定的DDoS保護和預防技術。

DDoS攻擊的型別和方法

分散式拒絕服務攻擊(簡稱DDoS)是一種協同攻擊旨在使受害者的資源無法使用。它可以由一個黑客組織協同行動,也可以藉助連線到網際網路的多個受破壞裝置來執行。

奇熱這些在攻擊者控制下的裝置通常稱為殭屍網路。

有多種執行DDoS攻擊的工具:例如TrinooStacheldrahtShaftKnightMstream等這些工具的可用性是DDoS攻擊如此廣泛和流行的原因之一。

一文了解如何有效的防護DDoS攻擊

DDoS攻擊可以持續數百小時

DDoS攻擊可能持續幾分鐘、幾小時、甚至是幾天。卡巴斯基實驗室的一份報告顯示,近年來時間最長的DDoS攻擊之一發生在2018年1月,它持續了將近300個小時。

發起DDoS攻擊有兩種常見方法

·利用軟體漏洞。黑客可以針對已知和未知軟體漏洞,併發送格式錯誤的資料包,以試圖破壞受害者的系統。

·消耗計算或通訊資源。黑客可以傳送大量合法的資料包,從而消耗受害者的網路頻寬、CPU或記憶體,直到目標系統無法再處理來自合法使用者的任何請求。

雖然沒有標準的DDoS攻擊分類,但我們可以將其分為四大類

·容量耗盡攻擊

·協議攻擊

·應用程式攻擊

·0 day漏洞DDoS攻擊

圖1顯示了DDoS攻擊的最常見分類之一。

一文了解如何有效的防護DDoS攻擊

圖1. DDoS攻擊的分類

讓我們仔細研究一下每種型別的攻擊。

容量耗盡攻擊

容量耗盡攻擊(Volumetric attacks)通常藉助殭屍網路和放大技術,通過向終端資源注入大量流量來阻止對終端資源的訪問。最常見的容量耗盡攻擊型別有:

·UDP洪水攻擊。黑客傳送使用者資料報協議(UDP)包偽造受害者的源地址到隨機埠。主機生成大量的回覆流量並將其傳送回受害者。

·ICMP洪水攻擊。黑客使用大量的網際網路控制訊息協議(ICMP)請求或ping命令,試圖耗盡受害者的伺服器頻寬。

Netscout在2018年報告了迄今為止最大的DDoS攻擊之一:一家美國服務提供商的客戶面臨著1.7 Tbps的大規模反射放大攻擊。

協議攻擊

根據Verisign 2018年第1季度DDoS趨勢報告,協議攻擊針對的是協議工作方式的漏洞,這是第二大最常見的攻擊媒介。最常見的協議攻擊型別有:

·SYN洪水攻擊。黑客利用了三向握手TCP機制的漏洞。客戶端將SYN資料包傳送到伺服器,接收SYN-ACK資料包,並且永遠不會將ACK資料包傳送回主機。因此,受害者的伺服器留下了許多未完成的SYN-ACK請求,並最終導致崩潰。

·死亡之Ping。攻擊–黑客使用簡單的Ping命令傳送超大資料包,從而導致受害者的系統凍結或崩潰。

SYN洪水攻擊是2014年用來摧毀線上賭博網站的五種攻擊媒介之一。

應用程式攻擊

應用程式攻擊利用協議棧(六),協議棧(七)中的漏洞,針對特定的應用程式而不是整個伺服器。它們通常針對公共埠和服務,如DNS或HTTP。最常見的應用程式攻擊有:

·HTTP洪水攻擊。攻擊者用大量的標準GET和POST請求淹沒應用程式或web伺服器。由於這些請求通常顯示為合法流量,因此檢測HTTP洪水攻擊是一個相當大的挑戰。

·Slowloris。正如其名,Slowloris緩慢地使受害者的伺服器崩潰。攻擊者按時間間隔和一小部分向受害者的伺服器傳送HTTP請求。伺服器一直在等待這些請求完成,但永遠不會發生。最終,這些未完成的請求耗盡了受害者的頻寬,使合法使用者無法訪問伺服器。

在2009年總統大選後,黑客專家利用Slowloris攻擊來關閉伊朗的政府網站。

0 day漏洞DDoS攻擊

除了眾所周知的攻擊之外,還存在0 day漏洞DDoS攻擊。他們利用尚未修補的未知軟體漏洞或使用不常見的攻擊媒介,因此更加難以檢測和防禦。例如,早在2016年攻擊者利用輕型目錄訪問協議(LDAP)發起了放大係數高達55的攻擊。

現在讓我們談談檢測DDoS攻擊的方法。

檢測DDoS攻擊

雖然不可能完全阻止DDoS攻擊的發生,但有一些有效的做法可以幫助你檢測和停止正在進行的DDoS攻擊。

異常檢測:統計模型和機器學習演算法(例如神經網路,決策樹和近鄰演算法)可用於分析網路流量並將流量模式分類為正常或DDoS攻擊。你還可以搜尋其他網路效能因素中的異常,例如裝置CPU利用率或頻寬使用情況。

基於知識的方法:使用諸如特徵碼分析、狀態轉換分析、專家系統、描述指令碼和自組織對映等方法,你可以通過將流量與已知攻擊的特定模式進行比較來檢測DDoS。

ACL和防火牆規則除了入口/出口流量過濾之外,訪問控制列表(ACL)和防火牆規則可用於增強流量可見性。特別是,你可以分析ACL日誌,以瞭解通過網路執行的流量型別。你還可以根據特定的規則、簽名和模式配置web應用程式防火牆來阻止可疑的傳入流量。

入侵防禦和檢測系統警報:入侵防禦系統(IPS)和入侵檢測系統(IDS)提供了額外的流量可見性。儘管誤報率很高,但是IPS和IDS警報可以作為異常和潛在惡意流量的早期指示。

在早期階段檢測正在進行的攻擊可以幫助你減輕其後果。但是,你可以採取適當的預防措施來防範DDoS攻擊,使攻擊者更難淹沒或破壞你的網路。

如何編寫一個有效的防護DDoS攻擊的解決方案

無論你是想建立自己的有效防護DDoS攻擊的解決方案,還是要為Web應用程式尋找商業化的DDoS攻擊防護系統,都要牢記以下一些基本系統要求

·混合DDoS檢測方法。基於特徵碼和基於異常的檢測方法的組合是檢測不同型別的DDoS攻擊的關鍵。

·防禦3–4級和6–7級攻擊。如果你的解決方案能夠檢測並抵禦所有三種主要型別的DDoS攻擊:容量攻擊、應用攻擊和協議攻擊,則更可取。

·有效的流量過濾。DDoS保護的最大挑戰之一是區分惡意請求與合法請求。很難建立有效的過濾規則,因為涉及DDoS攻擊的大多數請求看起來都好像是來自合法使用者。諸如速率限制之類的流行方法通常會產生很多誤報,導致阻止合法使用者訪問你的服務和應用程式。

·SIEM整合。將防DDoS解決方案與SIEM系統良好結合非常重要,這樣你就可以收集有關攻擊的資訊,對其進行分析,並使用它來改善DDoS的保護並防止以後發生攻擊。

如果滿足這些要求對你來說太難了,那麼考慮向專家尋求幫助。你需要一支經驗豐富的開發團隊,他們對網路安全、雲服務和web應用程式有深入的瞭解,才能構建高質量的DDoS防禦解決方案。像這樣的團隊很難在內部組織起來,但你可以隨時尋求第三方團隊的幫助。

防止DDoS攻擊

一文了解如何有效的防護DDoS攻擊

即使你無法阻止DDoS攻擊的發生,但你有能力讓攻擊者更難關閉你的網站或應用程式。這就是DDoS預防技術關鍵的地方。你可以使用兩種DDoS預防機制:常規預防措施和過濾技術。

常規的DDoS防護機制是比較常見的措施,可以幫助你使Web應用程式或伺服器對DDoS攻擊更具彈性。這些措施包括:

·使用防火牆。雖然防火牆不能保護你的應用程式或伺服器免受複雜的DDoS攻擊,但它們仍然可以有效地處理簡單的攻擊。

·安裝最新的安全補丁。大多數攻擊針對特定的軟體或硬體漏洞,因此及時部署所有補丁可以幫助你降低攻擊風險。

·禁用未使用的服務。黑客攻擊的應用程式和服務越少越好。確保禁用所有不需要和未使用的服務和應用程式,以提高網路的安全性。

過濾機制使用不同的方法來過濾流量並阻止潛在的危險請求。這些機制包括入口/出口過濾,基於歷史的IP過濾和基於路由器的資料包過濾。

保護Web應用程式免受DDoS攻擊的最佳做法

除了特定的DDoS防範機制,還有幾種做法可以幫你的web應用程式提供額外的DDoS保護:

·限制漏洞數量。除非迫不得已,否則不要公開你的應用程式和資源。這樣,你可以限制攻擊者可能針對的基礎架構中的漏洞數量。你還可以禁止將網際網路流量直接傳送到資料庫伺服器和基礎結構的其他關鍵部分。

·擴充套件負載。考慮使用負載平衡器和內容分發網路(CDN),通過平衡資源負載來減輕攻擊的影響,這樣即使在攻擊期間也可以保持線上。

·仔細選擇你的雲提供商。尋找一個值得信賴的雲服務提供商,並提供自己的DDoS緩解策略。確保他們的策略可檢測和緩解基於協議,基於卷和應用程式級別的攻擊。例如,一些雲提供商使用anycasting網路在具有相同IP地址的多臺機器之間劃分大量請求。

使用第三方DDoS緩解服務?–考慮將web應用程式的保護委託給第三方供應商。DDoS緩解服務甚至可以在問題流量到達受害者網路之前將其清除。你可以從基於DNS的閘道器服務或基於協議的解決方案中查詢有問題的邊界攻擊。

結論

黑客不斷使用和改進DDoS攻擊來破壞特定服務、大小型企業甚至公共和非營利組織的工作。這些攻擊的主要目的是耗盡受害者的資源,從而使他們的服務、應用程式或網站崩潰。

雖然無法完全阻止DDoS攻擊的發生,但有一些有效的DDoS攻擊保護技術和方法可用於增強基礎設施抵禦DDoS攻擊並減輕其後果。