ddos基礎(chǔ)防護(hù)

DDOS攻擊類型:

1.資源消耗型攻擊:Syn Flood 、UDP Flood、ACK Flood、ICMP Flood、Slowloris慢速連接攻擊

2.服務(wù)消耗型攻擊:CC攻擊

3.反射攻擊:DNS Flood

主要的攻擊介紹:

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

2. Slowloris慢速連接攻擊

慢速攻擊就是要維持跟服務(wù)器的連接,導(dǎo)致正??蛻舳说倪B接不能建立,從而達(dá)到拒絕服務(wù)的目的。

3. Hash碰撞攻擊

所謂的哈希碰撞攻擊就是,針對哈希函數(shù)的特性,精心構(gòu)造數(shù)據(jù),使所有數(shù)據(jù)的哈希值相同,當(dāng)這些數(shù)據(jù)保存到哈希表中,哈希表就會退化為單鏈表,哈希表的各種操作的時間復(fù)雜度提升一個數(shù)量級,因此會消耗大量CPU資源,導(dǎo)致系統(tǒng)無法快速響應(yīng)請求,從而達(dá)到拒絕服務(wù)攻擊(Dos)的目的。

發(fā)起方式:HashTable在所有的Web應(yīng)用框架上都有應(yīng)用,我們對Web應(yīng)用每次發(fā)起請求所提交的參數(shù),服務(wù)器端都會將其存儲在HashTable中供后臺代碼調(diào)用,所以哈希碰撞攻擊的攻擊方式一般都是通過發(fā)送包含大量碰撞鍵值的參數(shù)的post請求,來達(dá)到攻擊的目的。

4. DNS Query Flood

DNS可以分為普通DNS和授權(quán)域DNS,攻擊普通DNS,IP地址需要隨機(jī)偽造,并且指明服務(wù)器要求做遞歸解析;但攻擊授權(quán)域DNS,偽造的源IP地址則不應(yīng)該是純隨機(jī)的,而應(yīng)該是事先收集的全球各地ISP的DNS地址,這樣才能達(dá)到最大攻擊效果。

DNS Query Flood就是攻擊者操縱大量傀儡機(jī)器,對目標(biāo)發(fā)起海量的域名查詢請求。為了防止基于ACL的過濾,必須提高數(shù)據(jù)包的隨機(jī)性。常用的做法是UDP層隨機(jī)偽造源IP地址、隨機(jī)偽造源端口等參數(shù)。在DNS協(xié)議層,隨機(jī)偽造查詢ID以及待解析域名。隨機(jī)偽造待解析域名除了防止過濾外,還可以降低命中DNS緩存的可能性,盡可能多地消耗DNS服務(wù)器的CPU資源。

5. HTTP Flood(CC攻擊)

通過端口掃描程序在互聯(lián)網(wǎng)上尋找匿名的HTTP代理或者SOCKS代理,攻擊者通過匿名代理對攻擊目標(biāo)發(fā)起HTTP請求。

HTTP Flood攻擊在HTTP層發(fā)起,極力模仿正常用戶的網(wǎng)頁請求行為,與網(wǎng)站業(yè)務(wù)緊密相關(guān),安全廠商很難提供一套通用的且不影響用戶體驗(yàn)的方案。在一個地方工作得很好的規(guī)則,換一個場景可能帶來大量的誤殺。

  1. ACK Flood

當(dāng)建立完TCP連接后,所有的數(shù)據(jù)傳輸TCP報文都是帶有ACK標(biāo)志位的,主機(jī)在接收到一個帶有ACK標(biāo)志位的數(shù)據(jù)包的時候,需要檢查該數(shù)據(jù)包所表示的連接四元組是否存在(查TCP連接表,增加cpu耗時),如果存在則檢查該數(shù)據(jù)包所表示的狀態(tài)是否合法,然后再向應(yīng)用層傳遞該數(shù)據(jù)包。如果在檢查中發(fā)現(xiàn)該數(shù)據(jù)包不合法,例如該數(shù)據(jù)包所指向的目的端口在本機(jī)并未開放,則主機(jī)操作系統(tǒng)協(xié)議棧會回應(yīng)RST包告訴對方此端口不存在。

DDOS防御:

架構(gòu)優(yōu)化:

  •   對于部署在云端的系統(tǒng),可以使用云解析,優(yōu)化DNS的智能解析
    
  •   使用LB,通過負(fù)載均衡來減緩CC攻擊的影響,同時也能將訪問用戶均衡分配到各個web服務(wù)器上,減少單個web服務(wù)器的壓力,加快服務(wù)器的響應(yīng)速度。
    
  •   使用專有網(wǎng)絡(luò)VPC,防止內(nèi)網(wǎng)攻擊
    
  •   做好服務(wù)器的性能測試,評估正常業(yè)務(wù)環(huán)境下能承受的帶寬和請求數(shù),確??梢噪S時彈性擴(kuò)容
    
  •   使用ip代理服務(wù)器,隱藏服務(wù)器的真實(shí)ip地址,防止泄露服務(wù)器的ip
    

服務(wù)器安全加固:

  •   限制同時打開的SYN半連接數(shù)目,縮短SYN半連接的timeout時間,限制SYN流量
    
  •   禁用ICMP。僅在需要測試時開放ICMP
    
  •   控制TCP連接,通過iptables軟件防火墻來限制某些IP的新建連接
    
  •   控制某些IP的速率
    

針對性的防御措施

  1. SYN FLOOD防御:

修改內(nèi)核參數(shù):

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_max_syn_backlog = 8192

net.ipv4.tcp_synack_retries = 2

分別為啟用SYN Cookie、設(shè)置SYN最大隊列長度以及設(shè)置SYN+ACK最大重試次數(shù)。

  1. Slowloris慢速連接防御

對于這種慢速攻擊的防御,可以簡單的依據(jù)其特征,修改些參數(shù)即可,包括:限制單機(jī)IP的連接數(shù)、限制http request header/body 的超時時間、包括其頭部包含的字段也是其特征。

  1. Hash碰撞攻擊防護(hù)
  •   限制post請求的個數(shù)
    
  •   限制沖突鏈表的長度
    
  1. DNS FLOOD 防御:

普通DNS

緩存,將緩存的ip地址返回給后端業(yè)務(wù)
重發(fā):丟棄DNS報文導(dǎo)致UDP層面的重發(fā),返回特殊響應(yīng)強(qiáng)制要求客戶端使用TCP協(xié)議重發(fā)
授權(quán)域DNS:

   對于授權(quán)域DNS的保護(hù),設(shè)備會在業(yè)務(wù)正常時期提取收到的DNS域名列表和ISP DNS IP列表備用,在攻擊時,非此列表的請求一律丟棄,大幅降低性能壓力。
  1. HTTP FLOOD防御:

通過緩存來做,將設(shè)備的緩存來直接返回給后端業(yè)務(wù)
緩存擊穿,對源ip的http請求頻率做統(tǒng)計,高于一定頻率的IP地址加入黑名單,但是這樣會帶來誤殺。因此,此方案已經(jīng)被廢棄。取而代之的是JavaScript跳轉(zhuǎn)人機(jī)識別方案。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • http://www.xfocus.net/articles/200106/208.htmlhttp://www....
    魚仔_1625閱讀 6,401評論 1 0
  • DDoS攻擊按流量大小可以分三類: 第一類以力取勝,海量數(shù)據(jù)包從互聯(lián)網(wǎng)的各個角落蜂擁而來,堵塞IDC入口,讓...
    吳偉_老格閱讀 7,450評論 1 1
  • 1. DDoS簡介: 1.1 DdoS定義: DDOS是什么?分布式拒絕服務(wù)(DDoS:Distributed D...
    木木是個乖寶寶閱讀 4,375評論 2 9
  • 此篇文章非原創(chuàng),發(fā)現(xiàn)這篇文章寫的非常不錯,所以就轉(zhuǎn)載過來,并整理了一下,希望能幫助到更多的人。原帖地址:點(diǎn)擊查看原...
    Jewel591閱讀 5,560評論 0 18
  • 有專家說鈞瓷在宋代就享有“黃金有價鈞無價”,“縱有家產(chǎn)萬貫,不如鈞瓷一件”之盛譽(yù),雖不可全信,但至少說宋代鈞瓷器很...
    吾吾齋閱讀 244評論 0 0

友情鏈接更多精彩內(nèi)容