路由协议认证比较

(整期优先)网络出版时间:2019-10-27
/ 3
摘 要 出于安全的原因,需要在路由协议中配置认证,然而不同路由协议的认证配置有很大的不同。本文通过大量的实验结果,对不同的路由协议的认证规律进行了详细的总结

关键词 认证、明文、密文、钥匙链


0 前言

随着网络发展,安全问题已成为一个严重问题,各种欺骗手段层出不穷,发布虚假路由是黑客常用的一种手段。为此在路由器上配置路由协议时,通常需要配置认证。下面将对常见的路由协议认证进行详细的总结。

1 RIP V2协议的认证

1547105100.jpg

图1 拓扑图1

以图1来说明RIP的认证,RIP Version2才支持认证,有明文认证和密文认证两种方法,这两种方法中均需要配置钥匙链key-chain。

1.1 明文认证

RIP配置认证是在接口上进行的,首先选择认证方式,然后指定所使用的钥匙链。R1上的明文认证配置如下,R2上参照配置:

R1:

interface Serial1/1

ip rip authentication mode text //指定采用明文认证,明文认证是默认值,可以不配置

ip rip authentication key-chain rip-key-chain /指定所使用的的钥匙链

key chain rip-key-chain //配置钥匙链

key 1

key-string cisco //配置密钥

RIP是距离向量路由协议,不需要建立邻居关系,其认证是单向的,即R1认证了R2时(R2是被认证方),R1就接收R2发送来的路由;反之,如果R1没认证R2时(R2是被认证方),R1将不能接收R2发送来的路由;R1认证了R2(R2是被认证方)不代表R2认证了R1(R1是被认证方)。明文认证时,被认证方发送key chian时,发送最低ID值的key,并且不携带ID;认证方接收到key后,和自己key chain的全部key进行比较,只要有一个key匹配就通过对被认证方的认证。图1中R1和R2的钥匙链配置如表1时,R1和R2的路由如表1中的规律。

表1 RIP明文认证结果

R1的key chain

R2的key chain

R1可以接收路由?

R2可以接收路由?

key 1=cisco

key 2=cisco

可以

可以

key 1=cisco

key 2=cisco

key 1=abcde

可以

key 1=cisco

key 2=abcde

key 2=cisco

key 1=abcde

可以

可以

1.2 密文认证

RIP的密文认证和明文认证配置非常类似,只需要在指定认证方式为MD5认证即可。R1的配置如下,R2参照即可:

R1:

interface Serial1/1

ip rip authentication mode md5 //指定采密文认证

ip rip authentication key-chain rip-key-chain //指定所使用的钥匙链

key chain rip-key-chain //配置钥匙链

key 1

key-string cisco

同样RIP的密文认证也是单向的,然而此时被认证方发送key时,发送最低ID值的key,并且携带了ID;认证方接收到key后,首先在自己key chain中查找是否具有相同ID的key,如果有相同ID的key并且key相同就通过认证,key值不同就不通过认证。如果没有相同ID的key,就查找该ID往后的最近ID的key;如果没有往后的ID,认证失败。采用密文认证时,图1中R1和R2的钥匙链配置如表2时,R1和R2的路由如表2中的规律。

表2 RIP 密文认证结果

R1的key chain

R2的key chain

R1可以接收路由?

R2可以接收路由?

key 1=cisco

key 2=cisco

不可以

可以

key 1=cisco

key 2=cisco

key 1=abcde

不可以

不可以

key 1=cisco

key 5=cisco

key 2=cisco

可以

可以

key 1=cisco

key 3=abcde

key 5=cisco

K2=cisco

不可以

可以

2 OSPF认证

1547105762.jpg

图2 拓扑图2

以图2说明OSPF认证配置和规律,R3和R4上建立虚链路。OSPF是链路状态路由协议,所以能否收到路由取决于能否和邻居路由器建立毗邻关系;如果能够建立毗邻关系,则互相能接收路由,不像RIP协议是单向的。

2.1 区域认证、链路认证、虚链路认证

2.1.1 区域认证

区域明文认证配置如下,R1/R2/R3上,打开明文认证,在接口上先不配置密码,如下:

R1/R2/R3:

router ospf 100

area 0 authentication //area 0采用明文认证

这时使用“show ip ospf interface”命令可以看到:R1/R2/R3在area 0上的接口将继承area 0的配置而采用明文认证。由于没有在接口上配置密码,采用空密码,认证仍可以通过。

可以在接口上,配置明文认证的密码,R1上的配置如下,R2/R3上参照配置,如下:

R1:

interface s1/1

ip ospf authentication-key cisco //配置明文认证密码,密码只能有一个。

区域采用密文认证配置如下,R1/R2/R3上,打开密文认证,在接口上配置密码,如下:

R1:

router ospf 100

area 0 authentication message-digest //采用密文认证

interface Serial1/1

ip ospf message-digest-key 1 md5 cisco //在接口上配置ID 1的密码为cisco

同样,如果不在接口上配置密码,认证也可以成功,这时密文认证采用ID=0的空密码。

2.1.2 链路认证

虽然接口自动继承所在区域的认证方式,但是可以在接口下进行链路认证配置,从而覆盖继承下来的认证方式,采用如下配置,R1和R2的毗邻关系正常建立:

R1:

router ospf 100

area 0 authentication message-digest //区域采用密文认证

interface Serial1/1

ip ospf authentication //链路采用的却是明文认证

ip ospf authentication-key cisco2 //配置明文密码

R2

router ospf 100

area 0 authentication message-digest //区域采用密文认证

interface Serial1/0

ip ospf authentication //链路采用的却是明文认证

ip ospf authentication-key cisco2 //配置明文密码

如果链路要采用密文认证,以R1为例的配置如下:

R1:

interface Serial1/1

ip ospf authentication message-digest //链路采用的是密文认证

ip ospf message-digest-key 1 md5 cisco //配置密文密码

2.1.3 虚链路认证

虚链路的配置和链路的配置很类似,虽然也是继承区域0的配置,但是可以在虚链路上进行覆盖。以下是在R3和R4之间的虚链路上进行明文认证:

R3:

router ospf 100

area 0 authentication message-digest //区域采用密文认证

area 1 virtual-link 4.4.4.4 authentication //虚链路却采用明文认证

area 1 virtual-link 4.4.4.4 authentication-key cisco3 //配置明文认证密码

以下是R3和R4之间的虚链路上进行密文认证:

R3:

router ospf 100

area 1 virtual-link 4.4.4.4 authentication message-digest //虚链路采用密文认证

area 1 virtual-link 4.4.4.4 message-digest-key 1 md5 cisco4 //配置密文认证密码

2.2 密文认证时的密码

OSPF可以在修改密码过程中仍然保持毗邻关系正常,实现密码的平稳过渡,为了实现此目的,OSPF会发送旧密码。当新加入key时,OSPF把最后添加的key做为Youngest key,把Youngest key发送给对方(并携带了ID);对方收到后,把它和自己的全部key一一进行比较(需要ID和密码都相同才算是匹配,并且是根据反顺序进行的);如果通过则采用该key,否则继续采用旧的key。然而OSPF如果发现当前正在采用的key不是Youngest的key,则会把全部key(并携带ID)全部发送给对方;如果当前key是Youngest的key,则只发送Youngest的key,之前的key不再进行发送。表3是在R1和R2之间的链路上采用密文认证时,不断增加密码的规律,用show ip ospf interface 命令可以看到从接口上发送出去的密码。


表3 OSPF认证密码规律

序号

R1的密码

R2的密码

R1发送出的密码

R2发送出的密码

形成邻居?

1

ID1=cisco

ID1=cisco

ID1

ID1

是,采用ID1

2

增加

ID2=cisco2

不改变

ID1=cisco

ID2=cisco2

ID1

是,采用ID1

3

不改变

增加

ID2=cisco2

ID2=cisco2

ID2=cisco2

是 ,采用ID2

4

增加

ID4=cisco34

增加

ID3=cisco34

ID1=cisco

ID2=cisco2

ID4=cisco34

ID1=cisco

ID2=cisco2

ID3=cisco34

是,采用ID2

5

不改变

增加

ID4=cisco44

ID4=cisco34

ID4=cisco44

不成功,ID4的key值不同


3 EIGRP认证

EIGRP只支持md5认证,也只是在接口上配置认证,EIGRP也需要建立邻居关系。同样以图1为例,R1的配置如下,R2参照即可:

R1:

interface Serial1/1

ip authentication mode eigrp 90 md5 //采用密文认证

ip authentication key-chain eigrp 90 eigrp-key-chain //配置钥匙链

key chain eigrp-key-chain

key 1

key-string cisco

表4 EIGRP密文认证结果

R1的key chain

R2的key chain

可以形成邻居?

key 1=cisco

key 2=cisco

不可以

key 1=cisco

key 2=cisco

key 2=cisco

key 1=abcde

不可以

key 1=cisco

key 5=cisco

key 2=cisco

不可以

key 1=cisco

key 2=12345

key 1=cisco

Key 2=abced

可以

EIGRP认证时,路由器发送最低ID的key,并且携带ID,只有ID和key值完全相同才能成功认证。图1中R1和R2的钥匙链配置如表4时,R1和R2的邻居关系如表4中的规律。

在RIP/OSPF/EIGRP中,key chain的名字都只是本地有效,key chain名字的不同不影响认证。

4 BGP认证

BGP只能采用MD5认证,也需要建立邻居关系,配置非常简单,配上密码即可,以图1中的R1为例,如下:

R1:

router bgp 100

bgp log-neighbor-changes

neighbor 12.2.2.2 remote-as 100

neighbor 12.2.2.2 password cisco //配置密文认证的密码

BGP中,只有双方的密码相同才能形成邻居关系。

5 综合比较

不同路由协议的认证方式虽然不同,但是只要是明文认证,安全性均存在很大的隐患;而密文认证的安全性在可预见的时间内是可以得到保证的,虽然密文认证会给路由器带来一些微不足道的负担。表5是各种路由协议的综合比较。

表5 路由协议认证综合比较

路由协议

支持认证

明文认证的安全性

密文认证的安全性

支持单向认证

支持key-chain

支持密码平稳过渡

RIP V1

IGRP

RIP V2

OSPF

是(仅在密文认证时)

EIGRP

BGP


参考文献

1 李志,王纲等译[M]. CCIE学习指南实验室操作(第二版). 北京:机械工业出版社,2002年1月

2 陈晓筹, 邝卫国[M]. CCIE Securitiry实验指南. 北京:人民邮电出版社,2005年8月