All about DDoS(拒絕服務攻擊)
概述:
拒絕服務攻擊(英語:denial-of-service attack,縮寫爲 DoS),亦稱洪水攻擊,是一種惡意的網絡攻擊手法,其目標在於使連接上網絡的目標電腦的網絡資源及系統資源耗盡,使這個連上網絡的主機暫時中斷或停止服務,使它無法對正常用戶提供服務。
現狀:
DDoS攻擊層出不窮,技術門檻低,惡性的商業競爭,需求強烈。 目前這是一個非常完整的產業鏈(上游人員早已身居海外,遠程遙控指揮行動,根本無法查處),他們手上控制了大量的攻擊資源,並且攻擊資源本身就來自於IDC。攻擊者爲了快速牟利,本身也喜歡和推薦這種直接了當的方式來對目標進行打擊,在發動攻擊時,他們能夠調集到多個IDC的帶寬資源來對目標打擊(這一現象也折射出了當前國內不規範的IDC管理)。
從這一角度來看,被打擊方永遠都處於弱勢地位,以勢單力薄的架構和極其有限的資源,根本無法抵抗強大的集羣資源攻擊。
DDoS攻擊形式和手段:
帶寬消耗型以及資源消耗型。
它們都是透過大量合法或僞造的請求佔用大量網絡以及器材資源,以達到癱瘓網絡以及系統的目的。
帶寬消耗型攻擊目的在於堵住帶寬,讓正常的用戶流量到達不了服務器。 如某服務器託管與某機房,機房的出口帶寬爲10G,如果使用DDoS攻擊打大於10G的流量給這個服務器,將導致該機房所有服務中斷。
帶寬消耗攻擊爲致命攻擊,危害極大,可以通過增加帶寬,上游發現並丟棄攻擊流量,和CDN共同配合阻止攻擊,會有一定效果,但是攻擊流量足夠大時,基本無解。
攻擊手段主要有UDPflood,ICMP flood和近期比較流行的 NTP 放大攻擊。
資源消耗型目的在於消耗系統的內存或CPU資源,使系統無法響應正常的用戶請求。 如TCP SYNFlood, Land Attrack 以及新型的應用級別的攻擊如CC(http get)攻擊等。
資源消耗型攻擊相比帶寬消耗型的攻擊不算致命,但是手段不斷更新,不過隨着各種軟硬件防火牆功能升級,以及各種級別(L4-L7)負載均衡程序的逐步升級, 該類攻擊正處於拉鋸戰中。
有興趣的可參考下面具體的攻擊方式:
o 1 Internet Control Message Protocol(ICMP) flood
o 5 Asymmetryof resource utilization in starvation attacks
o 6 Permanent denial-of-service attacks
o 8 Nuke
o 13 Reflected/ spoofed attack
o 14 Telephonydenial-of-service
o 15 Unintentionaldenial-of-service
o 16 Denial-of-serviceLevel II
o 17 AdvancedPersistent DoS (APDoS)
o 18 NTP reflected / spoofed attack
o 19 CC (Challenge Collapsar)attack (HTTP Get)
防禦:
DDoS的防禦工作需要一整套協作的系統共同完成,如服務器前端的負載均衡器,軟硬件防火牆,本地交換機/路由器,以及上游主管設備和CDN, 整體共同工作, 建立一套DDoS檢測,預警,防禦和反擊(高級別)的系統。
- 如傳統的硬件防火牆對老式的SYN flood攻擊有顯著的效果;
- 邊緣路由器上通過acl或者ratelimite來限制ICMP報文的個數也可以有效地防禦ICMPflood攻擊;
- 通過HAproxy / ngnix 進行HTTP代理可以有效地防禦應用層面的HTTP Get攻擊;
- 通過建立或者租賃CDN系統,隱藏服務器,並通過智能的DNS剔出癱瘓的服務器;
- 使用CDN技術能分佈式的監控攻擊流量並在各自CDN節點上進行流量清洗,丟棄攻擊流量,緩解服務器壓力;
- CDN還有利於橫向擴展,沒有攻擊時還能起到路由優化作用。
DDoS的攻擊和防禦,比較贊同知乎上一位網友的觀點:
“魔高一尺,道高一丈,道高一尺,魔高一丈。道消魔漲,魔消道漲,道漲魔消,魔漲道消。
這不是繞口令,這也是事實,是說攻擊成本和防禦成本:防禦做的越完善,攻擊者消耗的成本越高,被發現的風險也越大;攻擊做的越好,防禦所付出的代價越大,追蹤越難。“
可參考兩個DDoS防禦系統的例子:
a,阿里DDOS攻防體系建設
Slides:http://share.csdn.net/slides/437
Video:http://v.youku.com/v_show/id_XNTQzODUzMzU2.html
B,自建CDN防禦DDoS
CDN
http://www.infoq.com/cn/articles/anti-ddos-cdn-1
http://www.infoq.com/cn/articles/anti-ddos-cdn-2
http://www.infoq.com/cn/articles/anti-ddos-cdn-3
最後來看個知乎上的例子:
http://www.zhihu.com/question/22259175
------------------------------------------------------------------------
· 某飯店可以容納100人同時就餐,某日有個商家惡意競爭,僱傭了200人來這個飯店坐着不吃不喝,導致飯店滿滿當當無法正常營業。(DDOS攻擊成功)
· 老闆當即大怒,派人把不吃不喝影響正常營業的人全都轟了出去,且不再讓他們進來搗亂,飯店恢復了正常營業。(添加規則和黑名單進行DDOS防禦,防禦成功)
· 主動攻擊的商家心存不滿,這次請了五千人逐批次來搗亂,導致該飯店再次無法正常營業。(增加DDOS流量,改變攻擊方式)
· 飯店把那些搗亂的人轟出去只後,另一批接踵而來。此時老闆將飯店營業規模擴大,該飯店可同時容納1萬人就餐,5000人同時來搗亂飯店營業也不會受到影響。(增加硬防與其抗衡)
DDOS是Distributed Denial of Service的縮寫,翻譯成中文是“分佈式拒絕服務“攻擊,網絡中的DDOS攻擊與防禦與上面例子所述差不多,DDOS只不過是一個概稱,其下有各種攻擊方式。
參考:
DDoS(分佈式拒絕服務)攻擊是無解的嗎?
http://www.zhihu.com/question/26741164
Denial-of-service attack
http://en.wikipedia.org/wiki/Denial-of-service_attack
http://zh.wikipedia.org/zh-cn/%E9%98%BB%E6%96%B7%E6%9C%8D%E5%8B%99%E6%94%BB%E6%93%8A
淺談基於 NTP 的反射和放大攻擊
http://drops.wooyun.org/papers/926
CC攻擊(ChallengeCollapsar)是DDOS(分佈式拒絕服務)的一種
http://www.jikewu.com/archives/24/546.html
Cefinity CEO談數據中心DDoS防護
http://v.youku.com/v_show/id_XNjA1NDAyNDE2.html
Content delivery network
http://zh.wikipedia.org/zh/%E5%85%A7%E5%AE%B9%E5%82%B3%E9%81%9E%E7%B6%B2%E8%B7%AF
http://en.wikipedia.org/wiki/Content_delivery_network
使用bind構建高可用智能DNS服務器
http://wenku.baidu.com/view/dab18a0b79563c1ec5da710e.html