<bdo id="wwuus"></bdo>
  • 《金盾防火墻》為您的服務器保駕護航!
    馬上購買《金盾防火墻》
    站內搜索:

    DDoS前世今生 攻擊原理與防御方法解析

    發表時間:2017/3/24 9:53:21 | 訪問量(4529)

    DoS 攻擊、DDoS攻擊和DRDoS攻擊相信大家已經早有耳聞了吧!DoS是Denial of Service的簡寫就是拒絕服務,而DDoS就是Distributed Denial of Service 的簡寫就是分布式拒絕服務,而DRDoS就是Distributed Reflection Denial of Service的簡寫,這是分布反射式拒絕服務的意思。

    不過這3中攻擊方法最厲害的還是DDoS,那個DRDoS攻擊雖然是新近出的一種攻擊方法,但它只是DDoS攻擊的變形,它的唯一不同就是不用占領大量的“肉雞”。這三種方法都是利用TCP三次握手的漏洞進行攻擊的,所以對它們的防御辦法都是差不多的。

    DoS攻擊是最早出現的,它的攻擊方法說白了就是單挑,是比誰的機器性能好、速度快。但是現在的科技飛速發展,一般的網站主機都有十幾臺主機,而且各個主機的處理能力、內存大小和網絡速度都有飛速的發展,有的網絡帶寬甚至超過了千兆級別。

    這樣我們的一對一單挑式攻擊就沒有什么作用了,搞不好自己的機子就會死掉。舉個這樣的攻擊例子,假如你的機器每秒能夠發送10個攻擊用的數據包,而被你攻擊的機器(性能、網絡帶寬都是頂尖的)每秒能夠接受并處理100攻擊數據包,那樣的話,你的攻擊就什么用處都沒有了,而且非常有死機的可能。要知道,你若是發送這種1Vs1的攻擊,你的機器的 CPU占用率是90%以上的,你的機器要是配置不夠高的話,那你就死定了。

    圖-01 DoS攻擊

    不過,科技在發展,黑客的技術也在發展。正所謂道高一尺,魔高一丈。經過無數次當機,黑客們終于又找到一種新的DoS攻擊方法,這就是DDoS攻擊。

    它的原理說白了就是群毆,用好多的機器對目標機器一起發動DoS攻擊,但這不是很多黑客一起參與的,這種攻擊只是由一名黑客來操作的。這名黑客不 是擁有很多機器,他是通過他的機器在網絡上占領很多的“肉雞”,并且控制這些“肉雞”來發動DDoS攻擊,要不然怎么叫做分布式呢。

    還是剛才的那個 例子,你的機器每秒能發送10攻擊數據包,而被攻擊的機器每秒能夠接受100的數據包,這樣你的攻擊肯定不會起作用,而你再用10臺或更多的機器來對被 攻擊目標的機器進行攻擊的話,嘿嘿!結果我就不說了。

    圖-02 DDOS攻擊

    DRDoS分布反射式拒絕服務攻擊這是DDoS攻擊的變形,它與DDoS的不同之處就是DrDoS不需要在攻擊之前占領大量的“肉雞”。它的攻擊原理和 Smurf攻擊原理相近,不過DRDoS是可以在廣域網上進行的,而Smurf攻擊是在局域網進行的。它的作用原理是基于廣播地址與回應請求的。

    一臺計算機向另一臺計算機發送一些特殊的數據包如ping請求時,會接到它的回應;如果向本網絡的廣播地址發送請求包,實際上會到達網絡上所有的計算機,這時就會得 到所有計算機的回應。

    這些回應是需要被接收的計算機處理的,每處理一個就要占用一份系統資源,如果同時接到網絡上所有計算機的回應,接收方的系 統是有可能吃不消的,就象遭到了DDoS攻擊一樣。

    不過是沒有人笨到自己攻擊自己,不過這種方法被黑客加以改進就具有很大的威力了。黑客向廣播地址 發送請求包,所有的計算機得到請求后,卻不會把回應發到黑客那里,而是發到被攻擊主機。

    這是因為黑客冒充了被攻擊主機。黑客發送請求包所用的軟 件是可以偽造源地址的,接到偽造數據包的主機會根據源地址把回應發出去,這當然就是被攻擊主機的地址。

    黑客同時還會把發送請求包的時間間隔減小 ,這樣在短時間能發出大量的請求包,使被攻擊主機接到從被欺騙計算機那里傳來的洪水般的回應,就像遭到了DDoS攻擊導致系統崩潰。駭客借助了網絡中所有計算機來攻擊受害者,而不需要事先去占領這些被欺騙的主機,這就是Smurf攻擊。

    而DRDoS攻擊正是這個原理,黑客同樣利用特殊的發包工具,首 先把偽造了源地址的SYN連接請求包發送到那些被欺騙的計算機上,根據 TCP三次握手的規則,這些計算機會向源IP發出SYN+ACK或RST包來響應這個請求。

    同Smurf攻擊一樣,黑客所發送的請求包的源IP地址是被攻擊主機的地址,這樣受欺騙的主機就都會把回應發到被攻擊主機處,造成被攻擊主機忙于處理這 些回應而癱瘓。

    圖-03 DRDoS分布反射式拒絕服務攻擊

    解釋:

    SYN:(Synchronize sequence numbers)用來建立連接,在連接請求中,SYN=1,ACK=0,連接響應時,SYN=1,ACK=1。即,SYN和ACK來區分 Connection Request和Connection Accepted。

    RST:(Reset the connection)用于復位因某種原因引起出現的錯誤連接,也用來拒絕非法數據和請求。如果接收到RST位時候,通常發生了某些錯誤。

    ACK:(Acknowledgment field significant)置1時表示確認號(Acknowledgment Number)為合法,為0的時候表示數據段不包含確認信息,確認號被忽略。TCP三次握手:

     

    圖-04 TCP三次握手

     

    假設我們要準備建立連接,服務器正處于正常的接聽狀態。

    第一步:我們也就是客戶端發送一個帶SYN位的請求,向服務器表示需要連接,假設請求包的序列號為10,那么則為:SYN=10,ACK=0,然后等待服務器 的回應。

    第二步:服務器接收到這樣的請求包后,查看是否在接聽的是指定的端口,如果不是就發送RST=1回應,拒絕建立連接。如果接收請求包,那么服務器 發送確認回應,SYN為服務器的一個內碼,假設為100,ACK位則是客戶端的請求序號加1,本例中發送的數據是:SYN=100,ACK=11,用這樣的數據回應給我們。

    向我們表示,服務器連接已經準備好了,等待我們的確認。這時我們接收到回應后,分析得到的信息,準備發送確認連接信號到服務器。

    第三步:我們發送確認建立連接的信息給服務器。確認信息的SYN位是服務器發送的ACK位,ACK位是服務器發送的SYN位加1。即:SYN=11,ACK=101。這樣我們的連接就建立起來了。

    DDoS究竟如何攻擊?目前最流行也是最好用的攻擊方法就是使用SYN-Flood進行攻擊,SYN-Flood也就是SYN洪水攻擊。SYN- Flood不會完成TCP三次握手的第三步,也就是不發送確認連接的信息給服務器。

    這樣,服務器無法完成第三次握手,但服務器不會立即放棄,服務器會不停的重試并等待一定的時間后放棄這個未完成的連接,這段時間叫做SYN timeout,這段時間大約30秒-2分鐘左右。

    若是一個用戶在連接時出現問題導致服務器的一個線程等待1分鐘 并不是什么大不了的問題,但是若有人用特殊的軟件大量模擬這種情況,那后果就可想而知了。

    一個服務器若是處理這些大量的半連接信息而消耗大量的 系統資源和網絡帶寬,這樣服務器就不會再有空余去處理普通用戶的正常請求(因為客戶的正常請求比率很小)。這樣這個服務器就無法工作了,這種攻擊 就叫做:SYN-Flood攻擊。

    到目前為止,進行DDoS攻擊的防御還是比較困難的。首先,這種攻擊的特點是它利用了TCP/IP協議的漏洞,除非你不用TCP/IP,才有可能完全抵御住 DDoS攻擊。不過這不等于我們就沒有辦法阻擋DDoS攻擊,我們可以盡力來減少DDoS的攻擊。下面就是一些防御方法:

    1。確保服務器的系統文件是最新的版本,并及時更新系統補丁。

    2。關閉不必要的服務。

    3。限制同時打開的SYN半連接數目。

    4??s短SYN半連接的time out 時間。

    5。正確設置防火墻

    禁止對主機的非開放服務的訪問,限制特定IP地址的訪問,啟用防火墻的防DDoS的屬性,嚴格限制對外開放的服務器的向外訪問,運行端口映射程序禍端口掃描程序,要認真檢查特權端口和非特權端口。

    6。認真檢查網絡設備和主機/服務器系統的日志。只要日志出現漏洞或是時間變更,那這臺機器就可能遭到了攻擊。

    7。限制在防火墻外與網絡文件共享。這樣會給黑客截取系統文件的機會,主機的信息暴露給黑客,無疑是給了對方入侵的機會。

    8。路由器,以Cisco路由器為例,Cisco Express Forwarding(CEF),使用unicast reverse-path ,訪問控制列表(ACL)過濾,設置SYN數據包流量速率,升級版本過低的ISO ,為路由器建立log server ,能夠了解DDoS攻擊的原理,對我們防御的措施在加以改進,我們就可以擋住一部分的DDoS攻擊,知己知彼,百戰不殆嘛。

    1
    7*24小時銷售客服
    關閉
    呦女专区资源,永久免费AV无码入口,久久一区二区三区超碰国产精品
    <bdo id="wwuus"></bdo>