国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

HTTP Flood攻擊與防御原理

這篇具有很好參考價值的文章主要介紹了HTTP Flood攻擊與防御原理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一.引言

HTTP Flood攻擊 DDoS的一種,別稱叫做CC攻擊(CC是Challenge Collapsar的縮寫,而Collapsar是國內一家著名安全公司的DDoS防御設備) 是針對Web服務在 第七層協(xié)議發(fā)起的攻擊,重點在于突破前端的cache,通過HTTP頭中的字段設置直接到達Web Server本身.第七層主要是 應用層,是一些終端的應用,比如(各種文件下載)、瀏覽器、QQ等,可以將其理解為在電腦屏幕上可以看到的東西,也就是我們常說的終端應用。HTTP Flood攻擊的巨大危害性主要表現(xiàn)在三個方面:發(fā)起方便、過濾困難、影響深遠。一般的攻擊者會選擇搜索之類需要做大量數(shù)據查詢的頁面作為攻擊目標,可以消耗服務器盡可能多的資源。攻擊時盡量選擇正常用戶也通過APP訪問的頁面,一般來說就是各種Web API。正常用戶和惡意流量都是來源于APP,人機差別很小,基本融為一體難以區(qū)分

二.攻擊原理

攻擊者通過端口掃描程序在互聯(lián)網上尋找匿名的HTTP 代理(代理是一種比較豐富的資源,花幾天時間獲取代理并不是難事,因此攻擊容易發(fā)起而且可以長期高強度的持續(xù))或者SOCKS代理或僵尸主機向目標服務器發(fā)起大量的 HTTP報文請求,請求涉及 數(shù)據庫操作的URI(Universal Resource Identifier)或 其它消耗系統(tǒng)資源的URI,并且攻擊在HTTP層發(fā)起,極力模仿正常用戶的網頁請求行為,與網站業(yè)務緊密相關,安全廠商很難提供一套通用的且不影響用戶體驗的方案,從而造成服務器資源耗盡,無法響應正常請求,這個攻擊類型和一種網絡攻擊有點像,就是 CC攻擊(Challenge Collapsar),兩者區(qū)別就在于一個是 消耗系統(tǒng)資源,一個是發(fā)送大量數(shù)據包 消耗服務器資源,都是打的持續(xù)仗,最終使服務器無法響應正常請求為止.HTTP Flood攻擊會引起嚴重的連鎖反應,不僅僅是直接導致被攻擊的Web前端響應緩慢,還間接攻擊到后端的業(yè)務層邏輯以及更后端的數(shù)據庫服務,增大它們的壓力,甚至對日志存儲服務器都帶來影響。例如門戶網站經常受到的HTTP Flood攻擊,攻擊的最大特征就是選擇消耗服務器CPU或內存資源的URI,如具有數(shù)據庫操作的URI
HTTP Flood攻擊與防御原理

三.防御原理

  • HTTP Flood源認證

源認證防御方式是防御HTTP Flood最常用的手段,這種防御方式適用于客戶端為瀏覽器的HTTP服務器場景,因為瀏覽器支持完整的HTTP協(xié)議棧,可以正?;貞囟ㄏ驁笪幕蛘呤球炞C碼,Anti-DDoS設備基于目的IP地址對HTTP報文進行統(tǒng)計,當HTTP報文達到設定的告警閾值時,啟動源認證防御功能,源認證防御包含以下三種方式:
  • 基本模式(META刷新)

該模式可有效阻止來自非瀏覽器客戶端的訪問,如果僵尸工具沒有實現(xiàn)完整的HTTP協(xié)議棧,不支持自動重定向,無法通過認證。而瀏覽器支持自動重定向,可以通過認證,處理過程如圖所示,該模式不會影響用戶體驗,但防御效果低于增強模式
HTTP Flood攻擊與防御原理
當網絡中有HTTP代理服務器時,只要有一次源認證通過,Anti-DDoS設備就會將代理服務器IP地址加入白名單,后續(xù)僵尸主機通過使用代理服務器就會繞開源認證,導致防御失效。在這種有代理服務器的網絡中,建議開啟代理檢測功能,檢測HTTP請求是否為通過代理發(fā)出的請求。如果是,Anti-DDoS設備會從HTTP報文中獲取請求者的實際IP地址,將通過認證的真實IP地址和代理服務器IP地址加入白名單,后續(xù)只有此實際源IP地址發(fā)送的報文才能直接通過,其他源IP發(fā)送報文時,Anti-DDoS設備會對其進行源認證,達到防御效果。
  • 增強模式(驗證碼認證)

有些僵尸工具實現(xiàn)了重定向功能,或者攻擊過程中使用的免費代理支持重定向功能,導致基本模式的防御失效,通過推送驗證碼的方式可以避免此類防御失效。此時通過讓用戶輸入驗證碼,可以判斷HTTP訪問是否由真實的用戶發(fā)起,而不是僵尸工具發(fā)起的訪問。因為僵尸網絡攻擊依靠自動植入PC的僵尸工具發(fā)起,無法自動響應隨機變化的驗證碼,故可以有效的防御攻擊。為避免防御對正常用戶體驗的影響,此防御方式僅對超過源訪問閾值的異常源實施。具體處理過程如圖所示
HTTP Flood攻擊與防御原理
注意:
源認證對于機頂盒做視頻點播場景防護、或者部分移動網絡防護不適用。當客戶端是機頂盒、特定移動網絡時,客戶端無法輸入驗證碼,建議使用動態(tài)指紋學習或URI監(jiān)控防御
  • 302重定向模式

基本模式中的重定向功能只能對整個網頁進行重定向,不能針對網頁中的內嵌資源(比如:圖片)進行重定向。當用戶請求的頁面與頁面內嵌資源不在同一個服務器上,內嵌資源所在服務器發(fā)生異常時,可以對嵌套資源服務器啟動302重定向防御,探測訪問源是否為真實瀏覽器。真實瀏覽器支持重定向功能,可以自動完成重定向過程,不會影響客戶體驗,如果在允許的認證時間周期內,對同一源IP地址的認證次數(shù)大于最大值時,則將該源IP地址判定為攻擊源,加入動態(tài)黑名單
  • HTTP源統(tǒng)計

HTTP源統(tǒng)計是在基于目的IP流量異常的基礎上,再啟動針對源IP流量進行統(tǒng)計。Anti-DDoS設備首先對到達目的IP的流量進行統(tǒng)計,當目的IP流量觸發(fā)告警閾值時,再啟動到達這個目的IP的每個源的流量進行統(tǒng)計,判定具體某個源流量異常,并對源IP的流量進行限速。
HTTP源統(tǒng)計功能可以更準確的定位異常源,并對異常源發(fā)出的流量進行限速。
  • URI監(jiān)測

URI監(jiān)測是HTTP源認證防御的補充功能,當通過HTTP源認證的流量還是超過閾值時,可以啟用URI監(jiān)測。Anti-DDoS設備對HTTP源認證過程中加入白名單的源IP也會進行URI監(jiān)測。
當指定時間內,某個URI的訪問流量超過一定閾值時,Anti-DDoS設備啟動針對源IP的URI行為監(jiān)測。當這個源IP地址對某個URI的訪問數(shù)與總訪問數(shù)的比例超過閾值時,則將該源IP地址作為攻擊源并加入動態(tài)黑名單。在配置URI監(jiān)測時,可將消耗內存或計算資源多、容易受攻擊的URI加入“重點監(jiān)測URI”列表。
  • URI源指紋學習功能

指紋學習方法適用于攻擊源訪問的URI比較固定。因為如果要形成攻擊效果,攻擊者一般都事先探測,找到容易消耗系統(tǒng)資源的URI作為攻擊目標,然后一個攻擊源的一個會話上會有多個針對該URI的請求,最終呈現(xiàn)為該源對選定的URI發(fā)送大量的請求報文。動態(tài)指紋學習正是基于這個原理,Anti-DDoS設備對源訪問的URI進行指紋學習,找到攻擊目標URI指紋,如果對該URI指紋的命中次數(shù)高于設置的閾值就將該源加入黑名單。

四.防御方法

1.主動抑制

為了讓Nginx支持更多的并發(fā)連接數(shù),根據實際情況對工作進程數(shù)和每個工作進程支持的最大連接數(shù)進行調整。例如設置“ worker_processes 10”和“worker_connections 1024”,那這臺服務器支持的最大連接數(shù)就是10×1024=10240。
worker_processes 10;
events {
        use epoll;
        worker_connections 1024;
}
Nginx 0.7開始提供了2個限制用戶連接的模塊: NginxHttpLimitZoneModuleNginxHttpLimitReqModule
NginxHttpLimitZoneModule可以根據條件進行并發(fā)連接數(shù)控制

例如可以定義以下代碼:

http {
     limit_zone   my_zone  $binary_remote_addr  10m;
    server {
             location   /somedir/   {
                       limit_conn   my_zone  1;
            }
   }
}
其中“l(fā)imit_zone my_zone $binary_remote_addr 10m” 的意思是 定義一個名稱為my_zone的存儲區(qū)域、 my_zone中的內容為遠程IP地址、my_zone的大小為10M;“ location /somedir/” 的意思是針對somedir目錄應用規(guī)則;“ limit_conn my_zone 1”的意思是針對上面定義的my_zone 記錄區(qū)記錄的IP地址在指定的目錄中只能建立一個連接
NginxHttpLimitReqModule可以根據條件進行請求頻率的控制

例如可以定義以下代碼:

http {
       limit_req_zone   $binary_remote_addr   zone=my_req_zone:  10m   rate=1r/s;
       ...
       server  {
            ...
            location /somedir/  {
                        limit_req_zone   zone= my_req_zone  burst=2;
        }
其中“l(fā)imit_req_zone $binary_remote_addr zone=my_req_zone:10m rate=1r/s” 的意思是定義一個名稱為 my_req_zone的存儲區(qū)域,my_req_zone內容為遠程IP地址,my_req_zone大小為 10M,my_req_zone中的平均請求速率只能為1個每秒;“ location /somedir/ ” 的意思是針對somedir目錄應用規(guī)則;“l(fā) imit_req_zone zone= my_req_zone burst=2”的意思是針對上面定義的my_req_zone記錄區(qū)記錄的IP地址在請求指定的目錄中的內容時最高2個每秒的突發(fā)請求速率。
當有連接觸發(fā)上訴規(guī)則時,Nginx會報“503 Service Temporarily Unavailable”的錯誤,停止用戶請求。返回一個503,對服務器來說影響不大,只占用一個nginx的線程而已,相對來說還是很劃算的

2.被動防御

主動防御已經抵擋了大多數(shù)HTTP GET FLOOD攻擊,但攻擊者會總會找到薄弱的環(huán)節(jié)進行攻擊,所以我在這里介紹一下被動防御的一些方法

(1).封IP地址

訪問者通過瀏覽器正常訪問網站,與服務器建立的連接一般不會超過20個,可以通過腳本禁止連接數(shù)過大的IP訪問.
以下腳本通過netstat命令列舉所有連接,將連接數(shù)最高的一個IP如果連接數(shù)超過150,則通過 iptables阻止訪問
#!/bin/sh
status=`netstat -na|awk '$5 ~ /[0-9]+:[0-9]+/ {print $5}' |awk -F ":" -- '{print $1}' |sort -n|uniq -c |sort -n|tail -n 1`
NUM=`echo $status|awk '{print $1}'`
IP=`echo $status|awk '{print $2}'`
result=`echo "$NUM > 150" | bc`
if [ $result = 1 ]
then
  echo IP:$IP is over $NUM, BAN IT!
  /sbin/iptables -I INPUT -s $IP -j DROP
fi

運行crontab -e,將上述腳本添加到crontab每分鐘自動運行:

* * * * * /root/xxxx.sh

通過apache自帶的ab工具進行服務器壓力測試:

ab -n 1000 -c 100 http://www.xxx.com/index.php

測試完成后,就可以看到系統(tǒng)中有IP被封的提示:

[root@xxxxxx ~]#tail /var/spool/mail/root
Content-Type: text/plain; charset=ANSI_X3.4-1968
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <;PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>

IP:58.246.xx.xx is over 1047, BAN IT!

至此,HTTP GET FLOOD防御成功

(2).根據特征碼屏蔽請求(對CC攻擊效果較好)

一般同一種CC攻擊工具發(fā)起的攻擊請求包總是相同的,而且和正常請求有所差異。當服務器遭遇CC攻擊時,可以快速查看日志,分析其請求的特征,比如User-agent。
下面的是某一次CC攻擊時的User-agent
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; MyIE 3.01)Cache-Control: no-store, must-revalidate

幾乎沒有正常的瀏覽器會在User-agent中帶上“must-revalidate”這樣的關鍵字,所以可以以這個為特征進行過濾,將User-agent中帶有“must-revalidate”的請求全部拒絕訪問,在nginx配置里面的代碼如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-419409.html

if ($http_user_agent ~ must-revalidate) {
       return 403;
}

到了這里,關于HTTP Flood攻擊與防御原理的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • OWASP TOP 10漏洞的原理 和攻擊方式以及防御方法

    OWASP TOP 10漏洞是指由Open Web Application Security Project(OWASP)組織發(fā)布的當前最嚴重、最普遍的10種Web應用程序安全漏洞。以下是每種漏洞的原理、攻擊方式和防御方法。 注入漏洞(Injection) 原理:攻擊者向應用程序中輸入惡意代碼,使其執(zhí)行未經授權的操作。 攻擊方式:SQL注

    2024年02月07日
    瀏覽(29)
  • TCP Flood攻擊實驗

    TCP Flood攻擊實驗

    ?本實驗方法一定不要用來攻擊公網的服務器,僅能在自己的虛擬機里進行操作!不然可能構成違法行為,大家一定注意!?。。。。。。。。?!? 實驗準備: 兩臺虛擬機,Kali和windows 2016 server; GNS3軟件; ?之后再點擊更改設置 之后添加網絡,VMnet1和VMnet2。記得一定要將使

    2024年02月08日
    瀏覽(21)
  • UDP Flood攻擊實驗

    UDP Flood攻擊實驗

    本實驗方法一定不要用來攻擊公網的服務器,僅能在自己的虛擬機里進行操作!不然可能構成違法行為,大家一定注意?。。。?! 實驗準備: Kali虛擬機; win10虛擬機; Win 2016 servers虛擬機; GNS3。? ?之后再點擊更改設置 之后添加網絡,VMnet1和VMnet2。記得一定要將使用本地

    2023年04月08日
    瀏覽(20)
  • 網絡協(xié)議與攻擊模擬_06攻擊模擬SYN Flood

    網絡協(xié)議與攻擊模擬_06攻擊模擬SYN Flood

    在TCP三次握手過程中, 客戶端發(fā)送一個SYN包給服務器 服務端接收到SYN包后,會回復SYN+ACK包給客戶端,然后等待客戶端回復ACK包。 但此時客戶端并不會回復ACK包,所以服務端就只能一直等待直到超時。服務端超時后會重發(fā)SYN+ACK包給客戶端,默認會重試5次,而且每次等待的時

    2024年01月24日
    瀏覽(88)
  • 【云計算網絡安全】解析DDoS攻擊:工作原理、識別和防御策略 | 文末送書

    【云計算網絡安全】解析DDoS攻擊:工作原理、識別和防御策略 | 文末送書

    在今天的云計算數(shù)字時代,網絡安全問題變得愈發(fā)重要。尤其是云計算中所設計到的網絡安全問題,其中一種常見的網絡威脅是分布式拒絕服務(DDoS)攻擊。DDoS攻擊旨在通過大規(guī)模的網絡流量淹沒目標服務器或網絡,以破壞正常的在線服務。了解DDoS攻擊的工作原理以及如何

    2024年02月09日
    瀏覽(38)
  • DDOS滲透與攻防(二)之SYN-Flood攻擊

    DDOS滲透與攻防(二)之SYN-Flood攻擊

    系列文章 DDOS滲透與攻防(一)之拒絕服務攻擊概念介紹 (1).攻擊協(xié)議原理介紹說明_Syn-Flood SYN Flood (SYN洪水) 是種典型的DoS (Denial of Service,拒絕服務) 攻擊。效果就是服務器TCP連接資源耗盡,停止響應正常的TCP連接請求。 說到原理,還得從TCP如何建立連接(Connection)講起。通信的雙

    2024年02月02日
    瀏覽(21)
  • HTTP慢連接攻擊的原理和防范措施

    HTTP慢連接攻擊的原理和防范措施

    隨著互聯(lián)網的快速發(fā)展,網絡安全問題日益凸顯,網絡攻擊事件頻繁發(fā)生。其中,HTTP慢速攻擊作為一種隱蔽且高效的攻擊方式,近年來逐漸出現(xiàn)的越來越多。 為了防范這些網絡攻擊,我們需要先了解這些攻擊情況,這樣才能方便我們對癥下藥,選擇合適的安全解決方案。作

    2024年04月28日
    瀏覽(17)
  • 慢速 HTTP 攻擊 Slow HTTP Attack漏洞原理以及修復方法

    漏洞名稱 :Slow Http attack、慢速攻擊 漏洞描述 :慢速攻擊基于HTTP協(xié)議,通過精心的設計和構造,這種特殊的請求包會造成服務器延時,而當服務器負載能力消耗過大即會導致拒絕服務。HTTP協(xié)議規(guī)定,HTTP Request以rnrn(0d0a0d0a)結尾表示客戶端發(fā)送結束,服務端開始處理。那

    2024年01月19日
    瀏覽(18)
  • 什么的零日攻擊,如何防御零日攻擊

    什么的零日攻擊,如何防御零日攻擊

    零日漏洞通常是指還沒有補丁的安全漏洞,零日攻擊則是指利用零日漏洞對系統(tǒng)或軟件應用發(fā)動的網絡攻擊。由于零日漏洞的嚴重級別通常較高,所以零日攻擊往往也具有很大的破壞性。目前,任何安全產品或解決方案都不能完全防御住零日攻擊。但是,通過建設完善的防御

    2024年04月10日
    瀏覽(18)
  • 安全防御 --- DDOS攻擊(01)

    安全防御 --- DDOS攻擊(01)

    DOS攻擊(deny of service)--- 拒絕式服務攻擊 例:2016年10月21日,美國提供動態(tài)DNS服務的DynDNS遭到DDOS攻擊,攻擊導致許多使用DynDNS服務的網站遭遇訪問問題,此事件中,黑客人就是運用了DNS洪水攻擊手段。 1?流量型攻擊:Flood方式攻擊 耗盡網絡帶寬 耗盡服務器資源 流量型攻擊

    2024年02月13日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包