欧美日日操,日日爱网站,99久久久久久久,日本高清不卡免费,久久免费观看国产精品,秋霞在线观看视频一区二区三区

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

用CAR(承諾訪問速率)來防止Smurff攻擊

發布時間:  2012/5/28 19:48:35
TCP/IP協議在設計之初,沒有過多的考慮安全這一方面,因此許多協議存在著被黑客利用的弱點。隨著互聯網絡急劇的膨脹,這些弱點將對我們的企業網絡構成日益嚴峻的威脅。一個很好的例子就是TCP協議,這個協議要求在傳輸數據之前使用一個“三次握手”過程來建立一個連接。如下圖所示.
                                                                source                   destination
 
                                                                                syn=x
                                                                             ------------>
                                            
                                                                              ack=x+1
                                                                            <------------
                                                                                 syn=y
 
                                                                               ack=y+1
                                                                              ------------>
                                                                               syn=x+1
 
 
source端最初發送一個syn=x的報文,請求建立一個TCP連接。
destination端以一個在報文頭中設置了ack,syn標記的報文作為響應。
ack標記是對source端請求的響應,syn標記指示自身的連接建立請求。
source端通過向destination端發送一個帶ack標記的報文確認目的端的連接建立請求。
當完成上述“三次握手”之后,source端可以開始正式發送數據給destination端。
 
TCP協議中的弱點之一是目的端期望源端發送一個最后的ack給目的端,完成連接的建立。黑客可以利用這個弱點,通過偽造一個虛假的sourceIP地址向一個目標服務器發送大量的tcp syn請求報文,由于source是虛假的,將會導致destination無法收到source返回的ack,這種連接類型被稱為半開連接(Half-Open Connection)。這樣將導致destination端的資源被大量占用,從而致使目的端為新的服務拒絕連接,這就是有名的拒絕服務攻擊(Denial of Service Attack)。
 
網絡攻擊的分類:
1.偵測攻擊
  從嚴格意義上講,偵測攻擊不能算是真正的攻擊,它主要指黑客利用各種手段對網絡中的具體的信息(網絡拓樸、網絡內的主機、主機上開啟的服務)進行偵測,但是偵測攻擊往往是真正攻擊的前奏。
2.訪問攻擊
  在這種攻擊中,黑客企圖獲得對網絡和網絡資源的未經授權的或非法的訪問,尤其是如file、e-mail、web服務器這樣的資源。
3.DOS攻擊
  使用DOS攻擊,黑客企圖拒絕到特定資源的合法流量和用戶訪問,或者至少降低對資源的服務質量。
  DOS攻擊除了TCP的half-open connection以外,還有象基于TCP syn、UDP echo、ICMP echo的flood攻擊。
  緩解DOS攻擊的方法很多,比如說用ACL,URPF等技術都可以實現,但本專題僅專注于用traffic-police(流量策略)技術實現。
 
traffic-police可以執行兩個基本功能:
1.速率限制
2.流量分類
 
traffic-police的命令結構如下(在MQC配置模式):
police conform-action exceed-action [violate-action ]
 
:CIR。(定義了向token buckets中注入token的平均數率)
:BC。(定義了BC token buckets的大小)
:BE。(定義了BE token buckets的大小)
:定義行為,可選的一部分行為如下:
?drop—Drops the packet.
?set-prec-transmit —Sets the IP precedence and sends the packet.
?set-dscp-transmit —Sets the DSCP value and transmits the packet.
?transmit—Sends the packet.
 
 
當實施流量策略的時候,在CISCO路由器內部將會有一套非常復雜的用來對流量傳輸的實際速率進行評估的機制,這是利用被稱為令牌桶(toke-bucket)的機制來實現,CISCO設備支持多種類型的令牌桶,如單桶和雙桶。
單桶的特征如下:
                                     
            
 
桶的大小就是BC,并且在初始的時刻桶內就裝滿了BC byte的令牌。
在令牌桶的上方,CISCO路由器將以恒定于CIR的速率往桶內注入令牌。
在令牌桶的下方,CISCO路由器將會根據底層實際需要傳遞的數據包的數量來決定需要從令牌桶中流出多少byte的令牌。
因此,不難發現,可能會出現下列幾種情況:
1)      BC桶內當前令牌數量>=路由器底層實際需要傳輸的數據包的數量
這種情況,將會觸發conform-action行為,通常是transmit。表明桶內令牌數量足夠。
2)      BC桶內當前令牌數量<路由器底層實際需要傳輸的數據包的數量
這種情況,將會觸發exceed-action行為,通常是drop。表明桶內令牌數量不夠。
 
雙桶特征如下:
                                     
 
 
第一個桶的大小就是BC,并且在初始的時刻桶內就裝滿了BC byte的令牌。
第二個桶的大小就是BE,并且也是在初始的時刻桶內就裝滿了BE byte的令牌。
這兩個桶之間的關聯是:如果新注入的令牌將BC桶裝滿,那么富裕的令牌將從BC桶注入進BE桶。
在Bc桶的上方,CISCO路由器將以恒定于CIR的速率往bc桶內注入令牌。
在每個桶的下方,CISCO路由器將會根據底層實際需要傳遞的數據包的數量來決定需要從令牌桶中流出多少byte的令牌。
因此,不難發現,可能會出現下列幾種情況:
1)      BC桶內當前令牌數量>=路由器底層實際需要傳輸的數據包的數量
這種情況,將會觸發conform-action行為,表明BC桶內令牌數量足夠。
2)      BC桶內當前令牌數量<路由器底層實際需要傳輸的數據包的數量
這種情況,將會觸發exceed-action行為,表明BC桶內令牌數量不夠,但是BE桶內令牌數量足夠。
3)        BE桶內婁前令牌數量<路由器底層實際需要傳輸的數據包的數量,將會觸發violate-action行為,表明BC和BE每個桶都不夠。
 
接下來,我們將用兩個具體的實例來說明CAR的工作原理。
實例1:
在這個例子中,traffic policing被配置為CIR 8000bit/s , BC被配置為1000byte,
初始到達一個450字節的數據包,0.25秒之后,到達一個900字節的數據包。
police被關聯在fa0/0的output方向。
 
Router(config)# class-map access-match
Router(config-cmap)# match access-group 1
Router(config-cmap)# exit
Router(config)# policy-map police-setting
Router(config-pmap)# class access-match
Router(config-pmap-c)# police 8000 1000 conform-action transmit exceed-action drop
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)# interface fastethernet 0/0
Router(config-if)# service-policy output police-setting
 
     在這個例子中,初始的token buckets中裝滿1000byte的tokens,如果在初始階段到達450字節的數據包,那么需要從token bucket中流出450字節的tokens, 此時,token buckets中剩余(1000-450)byte=550字節的tokens,token bucket中的token數量有富裕,將觸發comform-action行為,450字節的數據包將被transmit。0.25秒之后,一個800字節的數據包到達,在0.25秒的時間間隔之內,token buckets中將注入(8000bps/8)*0.25s=250字節的tokens,此時,token buckets中共剩余(550+250)byte=800字節的tokens, 由于到達的數據包的大小為900字節,需要從token buckets中流出相應字節的token數,而此時,token buckets中的token數量不夠,將會觸發exceed-action行為,此900字節大小的數據包將被drop。
 
重要結論:通過以上分析,我們不難發現,數據包被傳輸還是被丟棄,實際上不僅僅取決于數據包自身的大小,還取決于兩個連續數據包之間的時間間隔。
 
實例2:
在這個例子中,traffic policing被配置為CIR 8000bit/s , BC被配置為1000bytes,BE被配置為1000bytes。
初始到達一個450字節的數據包,0.25秒之后,到達一個900字節的數據包。
0.4秒之后,到達一個1000字節的數據包,0.2秒之后,到達一個400字節的數據包。
police被關聯在fa0/0的output方向。
 
Router(config)# class-map access-match
Router(config-cmap)# match access-group 1
Router(config-cmap)# exit
Router(config)# policy-map police-setting
Router(config-pmap)# class access-match
Router(config-pmap-c)# police 8000 1000 1000 conform-action transmit exceed-action set-prec-transmit 1  violate-action drop
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)# interface fastethernet 0/0
Router(config-if)# service-policy output police-setting
 
     在這個例子中,初始的token buckets中裝滿1000byte的token,如果在初始階段到達450字節的數據包,那么需要從token bucket中流出450字節的tokens, 此時,token buckets中剩余(1000-450)byte=550字節的token,token bucket中的token數量有富裕,將觸發comform-action行為,450字節的數據包將被transmit。0.25秒之后,一個800字節的數據包到達,在0.25秒的時間間隔之內,token buckets中將注入(8000bps/8)*0.25s=250字節的token,此時,token buckets中共剩余(550+250)byte=800字節的token , 由于到達的數據包的大小為900字節,需要從token buckets中流出相應字節的token數,而此時,BC桶中的token只有800字節,數量不夠,但是BE桶中有1000字節,路由器會直接向BE桶借900字節的token,此時,BC桶中token數量不夠,但是BE桶中token數量足夠,將觸發exceed-action行為,900字節的數據包將會被set-prec-transmit 1。900字節的數據包被處理完成之后,BC桶中剩余800字節的tokens,BE桶中剩余100字節的tokens。0.4秒之后又到達一個1000字節大小的數據包,在這0.4秒之內,BC桶中將被新注入(8000bps/8*0.4)=400bytes的token,BC桶現在800字節的token,BC桶最多只能容納1000字節的token,故路由器先將BC桶注滿(增加200bytes的tokens,BC桶此時共1000字節的tokens),多余的200字節的tokens將被注入進BE桶(增加200bytes的tokens,BE桶共300字節的tokens)。當把1000字節的數據包傳遞之后,BC桶中的剩余的tokens數量剛好為0,BE桶中的token數量保持不變(300字節),將會觸發conform-action行為,此數據包將被transmit。0.2秒之后又到達一個400字節的數據包,在這0.2秒之內,BC桶中將新注入(8000bps/8*0.2)=200bytes的tokens,此時BC桶中總的tokens數量為200bytes的tokens,BE桶中共有300bytes的tokens,需要傳遞的數據包為400字節,BC桶、BE桶中的tokens數量都不夠,此時,將會觸發violate-action行為,此數據包將被drop。
在深入理解了Traffic-Police的工作原理之后,接下來我們講述一個利用此技術緩解smurf攻擊的實例。
smurf攻擊的工作原理:
 
 
                  
 
            
                                             
    Internet中有兩臺真實PC,一臺H11的IP地址為1.1.1.1,另一臺H33的IP地址為3.3.3.3,R1后方的ethernet網絡內有一個以太網段192.168.20.0/24,假設主機H11是一個攻擊者,它發起一個到子網192.168.20.0的ICMP echo廣播報文,報文的源IP地址被偽造成他想要攻擊的PC H33的IP地址3.3.3.3,目的地址為192.168.20.255(子網廣播地址),當R1后方網段內的每臺主機收到此廣播報文后,都將作出相同的響應:返回單播報文,此報文的目的地址為3.3.3.3(此時,R1后方的ethernet網絡被攻擊者利用,成為一個攻擊的放大器)。這樣真實主機H33將收到192.168.20.0/24網段內所有主機的ICMP echo-reply的洪泛,最終主機H33的系統資源將被耗盡。
 
理解了smurf攻擊的工作原理之后,我們可以用traffic-police減緩smurf攻擊。
下面的示例給出了路由器R1上的配置:
 
Router1(config)# access-list 101 permit icmp any any echo
Router1(config)# class-map DOS
Router1(config-cmap)# match access-group 101
Router1(config-cmap)# exit
Router1(config)# policy-map DENY_DOS
Router1(config-pmap)# class DOS
Router1(config-pmap-c)# police 25600 8000 conform-action transmit exceed-action drop
Router1(config-pmap-c)# exit
Router1(config-pmap)# exit
Router1(config)# interface serial 0/0
Router1(config-if)# service-policy input DENY_DOS
 
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
   聯系:億恩小凡
   QQ:89317007
   電話:0371-63322206

本文出自:億恩科技【www.sunshares.net】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線