DDos***種類,原理,簡單預防

 

DDoS***基礎

DDoS(Distributed Denial of service,分佈式拒絕服務)***的主要目的是讓指定目標無法提供正常服務,甚至從互聯網上消失,是目前最強大、最難防禦的***之一。

DDos 主要分類:

SYN Flood***,DNS Query Flood***,HTTP Flood ***

 

1  SYN Flood***

SYN Flood***利用了TCP三次握手的缺陷,能夠以較小代價使目標服務器無法響應,且難以追查,

三次握手過程如下:

1 客戶端發送一個包含SYN標誌的TCP報文,報文會指明客戶端端口以及TCP連接的初始序號。

2 服務器收到報文後,會返回一個SYN+ACK報文給客戶端,表示客戶端的請求已經被服務器接收,同時TCP初始化序號自動加一

3 客戶端也會返回一個確認報文ACK 給服務器,同樣TCP序列號也自動加一

這樣tcp 連接就建立完成了。

***原理:

擊者僞裝大量的IP地址給服務器發送SYN報文,由於僞造的IP地址幾乎不可能存在,也就幾乎沒有設備會給服務器返回任何應答了。因此,服務器將會維持一個龐大的等待列表,不停的重試發送SYN+ACK報文,同時佔用着大量的資源無法釋放。更關鍵的是,被***服務器的SYN_RECV隊列被惡意的數據包占滿,不再接受新的SYN請求,合法用戶無法完成三次握手建立起TCP連接。也就是說,這個服務器被SYN Flood拒絕服務了。

預防:

SYN Flood***大量消耗服務器的CPU、內存資源,並佔滿SYN等待隊列。相應的,我們修改內核參數即可有效緩解。主要參數如下:

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_max_syn_backlog = 8192

net.ipv4.tcp_synack_retries = 2

分別爲啓用SYN Cookie、設置SYN最大隊列長度以及設置SYN+ACK最大重試次數

 

2 DNS Query Flood***

***原理:

DNS Query Flood就是***者操縱大量傀儡機器,對目標發起海量的域名查詢請求

預防:

DNS***防禦也有類似HTTP的防禦手段,第一方案是緩存。其次是重發,可以是直接丟棄DNS報文導致UDP層面的請求重發,可以是返回特殊響應強制要求客戶端使用TCP協議重發DNS查詢請求。

特殊的,對於授權域DNS的保護,設備會在業務正常時期提取收到的DNS域名列表和ISP DNS IP列表備用,在***時,非此列表的請求一律丟棄,大幅降低性能壓力。對於域名,實行同樣的域名白名單機制,非白名單中的域名解析請求,做丟棄處理。

 

3 HTTP Flood ***

***原理:

***者並不需要控制大批的傀儡機,取而代之的是通過端口掃描程序在互聯網上尋找匿名的HTTP代理或者SOCKS代理,***者通過匿名代理對***目標發起HTTP請求。匿名代理是一種比較豐富的資源,花幾天時間獲取上午的代理並不是難事,因此***容易發起而且可以長期高強度的持續。

預防:

1 HTTP Flood***防禦主要通過緩存的方式進行,儘量由設備的緩存直接返回結果來保護後端業務。大型的互聯網企業,會有龐大的CDN節點緩存內容。

2 javascript跳轉人機識別方案

當清洗設備截獲到HTTP請求時,返回一段特殊Javascript代碼,正常用戶的瀏覽器會處理並正常跳轉不影響使用,而***程序會***到空處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章