怎樣使用路由器防止DoS攻擊
怎樣使用路由器防止DoS攻擊
歡迎大家來到學(xué)習(xí)啦,本文為大家講解怎樣使用路由器防止DoS攻擊,歡迎大家閱讀借鑒。
拒絕服務(wù)(DoS)攻擊是目前黑客廣泛使用的一種攻擊手段,它通過獨(dú)占網(wǎng)絡(luò)資源、使其他主機(jī)不 能進(jìn)行正常訪問,從而導(dǎo)致宕機(jī)或網(wǎng)絡(luò)癱瘓。
DoS攻擊主要分為Smurf、SYN Flood和Fraggle三種,在Smurf攻擊中,攻擊者使用ICMP數(shù)據(jù)包阻塞服務(wù)器和其他網(wǎng)絡(luò)資源;SYN Flood攻擊使用數(shù)量巨大的TCP半連接來占用網(wǎng)絡(luò)資源;Fraggle攻擊與Smurf攻擊原理類似,使用UDP echo請求而不是ICMP echo請求發(fā)起攻擊。
盡管網(wǎng)絡(luò)安全專家都在著力開發(fā)阻止DoS攻擊的設(shè)備,但收效不大,因?yàn)镈oS攻擊利用了TCP協(xié)議本身的弱點(diǎn)。正確配置路由器能夠有效防止DoS攻擊。以Cisco路由器為例,Cisco路由器中的IOS軟件具有許多防止DoS攻擊的特性,保護(hù)路由器自身和內(nèi)部網(wǎng)絡(luò)的安全。
使用擴(kuò)展訪問列表
擴(kuò)展訪問列表是防止DoS攻擊的有效工具。它既可以用來探測DoS攻擊的類型,也可以阻止DoS攻擊。Show ip access-list命令能夠顯示每個擴(kuò)展訪問列表的匹配數(shù)據(jù)包,根據(jù)數(shù)據(jù)包的類型,用戶就可以確定DoS攻擊的種類。如果網(wǎng)絡(luò)中出現(xiàn)了大量建立TCP連接的請求,這表明網(wǎng)絡(luò)受到了SYN Flood攻擊,這時用戶就可以改變訪問列表的配置,阻止DoS攻擊。
使用QoS
使用服務(wù)質(zhì)量優(yōu)化(QoS)特征,如加權(quán)公平隊列(WFQ)、承諾訪問速率(CAR)、一般流量整形(GTS)以及定制隊列(CQ)等,都可以有效阻止DoS攻擊。需要注意的是,不同的QoS策略對付不同DoS攻擊的效果是有差別的。例如,WFQ對付Ping Flood攻擊要比防止SYN Flood攻擊更有效,這是因?yàn)镻ing Flood通常會在WFQ中表現(xiàn)為一個單獨(dú)的傳輸隊列,而SYN Flood攻擊中的每一個數(shù)據(jù)包都會表現(xiàn)為一個單獨(dú)的數(shù)據(jù)流。此外,人們可以利用CAR來限制ICMP數(shù)據(jù)包流量的速度,防止Smurf攻擊,也可以用來限制SYN數(shù)據(jù)包的流量速度,防止SYN Flood攻擊。使用QoS防止DoS攻擊,需要用戶弄清楚QoS以及DoS攻擊的原理,這樣才能針對DoS攻擊的不同類型采取相應(yīng)的防范措施。
使用單一地址逆向轉(zhuǎn)發(fā)
逆向轉(zhuǎn)發(fā)(RPF)是路由器的一個輸入功能,該功能用來檢查路由器接口所接收的每一個數(shù)據(jù)包。如果路由器接收到一個源IP地址為10.10.10.1的數(shù)據(jù)包,但是CEF(Cisco Express Forwarding)路由表中沒有為該IP地址提供任何路由信息,路由器就會丟棄該數(shù)據(jù)包,因此逆向轉(zhuǎn)發(fā)能夠阻止Smurf攻擊和其他基于IP地址偽裝的攻擊。
使用RPF功能需要將路由器設(shè)為快速轉(zhuǎn)發(fā)模式(CEF switching),并且不能將啟用RPF功能的接口配置為CEF交換。RPF在防止IP地址欺騙方面比訪問列表具有優(yōu)勢,首先它能動態(tài)地接受動態(tài)和靜態(tài)路由表中的變化;第二RPF所需要的操作維護(hù)較少;第三RPF作為一個反欺騙的工具,對路由器本身產(chǎn)生的性能沖擊,要比使用訪問列表小得多。
使用TCP攔截
Cisco在IOS 11.3版以后,引入了TCP攔截功能,這項(xiàng)功能可以有效防止SYN Flood攻擊內(nèi)部主機(jī)。
在TCP連接請求到達(dá)目標(biāo)主機(jī)之前,TCP攔截通過攔截和驗(yàn)證來阻止這種攻擊。TCP攔截可以在攔截和監(jiān)視兩種模式下工作。在攔截模式下,路由器攔截到達(dá)的TCP同步請求,并代表服務(wù)器建立與客戶機(jī)的連接,如果連接成功,則代表客戶機(jī)建立與服務(wù)器的連接,并將兩個連接進(jìn)行透明合并。在整個連接期間,路由器會一直攔截和發(fā)送數(shù)據(jù)包。對于非法的連接請求,路由器提供更為嚴(yán)格的對于half-open的超時限制,以防止自身的資源被SYN攻擊耗盡。在監(jiān)視模式下,路由器被動地觀察流經(jīng)路由器的連接請求,如果連接超過了所配置的建立時間,路由器就會關(guān)閉此連接。
在Cisco路由器上開啟TCP攔截功能需要兩個步驟:一是配置擴(kuò)展訪問列表,以確定需要保護(hù)的IP地址;二是開啟TCP攔截。配置訪問列表是為了定義需要進(jìn)行TCP攔截的源地址和目的地址,保護(hù)內(nèi)部目標(biāo)主機(jī)或網(wǎng)絡(luò)。在配置時,用戶通常需要將源地址設(shè)為any,并且指定具體的目標(biāo)網(wǎng)絡(luò)或主機(jī)。如果不配置訪問列表,路由器將會允許所有的請求經(jīng)過。
使用基于內(nèi)容的訪問控制
基于內(nèi)容的訪問控制(CBAC)是對Cisco傳統(tǒng)訪問列表的擴(kuò)展,它基于應(yīng)用層會話信息,智能化地過濾TCP和UDP數(shù)據(jù)包,防止DoS攻擊。
CBAC通過設(shè)置超時時限值和會話門限值來決定會話的維持時間以及何時刪除半連接。對TCP而言,半連接是指一個沒有完成三階段握手過程的會話。對UDP而言,半連接是指路由器沒有檢測到返回流量的會話。
CBAC正是通過監(jiān)視半連接的數(shù)量和產(chǎn)生的頻率來防止洪水攻擊。每當(dāng)有不正常的半連接建立或者在短時間內(nèi)出現(xiàn)大量半連接的時候,用戶可以判斷是遭受了洪水攻擊。CBAC每分鐘檢測一次已經(jīng)存在的半連接數(shù)量和試圖建立連接的頻率,當(dāng)已經(jīng)存在的半連接數(shù)量超過了門限值,路由器就會刪除一些半連接,以保證新建立連接的需求,路由器持續(xù)刪除半連接,直到存在的半連接數(shù)量低于另一個門限值;同樣,當(dāng)試圖建立連接的頻率超過門限值,路由器就會采取相同的措施,刪除一部分連接請求,并持續(xù)到請求連接的數(shù)量低于另一個門限值。通過這種連續(xù)不斷的監(jiān)視和刪除,CBAC可以有效防止SYN Flood和Fraggle攻擊。
路由器是企業(yè)內(nèi)部網(wǎng)絡(luò)的第一道防護(hù)屏障,也是黑客攻擊的一個重要目標(biāo),如果路由器很容易被攻破,那么企業(yè)內(nèi)部網(wǎng)絡(luò)的安全也就無從談起,因此在路由器上采取適當(dāng)措施,防止各種DoS攻擊是非常必要的。用戶需要注意的是,以上介紹的幾種方法,對付不同類型的DoS攻擊的能力是不同的,對路由器CPU和內(nèi)存資源的占用也有很大差別,在實(shí)際環(huán)境中,用戶需要根據(jù)自身情況和路由器的性能來選擇使用適當(dāng)?shù)姆绞健?/p>