什么是DoS攻擊


什么是DoS攻擊
DoS 是 Denial of Service 的簡稱,即拒絕服務,造成 DoS 的攻擊行為被稱為DoS攻擊。

DoS攻擊並非入侵主機也不能竊取機器上的資料,它的目的是: 耗盡被攻擊對象的資源,使其無法提供正常的服務。

DDoS(Distributed Denial of Service)攻擊是基於DOS攻擊的一種特殊形式。攻擊者將多台受控制的計算機聯合起來向目標計算機發起DOS攻擊,它是一種大規模協作的攻擊方式。

理解DoS的基礎
(1) TCP的三次握手
要理解 DoS 攻擊,首先要理解 TCP 連接的三次握手(Three-wayhandshake)。

第一次握手: 建立連接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SENT狀態,等待服務器確認;

第二次握手: 服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;

第三次握手: 客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED(TCP連接成功)狀態,完成三次握手。

(2) 兩個重要概念
半連接: 收到SYN包而還未收到ACK包時的連接狀態稱為半連接,即尚未完全完成三次握手的TCP連接。

半連接隊列: 在三次握手協議中,服務器維護一個半連接隊列,該隊列為每個客戶端的SYN包(SYN=i )開設一個條目,該條目表明服務器已收到SYN包,並向客戶發出確認,正在等待客戶的確認包。這些條目所標識的連接在服務器處於SYN_ RECV狀態,當服務器收到客戶的確認包時,刪除該條目,服務器進入ESTABLISHED狀態。

(3) 三個重要參數
Backlog參數: 表示半連接隊列的最大容納數目。

SYN-ACK重傳次數: 服務器發送完SYN-ACK包,如果未收到客戶確認包,服務器進行首次重傳,等待一段時間仍未收到客戶確認包,進行第二次重傳,如果重傳次數超過系統規定的最大重傳次數,系統將該連接信息、從半連接隊列中刪除。注意,每次重傳等待的時間不一定相同。

半連接存活時間: 是指半連接隊列的條目存活的最長時間,也即服務從收到SYN包到確認這個報文無效的最長時間,該時間值是所有重傳請求包的最長等待時間總和。有時也稱半連接存活時間為Timeout時間、SYN_RECV存活時間。

常見的DoS攻擊手段
(1) SYN-flood攻擊
利用TCP協議缺陷,通過發送大量的半連接請求,耗費CPU和內存資源。SYN攻擊並不管目標是什么系統,只要這些系統打開TCP服務就可以實施。服務器接收到連接請求(SYN=i )將此信息加入未連接隊列,並發送請求包給客戶端( SYN=j,ACK=i+1 ),此時進入SYN_RECV狀態。當服務器未收到客戶端的確認包時,重發請求包,一直到超時,才將此條目從未連接隊列刪除。配合IP欺騙,SYN攻擊能達到很好的效果,通常,客戶端在短時間內偽造大量不存在的IP地址,向服務器不斷地發送SYN包,服務器回復確認包,並等待客戶的確認,由於源地址是不存在的,服務器需要不斷的重發直至超時,這些偽造的SYN包將長時間占用未連接隊列,正常的SYN 請求被丟棄,目標系統運行緩慢,嚴重者引起網絡堵塞甚至系統癱瘓。

(2) 還有其他攻擊手段
DoS/DDoS的攻擊手段很多,還有死亡之ping (ping of death)、淚滴攻擊、UDP flood、Land攻擊、IP欺騙,不過除了SYN-flood其他都看不太懂。

防范DoS攻擊
到目前為止,任何網絡都無法免受DoS攻擊,除非不用TCP/IP。

預防為主保證安全
  DDoS攻擊是黑客最常用的攻擊手段,下面列出了對付它的一些常規方法。
  
  (1)定期掃描
  要定期掃描現有的網絡主節點,清查可能存在的安全漏洞,對新出現的漏洞及時進行清理。骨干節點的計算機因為具有較高的帶寬,是黑客利用的最佳位置,因此對這些主機本身加強主機安全是非常重要的。而且連接到網絡主節點的都是服務器級別的計算機,所以定期掃描漏洞就變得更加重要了。
  
  (2)在骨干節點配置防火牆
  防火牆本身能抵御DdoS攻擊和其他一些攻擊。在發現受到攻擊的時候,可以將攻擊導向一些犧牲主機,這樣可以保護真正的主機不被攻擊。當然導向的這些犧牲主機可以選擇不重要的,或者是linux以及unix等漏洞少和天生防范攻擊優秀的系統。
  
  (3)用足夠的機器承受黑客攻擊
  這是一種較為理想的應對策略。如果用戶擁有足夠的容量和足夠的資源給黑客攻擊,在它不斷訪問用戶、奪取用戶資源之時,自己的能量也在逐漸耗失,或許未等用戶被攻死,黑客已無力支招兒了。不過此方法需要投入的資金比較多,平時大多數設備處於空閑狀態,和目前中小企業網絡實際運行情況不相符。
  
  (4)充分利用網絡設備保護網絡資源
  所謂網絡設備是指路由器、防火牆等負載均衡設備,它們可將網絡有效地保護起來。當網絡被攻擊時最先死掉的是路由器,但其他機器沒有死。死掉的路由器經重啟后會恢復正常,而且啟動起來還很快,沒有什么損失。若其他服務器死掉,其中的數據會丟失,而且重啟服務器又是一個漫長的過程。特別是一個公司使用了負載均衡設備,這樣當一台路由器被攻擊死機時,另一台將馬上工作。從而最大程度的削減了DdoS的攻擊。
  
  (5)過濾不必要的服務和端口
  過濾不必要的服務和端口,即在路由器上過濾假IP……只開放服務端口成為目前很多服務器的流行做法,例如WWW服務器那么只開放80而將其他所有端口關閉或在防火牆上做阻止策略。
  
  (6)檢查訪問者的來源
  使用Unicast Reverse Path Forwarding等通過反向路由器查詢的方法檢查訪問者的IP地址是否是真,如果是假的,它將予以屏蔽。許多黑客攻擊常采用假IP地址方式迷惑用戶,很難查出它來自何處。因此,利用Unicast Reverse Path Forwarding可減少假IP地址的出現,有助於提高網絡安全性。
  
  (7)過濾所有RFC1918 IP地址
  RFC1918 IP地址是內部網的IP地址,像10.0.0.0、192.168.0.0 和172.16.0.0,它們不是某個網段的固定的IP地址,而是Internet內部保留的區域性IP地址,應該把它們過濾掉。此方法並不是過濾內部員工的訪問,而是將攻擊時偽造的大量虛假內部IP過濾,這樣也可以減輕DdoS的攻擊。
  
  (8)限制SYN/ICMP流量
  用戶應在路由器上配置SYN/ICMP的最大流量來限制SYN/ICMP封包所能占有的最高頻寬,這樣,當出現大量的超過所限定的SYN/ICMP流量時,說明不是正常的網絡訪問,而是有黑客入侵。早期通過限制SYN/ICMP流量是最好的防范DOS的方法,雖然目前該方法對於DdoS效果不太明顯了,不過仍然能夠起到一定的作用。
  

尋找機會應對攻擊
  如果用戶正在遭受攻擊,他所能做的抵御工作將是非常有限的。因為在原本沒有准備好的情況下有大流量的災難性攻擊沖向用戶,很可能在用戶還沒回過神之際,網絡已經癱瘓。但是,用戶還是可以抓住機會尋求一線希望的。
  
  (1)檢查攻擊來源,通常黑客會通過很多假IP地址發起攻擊,此時,用戶若能夠分辨出哪些是真IP哪些是假IP地址,然后了解這些IP來自哪些網段,再找網網管理員將這些機器關閉,從而在第一時間消除攻擊。如果發現這些IP地址是來自外面的而不是公司內部的IP的話,可以采取臨時過濾的方法,將這些IP地址在服務器或路由器上過濾掉。
  
  (2)找出攻擊者所經過的路由,把攻擊屏蔽掉。若黑客從某些端口發動攻擊,用戶可把這些端口屏蔽掉,以阻止入侵。不過此方法對於公司網絡出口只有一個,而又遭受到來自外部的DdoS攻擊時不太奏效,畢竟將出口端口封閉后所有計算機都無法訪問internet了。
  
  (3)最后還有一種比較折中的方法是在路由器上濾掉ICMP。雖然在攻擊時他無法完全消除入侵,但是過濾掉ICMP后可以有效的防止攻擊規模的升級,也可以在一定程度上降低攻擊的級別。
————————————————
原文鏈接:https://blog.csdn.net/wozaixiaoximen/article/details/51062561


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM