Cisco路由器安全配置

 

目前大多數的企事業單位和部門連Internet網,通常都是一臺路由器與ISP連結實現。這臺路由器就是溝通外部Internet和內部網絡的橋樑,如果這臺路由器能夠合理進行安全設置,那麼就可以對內部的網絡提供一定安全性或對已有的安全多了一層屏障。現在大多數的路由器都是Cisco公司的產品或與其功能近似,本文在這裏就針對Cisco路由器的安全配置進行管理。
考慮到路由器的作用和位置,路由器配置的好壞不僅影響本身的安全也影響整個網絡的安全。目前路由器(以Cisco爲例)本身也都帶有一定的安全功能,如訪問列表、加密等,但是在缺省配置時,這些功能大多數都是關閉的。需要進行手工配置。怎樣的配置才能最大的滿足安全的需要,且不降低網絡的性能?本文從以下幾個部分分別加以說明:

一. 口令管理

口令是路由器是用來防止對於路由器的非授權訪問的主要手段,是路由器本身安全的一部分。最好的口令處理方法是將這些口令保存在TACACS+或RADIUS認證服務器上。但是幾乎每一個路由器都要有一個本地配置口令進行權限訪問。如何維護這部分的安全?

1. 使用enable secret
enable secret 命令用於設定具有管理員權限的口令。並且如果沒有enable secret,則當一個口令是爲控制檯TTY設置的,這個口令也能用於遠程訪問。這種情況是不希望的。還有一點就是老的系統採用的是enable password,雖然功能相似,但是enable password採用的加密算法比較弱。

2. 使用service password-encryption
這條命令用於對
存儲在配置文件中的所有口令和類似數據(如CHAP)進行加密。避免當配置文件被不懷好意者看見,從而獲得這些數據的明文。但是service password-encrypation的加密算法是一個簡單的維吉尼亞加密,很容易被破譯。這主要是針對enable password命令設置的口令。而enable secret命令採用的是MD5算法,這種算法很難進行破譯的。但是這種MD5算法對於字典式***還是沒有辦法。
所以不要以爲加密了就可以放心了,最好的方法就是選擇一個長的口令字,避免配置文件被外界得到。且設定enable secret和service password-encryption。

二. 控制交互式訪問

任何人登錄到路由器上都能夠顯示一些重要的配置信息。一個***者可以將路由器作爲***的中轉站。所以需要正確控制路由器的登錄訪問。儘管大部分的登錄訪問缺省都是禁止的。但是有一些例外,如直連的控制檯終端等。
控制檯端口具有特殊的權限。特別注意的是,當路由器重啓動的開始幾秒如果發送一個Break信號到控制檯端口,則利用口令恢復程式可以很容易控制整個系統。這樣如果一個***者儘管他沒有正常的訪問權限,但是具有系統重啓(切斷電源或系統崩潰)和訪問控制端口(通過直連終端、Modem、終端
服務器)的能力就可以控制整個系統。所以必須保證所有連結控制端口的訪問的安全性。
除了通過控制檯登錄路由器外還有很多的方法,根據配置和操作系統版本的不同,可以支持如Telnet、rlogin、Ssh以及非基於IP的網絡
協議如LAT、MOP、X.29和V.120等或者Modem撥號。所有這些都涉及到TTY,本地的異步終端和撥號Modem用標準的"TTYs"。遠地的網絡連結不管採用什麼協議都是虛擬的TTYs,即"VTYs"。要控制路由器的訪問,最好就是控制這些TTYs或VTYs,加上一些認證或利用login、no password命令禁止訪問。

1.控制TTY
缺省的情況下一個遠端用戶可以連結到一個TTY,稱爲"反向Telnet",允許遠端用戶和連接到這個TTY上的終端或Modem進行交互。但是這些特徵允許一個遠端用戶連接到一個本地的異步終端口或一個撥入的Modem端口,從而構造一個假的登錄過程來偷盜口令或其他的非法活動。所以最好禁止這項功能,可以採用transport input none設置任何異步或Modem不接收來自網絡用戶的連結。如果可能,不要用相同的Modem撥入和撥出,且禁止反向Telnet撥入。

2.控制VTY
爲了保證安全,任何VTY應該僅允許指定的
協議建立連結。利用transport input命令。如一個VTY只支持Telnet服務,可以如下設置transport input telnet。如果路由器操作系統支持SSH,最好只支持這個協議,避免使用明文傳送的Telnet服務。如下設置:transport input ssh。也可以利用ip access-class限制訪問VTY的ip地址範圍。
因爲VTYs的數目有一定的限制,當所有的VTYs用完了,就不能再建立遠程的網絡連結了。這就有可能被利用進行Dos(拒絕服務***)。這裏***者不必登錄進入,只要建立連結,到login提示符下就可以,消耗到所有的VTYs。對於這種***的一個好的防禦方法就是利用ip access-class命令限制最後一個VTYs的訪問地址,只向特定管理工作站打開。而其他的VTYs不限制,從而既保證了靈活性,也保證關鍵的管理工作不被影響。另一個方法是利用exec-timeout命令,配置VTY的超時。避免一個空閒的任務一直佔用VTY。類似的也可以用service tcp-keepalives-in 保證Tcp建立的入連結是活動的,從而避免惡意的***或遠端系統的意外崩潰導致的資源獨佔。更好的保護VTY的方法是關閉所有非基於IP的訪問,且使用IPSec加密所有的遠端與路由器的連結。

三. 管理服務配置

許多的用戶利用協議如Snmp或Http來管理路由器。但是利用這些協議管理服務時,就會存在一定的安全問題。
1. Snmp
Snmp是最經常用於路由器的管理的協議。目前使用最多的Snmp 版本1,但是這個版本的Snmp存在着很多的安全問題:
A. 使用明文認證,利用"community"字符串。 
B. 在週期性輪循時,重複的發送這些"community"。
C. 採用容易被欺騙的基於數據包的協議。
所以儘量採用Snmp V2,因爲它採用基於MD5的數字認證方式,並且允許對於不同的管理數據進行限制。如果一定要使用Snmp V1,則要仔細的配置。如避免使用缺省的community如public,private等。避免對於每個設備都用相同的community,區別和限制只讀和讀寫commnity。對於Snmp V2,則可能的話對於不同的路由器設定不同的MD5安全值。還有就是最好使用訪問列表限定可以使用Snmp管理的範圍。

2. Http:
最近的路由器操作系統支持Http協議進行遠端配置和監視。而針對Http的認證就相當於在網絡上發送明文且對於Http沒有有效的基於挑戰或一次性的口令保護。這使得用Http進行管理相當危險。
如果選擇使用Http進行管理,最好用ip http access-class命令限定訪問地址且用ip http authentication命令配置認證。最好的http認證選擇是利用TACACS+或RADIUS服務器。

四. 日誌

利用路由器的日誌功能對於安全來說是十分重要的。Cisco路由器支持如下的日誌
1. AAA日誌:主要收集關於用戶撥入連結、登錄、Http訪問、權限變化等。這些日誌用TACACS+或RADIUS協議送到認證服務器並本地保存下來。這些可以用aaa accouting實現。
2. Snmp trap 日誌:發送系統狀態的改變到Snmp 管理工作站。
3. 系統日誌:根據配置記錄大量的系統事件。並可以將這些日誌發送到下列地方:
a. 控制檯端口
b. Syslog 服務器
c. TTYs或VTYs
d. 本地的日誌緩存。
這裏最關心的就是系統日誌,缺省的情況下這些日誌被送到控制檯端口,通過控制檯監視器來觀察系統的運行情況,但是這種方式信息量小且無法記錄下來供以後的查看。最好是使用syslog服務器,將日誌信息送到這個服務器保存下來。

五.路由安全
1.防止僞造:
僞造是***者經常使用的方法。通過路由器的配置可以在一定程度上防止僞造。通常是利用訪問列表,限制通過的數據包的地址範圍。但是有下面幾點注意的。
A. 可以在網絡的任何一點進行限制,但是最好在網絡的邊界路由器上進行,因爲在網絡內部是難於判斷地址僞造的。
B. 最好對接口進入的數據進行訪問控制(用ip access-group list in)。因爲輸出列表過濾只保護了位於路由器後的網絡部分,而輸入列表數據過濾還保護了路由器本身不受到外界的***。
C. 不僅對外部的端口進行訪問控制,還要對內部的端口進行訪問控制。因爲可以防止來自內部的***行爲。
下面是一個是一個訪問列表的例子:
ip access-list number deny icmp any any redirect 拒絕所有的Icmp 重定向
ip access-list number deny ip host 127.0.0.0 0.255.255.255 any 拒絕Loopback的數據包
ip access-list number deny ip 224.0.0.0 31.255.255.255 any 拒絕多目地址的數據包
除了訪問列表的限制外,還可以利用路由器的RPF檢查(ip verify unicast rpf)。這項功能主要用於檢查進入接口的數據包的源地址,根據路由表判斷是不是到達這個源地址的路由是不是也經過這個接口轉發,如果不是則拋棄。這進一步保證了數據源的正確性。但是這種方式不適合非對稱的路由,即A到B的路由與B到A的路由不相同。所以需要判斷清楚路由器的具體配置。

2.控制直接廣播
一個IP直接廣播是一個目的地爲某個子網的廣播地址的數據包,但是這個發送主機的不與這個目的子網直接相連。所以這個數據包被路由器當作普通包轉發直到目的子網,然後被轉換爲鏈路層廣播。由於Ip地址結構的特性,只有直接連接到這個子網的路由器能夠識別一個直接廣播包。針對這個功能,目前存在一種***稱爲"smurf",***者通過不斷的發送一個源地址爲非法地址的直接廣播包到***的子網。從而導致子網的所有主機向這個非法地址發送響應,最終導致目的網絡的廣播風暴。
對於這種***可以在路由器的接口上設置no ip directed
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章