常見的DDOS攻擊分為三個範疇,分別為容量攻擊(Volumetric Attack)、協定攻擊(Protocol Attack)和應用層攻擊(Application-Layer Attacks)。以下我將會詳細介紹這三個範疇。
關於容量攻擊,比較普遍的是UDP洪水攻擊(UDP flood),他會向目標伺服器的不同端口發送海量的用戶數據協議數據包(UDP packets)強迫伺服器不斷檢查數據包,這樣會揸干伺服器的資源和帶寬。令系統不能處理其他重要數據。
第二種容量攻擊是DNS 放大攻擊(DNS Amplification),攻擊者會找出受害者的IP並不斷發出請求到其DNS伺服器,使其帶寬超載。
關於協定攻擊,比較普遍的是S Y N洪水攻擊(SYN flood),攻擊者會向目標系統不斷發出連接請求,但不會完成那三次握手。受害機收到連接請求後,不會再得到任何回應,這樣會消耗受害機的連接容量。
關於第二種協定攻擊是俗稱死拼的Ping of Death. 攻擊者會傳送過大的或格式錯誤的ping 到受害機,導致其系統崩潰。
最後關於應用層攻擊,比較著名的是HTTP洪水攻擊(HTTP flood),攻擊者會向受害系統傳送海量的HTTP請求,這樣就像有海量的人同時登入系統,導致系統崩潰或延遲。
第二種應用層攻擊名為慢速http拒絕服務攻擊(Slowloris),原理是攻擊者會向目標伺服器傳送部份HTTP請求然後持續以極慢的速度傳送後續的HTTP資料,這樣可以盡可能長時間地保持連線開啟狀態,最終達到伺服器可處理的最大連線數目上限,導致系統延遲或崩潰。
臨時緩解DDOS這種攻擊的話,我們可以擴充帶寛爭取時間,然後通過防火牆封鎖明顯異常的IP或IP段,可以使用Burpsuite找出明顯異常的IP,也需要關閉不必要的端口和服務。長遠來說可以部署網絡防火牆來攔截惡意機械人,也可以進行限流和使用驗證碼,例如增加滑塊驗證等。