天天看點

如何利用路由器防止DoS拒絕服務瘋狂攻擊

  拒絕服務(DoS)攻擊是目前黑客廣泛使用的一種攻擊手段,它通過獨占網絡資源、使其他主機不能進行正常通路,進而導緻當機或網絡癱瘓。

DoS攻擊主要分為Smurf、SYN Flood和Fraggle三種 ,在Smurf攻擊中,攻擊者使用ICMP資料包阻塞伺服器和其他網絡資源;SYN Flood攻擊使用數量巨大的TCP半連接配接來占用網絡資源;Fraggle攻擊與Smurf攻擊原理類似,使用UDP echo請求而不是ICMP echo請求發起攻擊。

盡管網絡安全專家都在着力開發阻止DoS攻擊的裝置,但收效不大,因為DoS攻擊利用了TCP協定本身的弱點。正确配置路由器能夠有效防止DoS攻擊。以Cisco路由器為例,Cisco路由器中的IOS軟體具有許多防止DoS攻擊的特性,保護路由器自身和内部網絡的安全。

使用擴充通路清單

擴充通路清單是防止DoS攻擊的有效工具。它既可以用來探測DoS攻擊的類型,也可以阻止DoS攻擊。Show IP access-list指令能夠顯示每個擴充通路清單的比對資料包,根據資料包的類型,使用者就可以确定DoS攻擊的種類。如果網絡中出現了大量建立TCP連接配接的請求,這表明網絡受到了SYN Flood攻擊,這時使用者就可以改變通路清單的配置,阻止DoS攻擊。

使用QoS

使用服務品質優化(QoS)特征,如權重公平隊列(WFQ)、承諾通路速率(CAR)、一般流量×××(GTS)以及定制隊列(CQ)等,都可以有效阻止DoS攻擊。需要注意的是,不同的QoS政策對付不同DoS攻擊的效果是有差别的。例如,WFQ對付Ping Flood攻擊要比防止SYN Flood攻擊更有效,這是因為Ping Flood通常會在WFQ中表現為一個單獨的傳輸隊列,而SYN Flood攻擊中的每一個資料包都會表現為一個單獨的資料流。此外,人們可以利用CAR來限制ICMP資料包流量的速度,防止Smurf攻擊,也可以用來限制SYN資料包的流量速度,防止SYN Flood攻擊。使用QoS防止DoS攻擊,需要使用者弄清楚QoS以及DoS攻擊的原理,這樣才能針對DoS攻擊的不同類型采取相應的防範措施。

使用單一位址逆向轉發

逆向轉發(RPF)是路由器的一個輸入功能,該功能用來檢查路由器接口所接收的每一個資料包。如果路由器接收到一個源IP位址為10.10.10.1的資料包,但是CEF(Cisco Express Forwarding)路由表中沒有為該IP位址提供任何路由資訊,路由器就會丢棄該資料包,是以逆向轉發能夠阻止Smurf攻擊和其他基于IP位址僞裝的攻擊。

使用RPF功能需要将路由器設為快速轉發模式(CEF switching),并且不能将啟用RPF功能的接口配置為CEF交換。RPF在防止IP位址欺騙方面比通路清單具有優勢,首先它能動态地接受動态和靜态路由表中的變化;第二RPF所需要的操作維護較少;第三RPF作為一個反欺騙的工具,對路由器本身産生的性能沖擊,要比使用通路清單小得多。

使用TCP攔截

Cisco在IOS 11.3版以後,引入了TCP攔截功能,這項功能可以有效防止SYN Flood攻擊内部主機。

在TCP連接配接請求到達目标主機之前,TCP攔截通過攔截和驗證來阻止這種攻擊。TCP攔截可以在攔截和監視兩種模式下工作。在攔截模式下,路由器攔截到達的TCP同步請求,并代表伺服器建立與客戶機的連接配接,如果連接配接成功,則代表客戶機建立與伺服器的連接配接,并将兩個連接配接進行透明合并。在整個連接配接期間,路由器會一直攔截和發送資料包。對于非法的連接配接請求,路由器提供更為嚴格的對于half-open的逾時限制,以防止自身的資源被SYN攻擊耗盡。在監視模式下,路由器被動地觀察流經路由器的連接配接請求,如果連接配接超過了所配置的建立時間,路由器就會關閉此連接配接。

在Cisco路由器上開啟TCP攔截功能需要兩個步驟:一是配置擴充通路清單,以确定需要保護的IP位址;二是開啟TCP攔截。配置通路清單是為了定義需要進行TCP攔截的源位址和目的位址,保護内部目标主機或網絡。在配置時,使用者通常需要将源位址設為any,并且指定具體的目标網絡或主機。如果不配置通路清單,路由器将會允許所有的請求經過。

使用基于内容的通路控制

基于内容的通路控制(CBAC)是對Cisco傳統通路清單的擴充,它基于應用層會話資訊,智能化地過濾TCP和UDP資料包,防止DoS攻擊。

CBAC通過設定逾時時限值和會話門限值來決定會話的維持時間以及何時删除半連接配接。對TCP而言,半連接配接是指一個沒有完成三階段握手過程的會話。對UDP而言,半連接配接是指路由器沒有檢測到傳回流量的會話。

CBAC正是通過監視半連接配接的數量和産生的頻率來防止洪水攻擊。每當有不正常的半連接配接建立或者在短時間内出現大量半連接配接的時候,使用者可以判斷是遭受了洪水攻擊。CBAC每分鐘檢測一次已經存在的半連接配接數量和試圖建立連接配接的頻率,當已經存在的半連接配接數量超過了門限值,路由器就會删除一些半連接配接,以保證建立立連接配接的需求,路由器持續删除半連接配接,直到存在的半連接配接數量低于另一個門限值;同樣,當試圖建立連接配接的頻率超過門限值,路由器就會采取相同的措施,删除一部分連接配接請求,并持續到請求連接配接的數量低于另一個門限值。通過這種連續不斷的監視和删除,CBAC可以有效防止SYN Flood和Fraggle攻擊。

路由器是企業内部網絡的第一道防護屏障,也是黑客攻擊的一個重要目标,如果路由器很容易被攻破,那麼企業内部網絡的安全也就無從談起,是以在路由器上采取适當措施,防止各種DoS攻擊是非常必要的。使用者需要注意的是,以上介紹的幾種方法,對付不同類型的DoS攻擊的能力是不同的,對路由器CPU和記憶體資源的占用也有很大差别,在實際環境中,使用者需要根據自身情況和路由器的性能來選擇使用适當的方式。

繼續閱讀