Cisco路由器防止分佈式拒絕服務***

DDoS***的防禦還是比較困難的。首先,這種***的特點是它利用了TCP/IP協議的漏洞,除非你不用TCP/IP,纔有可能完全抵禦住DDoS***。一個形象的比喻:DDoS就好象有1,000個人同時給你家裏打電話,這時候你的朋友還打得進來嗎?
防止DDoS並不是絕對不可行的事情。對Cisco路由器可以首先在路由器上打開CEF功能(Cisco Express Forwarding)、使用Unicast RPF Unicast Reverse Path Forwarding),然後利用訪問控制列表(ACL)過濾並設置SYN數據包流量速率或通過升級版本過低的ISO、爲路由器建立log server等措施來建立安全防範。具體的使用方法是:
1、使用 ip verfy unicast reverse-path 網絡接口命令
這個功能檢查每一個經過路由器的數據包。在路由器的CEFCisco Express Forwarding)表該數據包所到達網絡接口的所有路由項中,如果沒有該數據包源IP地址的路由,路由器將丟棄該數據包。例如,路由器接收到一個源IP地址爲1.2.3.4的數據包,如果 CEF路由表中沒有爲IP地址1.2.3.4提供任何路由(即反向數據包傳輸時所需的路由),則路由器會丟棄它。
單一地址反向傳輸路徑轉發(Unicast Reverse Path Forwarding)在ISP(局端)實現阻止SMURF***和其它基於IP地址僞裝的***。這能夠保護網絡和客戶免受來自互聯網其它地方的侵擾。使用Unicast RPF 需要打開路由器的"CEF swithing""CEF distributed switching"選項。不需要將輸入接口配置爲CEF交換(switching)。只要該路由器打開了CEF功能,所有獨立的網絡接口都可以配置爲其它交換(switching)模式。RPF(反向傳輸路徑轉發)屬於在一個網絡接口或子接口上激活的輸入端功能,處理路由器接收的數據包。
在路由器上打開CEF功能是非常重要的,因爲RPF必須依靠CEFUnicast RPF包含在支持CEFCisco IOS 12.0 及以上版本中,但不支持Cisco IOS 11.211.3版本。
2、使用訪問控制列表(ACL)過濾RFC 1918中列出的所有地址
參考以下例子:
  interface xy
  ip access-group 101 in
  access-list 101 deny ip 10.0.0.0 0.255.255.255 any
  access-list 101 deny ip 192.168.0.0 0.0.255.255 any
  access-list 101 deny ip 172.16.0.0 0.15.255.255 any
  access-list 101 permit ip any any
3、參照RFC 2267,使用訪問控制列表(ACL)過濾進出報文
  參考以下例子:
  {ISP中心} -- ISP端邊界路由器 -- 客戶端邊界路由器 -- {客戶端網絡}
  ISP端邊界路由器應該只接受源地址屬於客戶端網絡的通信,而客戶端網絡則應該只接受源地址未被客戶端網絡過濾的通信。以下是ISP端邊界路由器的訪問控制列表(ACL)例子:
  access-list 190 permit ip {客戶端網絡} {客戶端網絡掩碼} any

access-list 190 deny ip any any [log]
  interface {內部網絡接口} {網絡接口號}
  ip access-group 190 in
  以下是客戶端邊界路由器的ACL例子:
  access-list 187 deny ip {客戶端網絡} {客戶端網絡掩碼} any
  access-list 187 permit ip any any
  access-list 188 permit ip {客戶端網絡} {客戶端網絡掩碼} any
  access-list 188 deny ip any any
  interface {外部網絡接口} {網絡接口號}
  ip access-group 187 in
  ip access-group 188 out
  如果打開了CEF功能,通過使用單一地址反向路徑轉發(Unicast RPF),能夠充分地縮短訪問控制列表(ACL)的長度以提高路由器性能。爲了支持Unicast RPF,只需在路由器完全打開CEF;打開這個功能的網絡接口並不需要是CEF交換接口。
4、使用CARControl Access Rate)限制ICMP數據包流量速率
  參考以下例子:
  interface xy
  rate-limit output access-group 2020 3000000 512000 786000 conform-action
  transmit exceed-action drop
  access-list 2020 permit icmp any any echo-reply
5、設置SYN數據包流量速率
  interface {int}
  rate-limit output access-group 153 45000000 100000 100000 conform-action
  transmit exceed-action drop
  rate-limit output access-group 152 1000000 100000 100000 conform-action
  transmit exceed-action drop
  access-list 152 permit tcp any host eq www
  access-list 153 permit tcp any host eq www established
  在實現應用中需要進行必要的修改,替換:
  45000000爲最大連接帶寬
  1000000SYN flood流量速率的30%50%之間的數值。
  burst normal(正常突變)和 burst max(最大突變)兩個速率爲正確的數值。
  注意,如果突變速率設置超過30%,可能會丟失許多合法的SYN數據包。使用"show interfaces rate-limit"命令查看該網絡接口的正常和過度速率,能夠幫助確定合適的突變速率。這個SYN速率限制數值設置標準是保證正常通信的基礎上儘可能地小。
  警告:一般推薦在網絡正常工作時測量SYN數據包流量速率,以此基準數值加以調整。必須在進行測量時確保網絡的正常工作以避免出現較大誤差。
  另外,建議考慮在可能成爲SYN***的主機上安裝IP FilterIP過濾工具包。
6、蒐集證據並聯系網絡安全部門或機構
  如果可能,捕獲***數據包用於分析。建議使用SUN工作站或Linux等高速計算機捕獲數據包。常用的數據包捕獲工具包括TCPDumpsnoop等。基本語法爲:
  tcpdump -i interface -s 1500 -w capture_file
  snoop -d interface -o capture_file -s 1500
  本例中假定MTU大小爲1500。如果MTU大於1500,則需要修改相應參數。將這些捕獲的數據包和日誌作爲證據提供給有關網絡安全部門或機構。
爲了防止利用IP Spoofing手段假冒源地址進行的DoS***對整個網絡造成的衝擊。主要配置在邊緣路由設備(即直接與終端用戶網絡互連的路由設備)上,根據用戶網段規劃添加源路由檢查。
針對不同DDOS***的端口進行過濾,在實施時必須探測到DDOS***的端口。
! The TRINOO DDoS system
Router(Config)# access-list 113 deny tcp any any eq 27665 log
Router(Config)# access-list 113 deny udp any any eq 31335 log
Router(Config)# access-list 113 deny udp any any eq 27444 log
! The Stacheldtraht DDoS system
Router(Config)# access-list 113 deny tcp any any eq 16660 log
Router(Config)# access-list 113 deny tcp any any eq 65000 log
! The TrinityV3 System
Router(Config)# access-list 113 deny tcp any any eq 33270 log
Router(Config)# access-list 113 deny tcp any any eq 39168 log
! The SubSeven DDoS system and some Variants
Router(Config)# access-list 113 deny tcp any any range 6711 6712 log
Router(Config)# access-list 113 deny tcp any any eq 6776 log
Router(Config)# access-list 113 deny tcp any any eq 6669 log
Router(Config)# access-list 113 deny tcp any any eq 2222 log
Router(Config)# access-list 113 deny tcp any any eq 7000 log
Router(Config)# interface eth 0/2
Router(Config-if)# ip access-group 113 in

DDOS是利用TCP協議的漏洞, 目前沒有什麼有效的手段防護,筆者認爲最有效的方法就是拼資源, 其次可以加個firewallDDOS多是有目的的***, 是很難防護的,基本上,路由器防範DoS***的能力還是很弱的,儘管我們在路由器上採取了適當措施,以上配置不建議在覈心和匯聚層設備上實行。遇到問題時一種快速的手段, 就是利用2分法, 快速的查出它的來源地址, 然後封掉它。
因此,防止各種DoS***是非常必要的。用戶需要注意的是,以上介紹的幾種方法,對付不同類型的DoS***的能力是不同的,對路由器CPU和內存資源的佔用也有很大差別,在實際環境中,用戶需要根據自身情況和路由器的性能來選擇使用適當的方式。
secondary ip address的理解
在同一端口中可以設置兩個以上的不同網段的IP地址,這樣可以實現連接在同一局域網上不同網段之間的通訊。一般由於一個網段對於用戶來說不夠用,可以採用這種辦法。在端口設置狀態下
命令: ip address 本端口IP地址 子網掩碼 secondary
注意:1、如果要實現連在同一路由器端口的不同網段的通訊,必須在端口設置狀態下
ip redirect
一般地,Cisco路由器不允許從同一端口進來的IP包又發回到原端口中,ip redirect表示允許在同一端進入路由器的IP包由原端口發送回去。
2、網絡中含有0IP地址如138.0.0.1192.1.0.2,強烈建議儘量不要使用這樣的IP地址,如要使用這的地址,在全局設置模式下必須設置
ip subnet-zero
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章