DDoS 攻擊是什麼:原理、型別與危害一次講清
DDoS 攻擊是分散式拒絕服務攻擊:攻擊者讓大量分散在各地的裝置同時向一個目標傳送流量或請求,把目標的頻寬、連線數或計算資源耗盡,正常使用者就存取不了。它不偷資料、不進系統,打的是“可用性”。
DDoS 攻擊是什麼?DDoS(Distributed Denial of Service,分散式拒絕服務)攻擊,是攻擊者同時調動大量分散在不同網路裡的裝置,一起向同一個目標傳送流量或請求,把目標的出口頻寬、連線表或 CPU 等資源耗盡,讓正常使用者的存取被“擠”掉。它和盜號、入侵不同:DDoS 不需要進入你的系統,也不拿走任何資料,目的就是讓服務停擺。
“分散式”和“拒絕服務”各指什麼
把名字拆成兩半看:
- 拒絕服務(Denial of Service):結果。伺服器、網路或應用因為資源被佔滿,無法再為正常使用者服務。資源可以是頻寬、防火牆的連線表、伺服器的 CPU 和記憶體,也可以是 Web 應用的程序數和資料庫連線;
- 分散式(Distributed):手段。攻擊流量來自成百上千甚至更多的來源,這些來源往往是被入侵後受控的裝置,也可能是被利用的公開服務。
“分散式”帶來兩個直接後果,也是 DDoS 難防的原因:
- 總量大:單台裝置的上行頻寬有限,但幾萬台加起來可以遠超一個機房的入口頻寬;
- 封不過來:來源成千上萬,而且很多流量層的攻擊源位址是偽造的,在伺服器上逐個封 IP 沒有意義。
DDoS 攻擊是釣魚攻擊嗎
不是。DDoS 和釣魚、木馬屬於完全不同的兩類攻擊,目標、手段和防護重點都不一樣:
| 攻擊型別 | 攻擊的是什麼 | 要不要進入系統 | 典型結果 | 防護重點 |
|---|---|---|---|---|
| DDoS | 可用性 | 不需要 | 網站打不開、遊戲掉線、線路擁塞 | 頻寬冗餘、清洗、高防、限速 |
| 釣魚 | 人的判斷 | 不需要,騙使用者自己交出帳號密碼 | 帳號被盜、資金損失 | 安全意識培訓、二次驗證、郵件過濾 |
| 木馬、入侵 | 系統控制權 | 需要 | 資料被竊取、伺服器被控制 | 補丁、最小許可權、主機安全、審計 |
| 勒索軟體 | 資料可用性 | 需要 | 檔案被加密,被要求付贖金 | 備份、隔離、補丁 |
資訊保安常用“機密性、完整性、可用性”三個屬性來衡量風險:釣魚和入侵主要威脅機密性與完整性,DDoS 只針對可用性。
兩類攻擊之間也有聯絡:發起 DDoS 的裝置,大多是先被木馬或弱口令入侵後受控的“肉雞”;也有攻擊者先用 DDoS 製造混亂,趁維運忙於處置時嘗試入侵。所以“它不是入侵”不等於“攻擊期間可以不管安全日誌”。
三大類 DDoS 各舉一例
按攻擊打在哪一層,DDoS 一般分為三類。這裡只各舉一個例子說明區別,具體機制另有文章展開。
| 型別 | 耗盡的資源 | 例子 | 一句話說明 |
|---|---|---|---|
| 流量型(容量型) | 鏈路頻寬 | UDP 反射放大 | 藉助網際網路上開放的公共服務,把大量回應流量引向目標,把入口頻寬塞滿 |
| 協議型 | 連線表、協議棧 | SYN 泛洪 | 大量只發起不完成的 TCP 握手,佔滿伺服器或防火牆的半連線佇列 |
| 應用層 | 應用程序、CPU、資料庫 | HTTP 泛洪(國內常叫 CC) | 用大量看似正常的網頁請求,耗盡 Web 服務的處理能力 |
三類的衡量單位也不同:流量型看 bps(每秒位元),協議型看 pps(每秒包數),應用層看 rps 或 QPS(每秒請求數)。這也是為什麼一次“只有幾十 Mbps”的攻擊照樣能讓網站癱瘓。
伺服器側會看到什麼
維運最先接觸的往往是伺服器上的異常。不同型別的攻擊,症狀差別很明顯:
| 現象 | 大機率是 | 怎麼核實 |
|---|---|---|
| 入向頻寬貼著連接埠上限(如千兆口持續 900 Mbps 以上),ping 大量丟包,SSH 也連不上 | 流量型 | 交換器連接埠流量圖、sar -n DEV 1 看 rxkB/s |
| 頻寬不高,但半連線數暴漲,新連線建立不了 | 協議型 | ss -tan state syn-recv | wc -l |
| 系統日誌反覆出現連線跟蹤表已滿 | 協議型或大量小包 | dmesg | grep -i "table full" |
| 頻寬正常、SSH 正常,只有網站慢或報 502/504,CPU 很高 | 應用層 | 存取日誌與應用程序狀態 |
| 流量突然從高位掉到接近零,外網全部不通,內網正常 | 公網 IP 可能已被機房或上游黑洞 | 聯絡機房確認 |
最後一種情況容易讓人困惑:伺服器上看起來“攻擊停了”,其實是機房為保護整體出口,把這個 IP 的所有流量都在上游丟棄了,正常存取也一併被丟棄。
還有一種方向相反的情況:出向頻寬突然打滿,而業務並沒有變化。這往往說明伺服器自己被入侵,正在作為肉雞向外發起攻擊,應按入侵事件處理,而不是當成被攻擊。
機房側會看到什麼
對 IDC 和機房網路來說,一次攻擊的影響面往往超出被打的那台機器:
- 接入連接埠:被攻擊伺服器所在的交換器連接埠入向流量打滿,同一交換器上聯口的利用率隨之飆升;
- 上聯與出口:攻擊流量超過機房出口或某條線路的容量時,同一出口下的其他客戶也會出現延遲升高和丟包;
- 流量分析:NetFlow、sFlow 等取樣資料裡,大量來源指向同一個目的 IP,協議和連接埠分佈異常集中;
- 防護動作:觸發清洗,或者在超過閾值後由機房、上游運營商對該 IP 做黑洞路由;
- 工單和投訴:被攻擊客戶和受牽連的鄰居客戶同時報障,客服很容易誤判為線路故障。
所以 DDoS 在機房裡不是“一台伺服器的事”,處置時要同時考慮被打的客戶和同一鏈路上的其他客戶。
和其他故障怎麼區分
“網站打不開”不一定是被攻擊。下面幾種情況常被混淆:
| 情況 | 頻寬 | 連線與 CPU | 影響範圍 | 關鍵線索 |
|---|---|---|---|---|
| DDoS 流量型 | 入向打滿 | 伺服器可能並不忙 | 同一線路可能都受影響 | 來源分散、協議集中 |
| 線路或上游故障 | 下降或歸零 | 正常 | 整條線路、整個機房 | 多個客戶同時受影響,traceroute 中斷在上游 |
| 程式缺陷或慢查詢 | 正常 | CPU 高 | 單個應用 | 沒有異常來源,釋出或改動後出現 |
| 正常業務高峰 | 上升 | 上升 | 單個應用 | 有活動、推廣等明確原因,存取分佈正常 |
| 伺服器被入侵後對外發包 | 出向打滿 | 有陌生程序佔用 | 單台及同連接埠 | 出向流量異常,業務無變化 |
在機房管理系統裡怎麼落地
機房側應對 DDoS,除了清洗和黑洞,還有兩件日常工作與管理系統直接相關。一是計費口徑:攻擊流量是入向的,如果流量池按入站或總流量計量,攻擊流量就會算進客戶的用量。Toplink DCIM 的流量計費與 95 計費可以按出站、入站、總流量或高值流量分別設定口徑,簽約時選擇和合同一致的方式,減少攻擊之後的計費爭議。二是出向異常:託管伺服器淪為肉雞後向外發包,頻寬自動限速可以按最近幾分鐘的平均頻寬自動把連接埠限到設定速率,等流量持續回落後再自動解除,避免一台機器拖累整條上聯。
常見問題
DoS 和 DDoS 有什麼區別?
DoS 是單一來源發起的拒絕服務攻擊,一台機器的頻寬和發包能力有限,找到來源封掉就能緩解;DDoS 的來源是成千上萬台裝置,總量大得多,也無法靠封幾個 IP 解決。
DDoS 攻擊違法嗎?
違法。《網路安全法》禁止任何個人和組織干擾他人網路正常功能,情節嚴重的可能構成破壞計算機資訊系統罪;以“壓力測試”名義購買攻擊服務去打別人同樣違法。被攻擊時保留流量圖、日誌和勒索資訊,可以向公安機關報案。
個人網站也會被 DDoS 嗎?
會。發起小規模攻擊的門檻並不高,個人站點、小遊戲伺服器同樣可能因為糾紛或勒索被打。區別在於攻擊規模,對方投入越少,攻擊越容易在機房一側被清洗或限制。