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代碼,正常用戶的瀏覽器會處理并正常跳轉不影響使用,而***程序會***到空處。
轉載于:https://blog.51cto.com/lubing/1059717
總結
以上是生活随笔為你收集整理的DDos***种类,原理,简单预防的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 系统 rpm安装ipvsad
- 下一篇: The RSpec Book笔记《一》初