思科路由器除支持豐富的路由協(xié)議外,還提供了基礎(chǔ)的安全防護功能,可以在一定程度上代替防火墻,建立第一道安全防護屏障,對于安全防護措施不是太苛刻的小型網(wǎng)絡(luò)來說已經(jīng)足夠。就以筆者單位思科 7609路由器(IOS版本為12.2<33>SRB4)為例,通過設(shè)置訪問控制列表、網(wǎng)絡(luò)地址轉(zhuǎn)換等,讓路由器實現(xiàn)基本防火墻功能。
通過訪問控制列表(Access Control List)實現(xiàn)數(shù)據(jù)包過濾功能。該方法是在路由器上讀取網(wǎng)絡(luò)層及傳輸層數(shù)據(jù)包中源地址、目的地址、源端口和目的端口等信息,根據(jù)預(yù)先定義好的規(guī)則對數(shù)據(jù)包進行處理,從而實現(xiàn)對數(shù)據(jù)包分析過濾。
思科 7609支持標(biāo)準(zhǔn)訪問控制列表、擴展訪問控制列表、擴展MAC地址訪問控制列表、速率限制訪問控制列表和動態(tài)擴展訪問控制列表等。這里介紹標(biāo)準(zhǔn)訪問控制列表和擴展訪問控制列表設(shè)置方法。
標(biāo)準(zhǔn)訪問控制列表序號從1-99,只定義允許或禁止某一個網(wǎng)段或某一個主機訪問。禁止192.168.1.1的用戶主機進入eth1/0接口只需兩步。
第一步:定義訪問控制列表
擴展訪問控制列表序號從100-199,擴展訪問控制列表能夠完成從源地址到目的地址,從IP層到傳輸層的數(shù)據(jù)包過濾功能。例如若需要禁止C類地址192.168.1.0進入eth1/0訪問192.168.2.0網(wǎng)段則只需執(zhí)行以下命令:
首先是定義訪問控制列表:
基于訪問控制列表,路由器可以對一些常見的病毒進行過濾。比如,沖擊波病毒使用 TCP和 UDP的 135、136、137、138、139 及 445 端 口 進行傳播,如果在路由器上禁止上述端口的數(shù)據(jù)包通過,就可以防范該病毒的攻擊,下面就以過濾TCP和UDP的135端口為例,制定訪問控制列表如下:
Router(config)#Access-list 110 deny tcp any any eq 135
Router(config)#Access-list 110 deny udp any any eq 135
過濾其他TCP和UDP端口的方法和上面例子一樣,制定好訪問控制列表后就將該訪問控制列表應(yīng)用到指定的接口上即可生效。
NAT(Network Address Translator)即網(wǎng)絡(luò)地址轉(zhuǎn)換,其原理是將內(nèi)部網(wǎng)絡(luò)地址轉(zhuǎn)換為外部網(wǎng)絡(luò)地址,從而使內(nèi)部網(wǎng)絡(luò)用戶使用一個或多個外部IP地址與外部網(wǎng)絡(luò)通信。使用NAT技術(shù)一方面可解決因特網(wǎng)地址較少的問題;另一方面,使用外部網(wǎng)絡(luò)地址訪問外部網(wǎng)絡(luò),可以很好地隱藏內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu),從而達到保護內(nèi)部網(wǎng)絡(luò)的目的。
思科7609提供的NAT類型有三種:靜態(tài)NAT、動態(tài)NAT和網(wǎng)絡(luò)地址端口轉(zhuǎn)換NAPT。靜態(tài)NAT是將內(nèi)部網(wǎng)絡(luò)中的每個主機都被永久映射成外部網(wǎng)絡(luò)中的某個合法的地址。動態(tài)地址NAT是在外部網(wǎng)絡(luò)中定義了一系列的合法地址,采用動態(tài)分配的方法映射到內(nèi)部網(wǎng)絡(luò)。NAPT則是把內(nèi)部地址映射到外部網(wǎng)絡(luò)的一個IP地址的不同端口上。動態(tài)NAR較為常用,配置步驟如下:
第一步:定義映射到外部的地址池,其中PoolName為自定義的地址池名字,startIP為起始IP地址,endIP為結(jié)束IP地址。
ip nat pool PoolName startIP endIP netmask 255.255.255.0
第二步:允許轉(zhuǎn)換的內(nèi)部地址范圍,這里允許的地址范圍為一個C類地址段192.168.1.0。
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
第三步:指定內(nèi)部接口。
Router(config)#inter face g0/0
Router(config-if) #ip nat inside
第四步:指定外部接口。
Router(config)#inter face s0/0/0
Router(config-if) #ip nat outside
第五步:配置動態(tài)映射,將內(nèi)部地址映射到外部地址池。
Router(config)#ip nat inside source list 1 pool PoolName
思科7609路由器支持基于上下文的訪問控制(Context Based Access Control,CBAC)技術(shù),啟用該功能,可以抵御DoS攻擊,其原理是在報文進入或離開指定接口時對報文進行檢測,將報文的有關(guān)信息存放在狀態(tài)信息表中,包括報文的源地址、目的地址以及TCP、UDP的端口號等。利用該狀態(tài)表創(chuàng)建臨時開啟表項,用于檢查返回的流量,臨時表項被放在接受返回流量的接口上。當(dāng)連接完成時,狀態(tài)表和訪問表中的相關(guān)表項被清除。對于TCP,這些表項會在客戶和服務(wù)器之間交換一個正常的FIN之后被清除,而對于UDP,則可配置不活躍的超時值。CBAC配置示例如下:
基于網(wǎng)絡(luò)的應(yīng)用識別(Network Based Application Recognition,NBAR)是思科路由器IOS從12.1版本開始支持的一個流量分類引擎技術(shù)。該技術(shù)通過查看數(shù)據(jù)包的前512個字節(jié),可以檢測識別各種應(yīng)用協(xié)議,并在路由器內(nèi)建立一個協(xié)議到端口的映射表,之后用戶就可以利用classmap類別映射去匹配這些相應(yīng)的協(xié)議,以實現(xiàn)帶寬控制、流量整形和包丟棄等防火墻策略。
該技術(shù)既支持使用固定端口的常見應(yīng)用層協(xié)議如 HTTP、FTP、H232等,也支持一些經(jīng)常更換端口的應(yīng)用層協(xié)議,如BT等。對新出現(xiàn)的協(xié)議,用戶還可以到思科公司網(wǎng)站下載最新的包描述語言模塊(Packet DescriptionLanguage Module,PDLM)文件,對內(nèi)建協(xié)議到端口映射表進行更新,從而使路由器對最新出現(xiàn)的協(xié)議類型進行識別和判定。如果要對網(wǎng)內(nèi)FTP占用接口最大帶寬限制為10%,可以按以下步驟設(shè)置:
1.定義映射的類(或應(yīng)用協(xié)議),其中ClassName為類名, FTP為需要識別的應(yīng)用協(xié)議。
2.定義類所適用的策略,其中PolicyName為策略名,其具體含義為:定義定義一個策略PolicyName,然后將上面定義的類ClassName,也就是FTP協(xié)議放到這個策略中,并給這個類分配占用接口最大帶寬限制為10%的帶寬。
TCP攔截主要作用就是防止SYN泛洪攻擊。SYN攻擊利用TCP的三次握手機制,用偽造的IP地址向被攻擊端發(fā)出請求,而被攻擊端發(fā)出的響應(yīng)報文將永遠發(fā)送不到目的地,被攻擊端在等待關(guān)閉此連接過程中消耗了資源,如果有成千上萬的這種連接,主機資源將被耗盡,從而達到攻擊的目的。開啟TCP攔截分為三個步驟:
第一步是設(shè)置TCP攔截的工作模式。
TCP攔截的工作模式分為攔截和監(jiān)視。攔截模式下,路由器審核所有的TCP連接,自身的負擔(dān)加重,所以一般讓路由器工作在監(jiān)視模式,監(jiān)視TCP連接的時間和數(shù)目,超出預(yù)定值則關(guān)閉連接。
Router(config)#ip tcp intercept mode(intercept|watch)
第二步是設(shè)置訪問表,以開啟需要保護的主機。
Router(config)#a c c e s s-l i s t 1 0 1 permit tcp any host 219.148.150.126
第三步是開啟TCP攔截。
Router(config)#ip tcp intercept list accesslist-number