萬朝輝
(河北諾亞人力資源開發(fā)有限公司,河北石家莊050000)
目前網(wǎng)絡(luò)中使用的路由信息協(xié)議有很多,比如OSPF、ISIS、RIP及BGP等。每個路由信息協(xié)議都有自身的優(yōu)缺點。面對不同的網(wǎng)絡(luò)環(huán)境,應(yīng)該根據(jù)具體情況來選用合適的路由信息協(xié)議。比如小型的互聯(lián)網(wǎng)中,由于RIP簡單和開銷較小的優(yōu)點,人們經(jīng)常會選擇RIP作為路由協(xié)議。但是RIP自身的漏洞會引起網(wǎng)絡(luò)安全方面的問題,所以使用RIP的同時,也要做好安全防范。
RIP屬于一種路由選擇協(xié)議,是分布式的、利用距離向量(Bellham-Ford)的算法。在此類通信網(wǎng)絡(luò)中,每個路由器與2個以上的實際網(wǎng)絡(luò)相連,負責(zé)在這些網(wǎng)絡(luò)之間轉(zhuǎn)發(fā)通信數(shù)據(jù),RIP協(xié)議中的“距離向量”被稱作“跳數(shù)”,從一個路由器到連接網(wǎng)絡(luò)的距離定義為1,每經(jīng)過一個路由器,跳數(shù)就自動加1,但是RIP規(guī)定一條路徑的上限是15個路由器,當(dāng)“距離”超過15個時,就默認(rèn)拒絕。
RIP通過的路由器數(shù)量最少,擁有“最短距離”的特性,快捷方便,被廣泛應(yīng)用。所以,在網(wǎng)絡(luò)中如果還有另外一條高速且經(jīng)過路由器較多的路由時,RIP也會選擇一條具有最少路由器的路由,而舍棄前者。
RIP協(xié)議每隔一段固定的時間(30 s)就會與相鄰的路由器交換路由表,每個路由器都會將所知的最短路徑及每個網(wǎng)絡(luò)經(jīng)過的下一跳路由器告訴相鄰的鄰居。
目前,RIP協(xié)議有2個版本,分別是RIP1和RIP2。RIP1不支持子網(wǎng)掩碼,RIP2可以支持變長的子網(wǎng)掩碼和CIDR。另外,RIP2還提供簡單的鑒別過程并支持多播。
RIP協(xié)議的報文格式如圖1所示,從圖中可以看出,RIP報文是使用運輸層的用戶數(shù)據(jù)報協(xié)議(UDP)進行傳送的。
RIP的首部占4 bytes,命令字段用來解釋報文的含義。命令字段為1時,代表請求路由信息,2代表對請求路由信息的響應(yīng)或未被請求而發(fā)出的路由更新報文。RIP的路由部分是由路由信息組成的。地址族標(biāo)識符字段是用來標(biāo)識所使用的地址協(xié)議,當(dāng)值為2時,說明使用的是IP地址。路由標(biāo)記字段填入的是自治系統(tǒng)號,自治系統(tǒng)號可以不是本自治域的。RIP報文的最大長度是504 bytes,當(dāng)超出此值時,必須用另外一個RIP報文來傳送。

圖1 RIP2協(xié)議報文格式
RIP報文使用不可靠的UDP報文進行傳送,安全性差。而且,運行RIP協(xié)議的路由器如果沒有使用認(rèn)證機制,沒有發(fā)出更新請求的路由器也能夠接收到更新報文,即路由器可以接受來自任何相鄰設(shè)備的路由信息,這樣就造成了網(wǎng)絡(luò)安全方面的漏洞。
若黑客偽裝成正常的設(shè)備向路由器發(fā)送虛假的路由更新報文,路由器接收后,就會對原來正確的路由表目進行修改,修改后路由器就會按照錯誤的路由進行報文收發(fā),導(dǎo)致機密信息泄露,甚至網(wǎng)絡(luò)崩潰。
由于RIP存在安全漏洞,在網(wǎng)絡(luò)運行中,沒有認(rèn)證機制的情況下,容易受到RIP欺騙。RIP欺騙舉例如圖2所示,按照圖中的IP地址配置好各個端口后,對路由器R1和R2分別進行路由表的查詢會得出2個路由器的路由表目。

圖2 RIP欺騙
路由器R1的路由表目為:
Router R1#show ip route
1.0.0.0/8 is directly connected,Serial 0/1
192.168.1.0/24 is directly connected,FastEthernet 0/0
2.0.0.0/8[120.1]via 192.168.1.2/24(on FastEthernet 0/0)
路由器R2的路由表目為:
Router R2#show ip route
2.0.0.0/8 is directly connected,Serial 0/1
192.168.1.0/24 is directly connected,FastEthernet 0/0
1.0.0.0/8[120.1]via 192.168.1.1/24(on FastEthernet 0/0)
IP地址為192.168.1.3/24的計算機作為攻擊者,先使用軟件Namp來探測到UDP端口之后,攻擊者再利用Sniffer軟件捕獲R1路由器發(fā)出的更新報文,并對正確的報文進行惡意的修改,比如:將子網(wǎng)掩碼255.0.0.0修改為255.255.0.0,那么路由表目中的1.0.0.0/8 is directly connected,Serial 0/1就會被惡意修改為1.0.0.0/16 is directly connected,Serial 0/1,攻擊者再將此虛假的報文發(fā)給R2路由器,那么路由器R2得到的路由更新報文就是錯誤的,這就是一個簡單的RIP欺騙。
針對RIP協(xié)議的不安全性,可以了解到RIP欺騙的嚴(yán)重性,當(dāng)一個正常運作的網(wǎng)絡(luò)受到RIP欺騙時,很有可能被竊取機密信息,甚至導(dǎo)致這個正常運作的網(wǎng)絡(luò)癱瘓,所以必須采取措施對RIP欺騙進行安全防范。目前,具體的安全防范可以有以下幾種。
(1)RIP2報文中使用驗證機制
RIP1報文天生具有不安全因素,所以采用RIP2報文并在該報文的分組格式中設(shè)置16個字符的明文密碼字符串或MD5簽字,具體封裝報文如圖3所示。

圖3 RIP2驗證信息封裝報文
RIP2報文中封裝了驗證信息,oxFFFF是驗證標(biāo)志,當(dāng)驗證類型為ox0002時,說明是采用明文驗證。密文驗證還沒有公開標(biāo)準(zhǔn),但在CISCO公司產(chǎn)品中是支持MD5密文驗證的。采用RIP2驗證信息封裝報文后,路由器之間交換路由信息就必須先通過驗證,只有在驗證通過后,2個路由器之間才能互相交換路由,否則,在驗證不通過的情況下,說明有設(shè)備不被信任,2個路由器之間是不能交換信息的,這就使惡意攻擊者不能輕易攻擊路由器了。
(2)采用數(shù)據(jù)鏈路層PPP驗證
PPP是點對點協(xié)議,修改了SLIP協(xié)議中的所有缺陷,并允許通信雙方進行協(xié)商。確定不同的選項,采用路由器之間數(shù)據(jù)鏈路層PPP的驗證,使用PPP的PAP驗證或Chap驗證,可以實現(xiàn)數(shù)據(jù)鏈路層的安全線路連接。
(3)被動端口的應(yīng)用和配置
將路由器的某接口配置更改為被動接口后,該接口立即停止向該接口所在的網(wǎng)絡(luò)廣播路由發(fā)送任何更新消息。但是,該接口完全可以繼續(xù)接收路由更新廣播消息。
在網(wǎng)絡(luò)信息飛速發(fā)展的今天,網(wǎng)絡(luò)安全問題越來越受到重視,由于RIP協(xié)議簡單和開銷小的優(yōu)點被廣泛應(yīng)用于企業(yè)內(nèi)部網(wǎng)。但是在使用RIP協(xié)議的同時,也要考慮到其本身的不安全因素,并采取相應(yīng)的安全措施來防范。
[1]Roberta B,Mak R O,Keith S.網(wǎng)絡(luò)安全完全手冊[M].北京:電子工業(yè)出版社,2005.
[2]Kaspersky K.黑客調(diào)試技術(shù)揭秘[M].北京:電子工業(yè)出版社,2006.
[3]Stallings W.密碼編碼學(xué)與網(wǎng)絡(luò)安全[M].北京:電子工業(yè)出版社,2006.
[4]謝希仁.計算機網(wǎng)絡(luò)(第五版)[M].北京:電子工業(yè)出版社,2008.
[5]秦昌潛.報文分片對網(wǎng)絡(luò)的影響[J].中國集體經(jīng)濟,2012(9):176-177.
[6]Rhee M Y.網(wǎng)絡(luò)安全加密原理、算法與協(xié)議[M].北京:清華大學(xué)出版社,2007.