摘要:隨著網絡技術的快速發展,黑客的入侵手段越來越高明,網絡常常受到攻擊。路由器作為Intranet和Internet的網間互連設備,位于不可信任網絡和可信任網絡之間,是保證網絡安全的第一關,安全性已成為路由器設計中最關鍵的技術問題。本文對基于訪問列表控制的路由器安全策略進行了探討,并以最常用的Cisco路由器為例進行了分析。
關鍵詞:訪問列表;路由器;安全
引言。網絡安全一直是倍受關注的領域,如果缺乏一定的安全保障,無論是公共網還是企業專用網都難以抵擋網絡攻擊和非法入侵。隨著人們對網絡依賴程度的日益增強,網絡的安全性和可靠性問題愈來愈重要,一旦網絡癱瘓或重要信息被竊取,將帶來巨大損失。而路由器作為網絡傳輸過程中的重要設備,對報文安全、正確和快速的轉發起著關鍵作用。因此,研究常用路由器的安全配置和策略,就具有重要的意義。
1.路由器安全概述
1.1路由器的功能
路由器處于網絡層,是網絡中進行網間互連的關鍵設備,能夠跨越不同類型的物理網絡類型,并將整個互聯網絡分割成獨立的網絡單位,使網絡具有一定的邏輯結構。作為不同網絡之間連接的樞紐,路由器系統構成了基于TCP/IP的Internet主體脈絡。不同地位的路由器其功能也不相同:
第一,在主干網上,路由器的主要作用是路由選擇。主干網上的路由器必須知道到達所有下層網絡的路徑。這需要維護龐大的路由表,并對連接狀態的變化做出盡可能快速的反應。
第二,在地區網中,路由器的主要作用是網絡連接和路由選擇,即連接下層各個基層網絡單位--園區網,并負責下層網絡之間的數據轉發。
第三,在園區網內部,路由器的主要作用是分隔子網。各個子網在邏輯上獨立,而路由器則負責子網間的數據轉發和廣播隔離,在園區網邊界上的路由器則負責與地區網的連接。
1.2路由器的安全機制
安全路由器能夠按照需要向內部局域網或外部公用網轉發授權包;能夠對每一條鏈路的訪問權限進行控制;能夠協助對傳輸的數據進行加密;提供內外識別地址的轉變:提供配置管理、性能管理、流量控制、安全管理等功能;確保路由信息能夠安全、準確地傳遞;提供包括分組過濾、優先級、復用、加密、壓縮等功能。
為了構建路由器的安全機制,必須采用不同的安全對策。在控制數據流量上,可以采用包過濾和代理服務;在訪問路由器上,為了保證路由器本身的安全,可以采用認證的技術;為了保證數據的安全,可以采用數據加密技術。
當然,包過濾技術和代理服務技術是當今最廣泛采用的網絡安全技術,也就是我們通常稱的防火墻技術。防火墻可以根據網絡安全的規則設置允許經過授權的數據包進出內部網絡,同時將非法數據包擋在防火墻內外,最大限度地阻止黑客攻擊。包過濾技術以訪問列表的形式出現,被創建的訪問列表可以用來允許或拒絕信息流通過一或多個路由器接口。
目前,市場上的路由器品牌很多,其中Cisco(思科)路由器在路由器技術方面最為權威,從某種意義上來說已經成為路由器的代名詞。因此,本文主要以Cisco路由器為例,來探討基于訪問列表控制的路由器安全策略。
2. 路由器訪問列表的原理與設計
2.1路由器訪問列表的基本原理
訪問列表是基于規則與數據包進行匹配來允許或拒絕數據流的排序表,其基本格式為:
access-list [access-list-number] [permit|deny|join|evaluate] [refnum][protocol]
[source source-wildcard|any] [source port]
[destination detination-wildcand|any] [destination port]
[options]
在實際使用時,每個語句一般都在單獨一行上。并非所有的域都是必需的,只有第1、第2和第5域在每種類型的訪問列表中都需要。訪問列表在配置時,遵循以下原則:
第一,從上到下的處理過程。訪問列表的檢測順序是從第一表項開始的,如果找到了匹配項,則處理過程結束,系統不再過問剩下的表項。
第二,隱含的拒絕所有的數據包。在訪問列表的最后,總是有一個隱含的\"deny all\"表項,所有不能顯式匹配訪問表項的數據包都會自動地被拒絕。
第三,新的表項增加到底部。要進行增加表項到訪問列表的修改,一般需要刪除和重建整個訪問列表;也可以在客戶機中建立訪問列表文本文件,使用TFTP協議達到修改訪問列表的目的。
2.2路由器訪問列表的主要功能
路由器的訪問列表包括標準訪問列表、擴展訪問列表、第二層訪問列表和自反訪問列表四種。其中前三種為靜態包過濾,自反訪問列表為動態包過濾。
第一,標準訪問列表定義的范圍為l-99,只允許通過源IP地址進行過濾。標準訪問列表在限制虛擬終端訪問、限制SNMP訪問、過濾路由協議等方面比擴展訪問列表更為有用。
第二,擴展訪問列表提供了與標準訪問列表一樣的基于源地址的過濾,同時還可以通過目的地址和協議信息進行過濾。使用擴展訪問列表可以建立非常復雜的包過濾機制。擴展訪問列表的號碼為從100-199,支持的協議包括IP、TCP、UDP、ICMP和OSPF。
第三,第二層訪問列表是基于第二層地址過濾數據幀,也稱為MAC層地址過濾。通過地址過濾是最簡單的第二層過濾形式,它可以過濾一部分,也可以準確過濾某個MAC地址。
第四,自反訪問列表提供了一種保留已存在連接狀態信息的方式。當一個新IP包從內部網絡發往外部網絡時,自反訪問列表可以被觸發。自反訪問列表在已存在的擴展訪問列表中建立\"鏡像\"或稱為\"反向的\"表項,使得已存在連接的數據包可以通過訪問列表的控制。
2.3 Cisco路由器訪問列表的設計
Cisco的訪問列表基于不同的協議有許多種類型,本文以基于TCP/IP協議為例,只考慮實現四種訪問列表:標準訪問列表(1-99);擴展訪問列表(100-199);第二層訪問列表(200-299);自反訪問列表(300-399)。以下是設計時需注意的事項:
首先,可以將訪問列表的數據結構設計為一個數組。每個數組都是100個元素,只有標準訪問列表是99個。數組的每個元素為一個指針,指針指向一個訪問列表項的鏈表,構成一個訪問列表。如果沒有訪問列表鏈表,其對應的數組元素的指針就為空。訪問列表項的元素隨訪問列表的不同而不同,但其結構基本上是一樣的。
其次,可以將訪問列表保存到FLASH存儲器中。每次路由器啟動時,FLASH存儲器中讀出訪問列表轉換為內存中的格式存入內存。當需要把訪問列表寫入FLASH存儲器時,把存在內存的訪問列表轉換為FLASH存儲格式,一次存入或寫入FLASH存儲器。
第三,可以采用以下方式對訪問列表的查找進行優化:一是增加CACHE緩存,避免每次都要遍查整個訪問列表,但要對CACHE的大小作限制,因為CACHE存的是單個數據包的相關內容,而訪問列表存的是各種規則,范圍更大。二是視內存大小來限制訪問列表的總項數,如果超過此限制,不允許再增加新的表項,避免因訪問列表項過多降低查表效率。
3. Cisco路由器訪問列表控制的實施策略
在分析了路由器訪問列表的基本原理與設計要點后,可以采用以下策略來實現Cisco路由器的訪問列表控制:
3.1 Cisco路由器訪問控制的安全配置
Cisco路由器中內嵌IOS安全機制,增加了企業網絡的安全性,可以滿足一般企業互聯的需求,使網絡安全和管理技術得以提高。但是僅此一點是遠遠不夠的,保護路由器安全還需要網管員在配置和管理路由器過程中采取相應的安全措施。
具體來說,常用的安全配置包括:(1)嚴格控制可以訪問路由器的管理員,任何一次維護都需要記錄備案;(2)盡量不要遠程訪問路由器,即使需要遠程訪問,也要使用訪問控制列表和高強度的密碼控制;(3)嚴格控制CON端口的訪問,切斷與CON口互聯的物理線路,改變默認的連接屬性,修改波特率(默認是96000,可以改為其他的)。(4)為進入特權模式設置強壯的密碼,不采用enable password設置密碼,而采用enable secret命令,并啟用Service password-encryption。(5)BIOS的升級和備份,以及配置文件的備份使用FTP代替TFTP,并及時升級和修補IOS軟件。
3.2 Cisco路由器訪問控制的具體實施
因篇幅限制,本文主要以標準訪問列表為例,來分析Cisco路由器訪問控制的具體實施。
第一,標準訪問列表的數據結構。
struct accstdinfo
{
u_intaction;/*0->permit,1->deny*/
u_long ipaddr; /*IP地址*/
u_long mask;/*屏蔽碼*/
struct accstdinfo next;/*指向標準訪問列表項的指針*/
};
typedef struct accstdinfo*ACC_STD_INFO
ACC_STD_INFO acc_std_list[100];/*標準訪問列表數組*/
第二,CACHE的數據結構。
為了提高查表的效率,采用CACHE方式,每次查表先查CACHE尋找匹配。
struct accstdcache
{
u_long src_addr; /*數據包的原地址*/
u_long mask;/*屏蔽碼*/
u_int action;/*0->permit,l->deny*/
struct accstdcache *next;/*指向標準訪問列CACHE表項的指針*/
}
typedef struct accstdcache*ACC_STD_CACHE;
第三,配置命令。
(1)建立標準訪問列表或刪除標準訪問列表
access_list [1-99] [permit|deny] ip-address mask
no access list [1-99]
(2)將標準訪問列表應用于接口酬冬訪問列表從接口中移走
ip access-group[1-99][in|out]
no ip accees-group [1-99]
(3)顯示標準訪問列表
show access-list [1-99]
3.3 Cisco路由器訪問控制的實例分析
下面列舉了一些重要的訪問列表控制實例:
(1)防范IP欺騙和欺騙路由器
access-list 1 deny 210.41.176.0.0.0.255
access-list 2 permit 210.41.176.0.0.0.255
將訪問列表1用于wan連接ip access-group 1 in;將訪間列表2用于以太網接口,連接ip access-group 2 out。
(2)阻擊來自遠程特定IP地址的訪問:access-list 1 deny x.x.x.x x.x.x.x
(3)保護內部特定主機:access-list 101 deny ip any host 210.41.176.1
(4)保護內部所有主機的重要端口,如果保護用于文件和打印共享的端口,應阻止進入網絡的135、137、138、139的TCPT和UDP端口。
(5)阻止外部網絡用ping來探測網絡,可以用: access-list 101 deny icmp any any echo
阻止外部網絡用traceroute來探測網絡,可以用: access-list 102 deny icmp any any time-exceeded
參考文獻
[1]夏亮.強化Cisco路由器的安全配置[J].軟件導刊,2008(6)。
[2]趙清源.試論路由器的安全配置與安全維護[J] .電腦與電信,2008年(3)。
[3]房莉.Cisco路由器的安全與加固[J].黑龍江科技信息,2007年(22)。
[4]馬素剛.路由器安全訪問策略設計與實現》,《西安郵電學院學報》,2007年(5)。
[5]王云.路由器訪問列表與網絡安全[J].陜西氣象,2006年(4)。
[6]伍樹乾.利用Cisco路由器的訪問列表提高網絡安全[J].華南金融電腦,2003年(1)。