|
對(duì)于網(wǎng)站來說,最怕的就是DoS拒絕服務(wù)攻擊。拒絕服務(wù)(DoS)攻擊是目前黑客廣泛使用的一種攻擊手段,它通過獨(dú)占網(wǎng)絡(luò)資源、使其他主機(jī)不能進(jìn)行正常訪問,從而導(dǎo)致網(wǎng)絡(luò)癱瘓,我們可以通過在接入路由器上采用CAR限速策略來達(dá)到抵御攻擊的目的。
DoS是Denial of Service的簡稱,即拒絕服務(wù),造成DoS的攻擊行為被稱為DoS攻擊,其目的是使計(jì)算機(jī)或網(wǎng)絡(luò)無法提供正常的服務(wù)。DoS網(wǎng)絡(luò)攻擊的一個(gè)重要特征是網(wǎng)絡(luò)中會(huì)充斥著大量帶有非法源地址的ICMP包,我們可以通過在路由器上對(duì)ICMP包配置CAR來設(shè)置速率上限的方法來保護(hù)網(wǎng)絡(luò)。
工作機(jī)制
CAR是Committed Access Rate的簡寫,意思是:承諾訪問速率,CAR主要有兩個(gè)作用:對(duì)一個(gè)端口或子端口(Subinterface)的進(jìn)出流量速率按某個(gè)標(biāo)準(zhǔn)上限進(jìn)行限制;對(duì)流量進(jìn)行分類,劃分出不同的QoS優(yōu)先級(jí)。CAR只能對(duì)IP包起作用,對(duì)非IP流量不能進(jìn)行限制,另外CAR只能在支持CEF交換(Cisco Express Forward)的路由器或交換機(jī)上使用。
要對(duì)流量進(jìn)行控制我們首先要做的是對(duì)數(shù)據(jù)包分類識(shí)別(Packet Classification),然后再對(duì)其進(jìn)行流量控制(Access Rate Limiting),CAR 就是兩者的結(jié)合。其工作流程如圖1所示。

圖1
首先我們要定義感興趣的流量,所謂感興趣的流量就是對(duì)其進(jìn)行流量控制的數(shù)據(jù)包類型?梢赃x擇以下幾種不同的方式來進(jìn)行流量識(shí)別:
。1)基于IP前綴,此種方式是通過rate-limit access list來定義的。
。2)QoS 分組。
。3)IP access list,可通過standard或extended access list來定義。
采用上述方法定義了感興趣的流量后,進(jìn)行第二步的流量限制(Traffic Limitation)。CAR采用一種名為token bucket的機(jī)制來進(jìn)行流量限制(如圖2所示)。

圖2
限流器使用token bucket的算法監(jiān)視流量flow的帶寬利用率。在每個(gè)流入的幀到達(dá)的時(shí)候,就把它們的長度加到token bucket (記號(hào)桶)上。每隔0.25毫秒(四千分之一秒),就從token bucket減去CIR(Committed Information Rate,承諾信息速率)或者說是平均限流速率的值。這樣做的思路是,保持token bucket等于0,從而穩(wěn)定數(shù)據(jù)速率。
限流器允許流量速率突發(fā)超出平均速率一定的量。token bucket增長到突發(fā)值(以字節(jié)為單位)水平之間的質(zhì)量是允許的有效突發(fā)量,這也叫做in-profile traffic(限內(nèi)流量)。當(dāng)token bucket 的大小超過了突發(fā)值,限流器就認(rèn)為流量“過大”了。這時(shí)我們可以定義一個(gè)PIR(Peak Information Rate,峰值信息速率)。當(dāng)流量超出最大突發(fā)值達(dá)到PIR的時(shí)候,限流器就認(rèn)為流量違規(guī),這類流量也叫做out-of-profile traffic(限外流量)。所以當(dāng)實(shí)際的流量通過限流器(token bucket)后, 可以看到會(huì)有兩種情況發(fā)生:
。1)實(shí)際流量小于或等于用戶希望速率,幀離開bucket的實(shí)際速率將和其來到的速率一樣,bucket內(nèi)可以看作是空的。流量不會(huì)超過用戶的希望值。
(2)實(shí)際流量大于用戶希望速率。幀進(jìn)入bucket的速率比其離開bucket的速率快,這樣在一段時(shí)間內(nèi),幀將填滿該bucket,繼續(xù)到來的幀將溢出(excess)bucket,則CAR采取相應(yīng)的動(dòng)作(一般是丟棄或?qū)⑵銲P前綴改變以改變?cè)搕oken的優(yōu)先級(jí))。這樣就保證了數(shù)據(jù)流量速率保證在用戶定義的希望值內(nèi)。
CAR的配置
我們通常在網(wǎng)絡(luò)的邊緣路由器上配置CAR 。配置CAR主要包括以下幾部分:
1. 確定“感興趣”的流量類型也就是我們需要監(jiān)視的流量,主要通過下列方式確定:
。1)基于IP前綴,此種方式是通過rate-limit access list來定義的。
(2)基于QoS分組。
(3)基于MAC地址。
(4)基于standard或extended的IP access list。
2.在相應(yīng)的端口配置rate-limit:
一般的寫法是:
interface X
rate-limit {input output} [access-group number ] bps burst-normal burst-max conform-
action action exceed-action action
上述命令的含義是:
interface: 用戶希望進(jìn)行流量控制的端口,可以是Ethernet也可以是serial口,但是不同類型的interface在下面的input、output上選擇有所不同。 |
|
【收藏】【打印】【進(jìn)入論壇】 |
|
|
|
|
|
|
|