知道DDoS攻擊嗎?

菜鳥要飛訂閱號發表於2022-12-05

最近幾次面試,喜歡問一個問題:知道DDoS攻擊嗎?講講它的原理。大概說的比較明白不到1/3。

其實,像全球網際網路各大公司,均遭受過大量的DDoS。

2018年,GitHub 在一瞬間遭到高達 1.35Tbps 的頻寬攻擊。這次 DDoS 攻擊幾乎可以堪稱是網際網路有史以來規模最大、威力最大的 DDoS 攻擊了。在 GitHub 遭到攻擊後,僅僅一週後,DDoS 攻擊又開始對 Google、亞馬遜甚至 Pornhub 等網站進行了 DDoS 攻擊。後續的 DDoS 攻擊頻寬最高也達到了 1Tbps。

那 DDoS 攻擊究竟是什麼?

DDos全名Distributed Denial of Service,翻譯成中文就是分散式拒絕服務。指的是處於不同位置的多個攻擊者同時向一個或數個目標發動攻擊,是一種分佈的、協同的大規模攻擊方式。單一的DoS攻擊一般是採用一對一方式的,它利用網路協議和作業系統的一些缺陷,採用欺騙和偽裝的策略來進行網路攻擊,使網站伺服器充斥大量要求回覆的資訊,消耗網路頻寬或系統資源,導致網路或系統不勝負荷以至於癱瘓而停止提供正常的網路服務。

下面給一個更加形象點的例子,解釋下DDoS攻擊。

我開了一家有五十個座位的重慶火鍋店,由於用料上等,童叟無欺。平時門庭若市,生意特別紅火,而對面二狗家的火鍋店卻無人問津。二狗為了對付我,想了一個辦法,叫了五十個人來我的火鍋店坐著卻不點菜,讓別的客人無法吃飯。

上面這個例子講的就是典型的 DDoS 攻擊,一般來說是指攻擊者利用“肉雞”對目標網站在較短的時間內發起大量請求,大規模消耗目標網站的主機資源,讓它無法正常服務。線上遊戲、網際網路金融等領域是 DDoS 攻擊的高發行業。

攻擊方式很多,比如ICMP Flood、UDP Flood、NTP Flood、SYN Flood、CC 攻擊、DNS Query Flood等等。

下面是SYN Flood進行DDoS攻擊的實現原理

SYN Flood是一種利用TCP協議缺陷,傳送大量偽造的TCP連線請求,從而使得被攻擊方資源耗盡(CPU滿負荷或記憶體不足)的攻擊方式。

一次正常的建立TCP連線,需要三次握手:客戶端傳送SYN報文,服務端收到請求並返回報文表示接受,客戶端也返回確認,完成連線。

SYN Flood 就是使用者向伺服器傳送報文後突然當機或掉線,那麼伺服器在發出應答報文後就無法收到客戶端的確認報文(第三次握手無法完成),這時伺服器端一般會重試並等待一段時間後再丟棄這個未完成的連線。

一個使用者出現異常導致伺服器的一個執行緒等待一會兒並不是大問題,但惡意攻擊者大量模擬這種情況,伺服器端為了維護數以萬計的半連線而消耗非常多的資源,結果往往是無暇理睬客戶的正常請求,甚至崩潰。從正常客戶的角度看來,網站失去了響應,無法訪問。

如何應對 DDoS 攻擊?

高防伺服器

還是拿開的重慶火鍋店舉例,高防伺服器就是我給重慶火鍋店增加了兩名保安,這兩名保安可以讓保護店鋪不受流氓騷擾,並且還會定期在店鋪周圍巡邏防止流氓騷擾。

高防伺服器主要是指能獨立硬防禦 50Gbps 以上的伺服器,能夠幫助網站拒絕服務攻擊,定期掃描網路主節點等,這東西是不錯,就是貴~

黑名單

面對火鍋店裡面的流氓,我一怒之下將他們拍照入檔,並禁止他們踏入店鋪,但是有的時候遇到長得像的人也會禁止他進入店鋪。這個就是設定黑名單,此方法秉承的就是“錯殺一千,也不放一百”的原則,會封鎖正常流量,影響到正常業務。

DDoS 清洗

DDos 清洗,就是我發現客人進店幾分鐘以後,但是一直不點餐,我就把他踢出店裡。

DDoS 清洗會對使用者請求資料進行實時監控,及時發現DOS攻擊等異常流量,在不影響正常業務開展的情況下清洗掉這些異常流量。

CDN 加速

CDN 加速,我們可以這麼理解:為了減少流氓騷擾,我乾脆將火鍋店開到了線上,承接外賣服務,這樣流氓找不到店在哪裡,也耍不來流氓了。

在現實中,CDN 服務將網站訪問流量分配到了各個節點中,這樣一方面隱藏網站的真實 IP,另一方面即使遭遇 DDoS 攻擊,也可以將流量分散到各個節點中,防止源站崩潰。

來源 | 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31557372/viewspace-2677534/,如需轉載,請註明出處,否則將追究法律責任。

相關文章