關鍵詞:DoS 網絡協議 服務資源 攻擊類別linux
DoS攻擊原理
DoS攻擊是指利用網絡協議漏洞或其餘系統以及應用軟件的漏洞耗盡被攻擊目標資源,使得被攻擊的計算機或網絡沒法正常提供服務,直至系統中止響應甚至崩潰的攻擊方式,即攻擊者經過某種手段,致使目標機器或網絡中止向合法用戶提供正常的服務或資源訪問。
服務資源:網絡帶寬、磁盤容量、開放的進程和容許的鏈接。數據庫
DoS攻擊成因
- 利用現有網絡協議中存在的缺點
- 利用現有軟件和應用程序自身的漏洞
- 利用合法的服務請求耗盡服務資源
DoS攻擊的分類以下圖所示:segmentfault
如下將對每個攻擊類別作簡要的介紹:windows
攻擊特徵
- 目標主機的網絡上出現大量的SYN包,而沒有相應的應答包
- SYN包的源地址多是僞造的,甚至無規律可循
防止措施
1.針對網絡:緩存
- 防火牆或者路由器能夠在給定時間內只容許有限數量的半開鏈接
- 入侵檢測,能夠發現這樣的DoS攻擊行爲
2.針對主機:安全
- 限制SYN Timeout的時間
- 打補丁:Linux和Solaris使用了一種被稱爲SYN cookie的技術來解決SYN Flood攻擊:在半開鏈接隊列以外另設置了一套機制,使得合法鏈接得以正常繼續
原理
- 直接利用ping包,即ICMP Echo包,有些系統在收到大量比最大包還要長的數據包,會掛起或者死機
攻擊方法
- 直接利用ping工具,發送超大的ping數據包
防止措施
- 打補丁:如今全部的標準TCP/IP實現都已實現對付超大尺寸的包,而且大多數防火牆可以自動過濾這些攻擊,包括:從windows98以後的windows,NT(service pack 3以後),linux、Solaris、和Mac OS都具備抵抗通常ping of death攻擊的能力
- 防火牆能阻止這樣的ping包
攻擊指令
- Windows:ping -l 65570 [IP Addr]
- UNIX:ping –s 65570 [IP Addr]
(合法的包的大小範圍是0-65500)
原理
- 發送一系列高度碎片化的過大的ICMP數據包
- IP碎片攻擊利用那些在TCP/IP協議棧實現中,信任IP碎片中的包的標題頭所包含的信息來實現本身的攻擊。IP分段含有指示該分段所包含的是原包的哪一段的信息,某些TCP/IP(包括service pack 4之前的NT)在收到含有重疊偏移的僞造分段時將崩潰(此部份內容將在下一篇DDoS實踐中詳細說明)
常見的IP碎片程序
- jolt二、teardrop、newtear、syndrop、boink等
防護措施
- 服務器應用最新的服務包,或者在設置防火牆時對分段進行重組,而不是轉發它們
原理
- 向Windows系統的目標端口(5三、13七、13八、139)發送帶外數據,目標主機在處理帶外數據時會出現掛起和重啓動等異常現象,大多數狀況會致使系統死機
防護措施
- 升級補丁
原理
- 各類各樣的假冒攻擊利用簡單的TCP/IP服務,如chargen和Echo來傳送毫無用處的佔滿帶寬的數據
- 經過僞造與某一主機的chargen服務之間的一次的UDP鏈接,回覆地址指向開着Echo服務的一臺主機,這樣就生成在兩臺主機之間的足夠多的無用數據流,若是足夠多的數據流就會致使帶寬耗盡的拒絕服務攻擊
防護措施
- 關掉沒必要要的TCP/IP服務
- 對防火牆進行配置阻斷來自Internet對這些服務的UDP請求
原理
- 在Land攻擊中,構造一個特別的SYN包,它的原地址和目標地址都被設置成某一個服務器地址,此舉將致使接受服務器向它本身的地址發送SYN ACK消息,結果這個地址又發回ACK消息並建立一個空鏈接,每個這樣的鏈接都將保留直到超時掉,對Land攻擊反應不一樣,許多UNIX實現將崩潰,NT變得極其緩慢(大約持續五分鐘)
(這是一種比較老的攻擊,目前大部分操做系統都能避免)防護措施
- 打最新的補丁
- 在防火牆進行配置,將那些在外部接口上入站的含有內部源地址濾掉(包括10域、127域、192.168域、172.16到172.31域)
原理
- 發送大量的ping包耗盡服務資源。前提是掌握足夠多的的肉雞。
(PingFlood和死ping不一樣,一個是發送大小足夠大的包,一個是發送數量足夠多的包)防護措施
- 防火牆
- IP安全策略
攻擊特徵
- 涉及到三方:攻擊者、中間目標網絡、受害者
- 以較小的網絡帶寬資源,經過放大做用,吃掉較大帶寬的受害者系統
- smurf放大器
smuf放大器網絡:不只容許ICMP Echo請求發給網絡的廣播地址,而且容許ICMP Echo-Reply發送回去
樣的公司越多,對Internet的危害就越大服務器實施smurf攻擊
- 須要長期的準備,首先找到足夠多的中間網絡
- 集中向這些中間網絡發出ICMP Echo包
防護措施
針對最終受害者cookie
- 沒有直接的方法能夠阻止本身接收ICMP Echo Reply消息
- 在路由器上阻止這樣的應答消息,可是,路由器自己會遭受DoS攻擊
- 與中間目標網絡聯繫
針對中間網絡網絡
- 關閉外來的IP廣播消息,可是,若是攻擊者從內部機器發起攻擊,仍然不能阻止smurf攻擊
- 配置操做系統,對於廣播地址的ICMP包不響應
原理
- 發送大量的UDP包
防護
- 防火牆
原理
- ARP是地址解析協議,將IP地址轉換爲物理地址,攻擊者向肉雞發送虛假的IP/MAC對應信息,篡改網關MAC地址,使受害者成爲假網關。
修改ARP緩存只能被用於局域網(黑客必須已經得到局域網中某臺機器的訪問權)防護措施
- 網關創建靜態IP/MAC對應關係,各主機創建MAC數據庫
- 創建DHCP服務器
- IDS監聽網絡安全
原理
- DNS用於實現域名解析,也就是將域名對應到相應的IP地址。客戶端以特定的標識ID向DNS服務器發送域名查詢數據包,DNS服務器查詢以後以一樣的ID返回給客戶端響應數據包,攻擊者攔截該響應數據包,並修改其內容,返回給客戶端。將用戶訪問的合法網址重定向到另外一個網址。
防護措施
- 將用戶訪問的合法網址重定向到另外一個網址
- 直接用IP地址鏈接服務器
- 用加密的鏈接訪問服務器,如SSL
注:若想了解ARP欺騙和DNS欺騙的實現可查看上一篇文章四種假消息攻擊分佈式
理論學習到這裏就結束了,雖然這都是一些過期了的DoS攻擊,可是瞭解經典、知其原理才能給本身帶來收穫和靈感,千里之行始於足下,懂得攻擊的原理纔會懂得如何防護,若是你對DoS感興趣,能夠關注個人下一篇文章「拒絕服務攻擊的發展趨勢-DDoS(分佈式拒絕服務攻擊)」,會安利一個簡易的DDoS工具哦。
(注:本人是個剛起步的小菜雞,表達能力也不強,總結得不對的地方還請你們多多包涵,歡迎你們相互交流,共同窗習,一塊兒進步,感激涕零)
【同步更新於:https://www.jianshu.com/p/b9bd3e96f899】