OSPF协议作为园区网络中较为常见的路由协议,其配置的安全性和重要性自然不言而喻。如何有效防御OSPF的安全隐患,OSPF的设计师们在设计它的时候加入了许多项的安全性设计,主要体现在以下两个方面: 1.反攻击机制(fightback):即使攻击者通过以合法的伪造信息“混入”LSDB,但是OSPF会“以其人之道,还治其人之身”的方式将构建一个伪造的信息回复给发出者,并且将其剔除出网络。 2.认证机制:让路由器之间共享明文密码或者MD5加密校验和。
认证机制
在RFC 2178发布之前,OSPF认证功能只支持区域范围的认证。换句话说,要激活认证功能,区域内的所有路由器必须全部启动认证功能。RFC2178修改了这一强制性要求,以便OSPF认证功能可以在不同的链路上激活,即仅在区域内的一个或多个链路上激活,而无需激活区域内的所有链路。但是本人还是建议在所有链路上启动认证功能,以防止出现“漏网之鱼”导致整个网络的奔溃,出现“一颗老鼠屎搅坏一锅粥”的尴尬情况。RFC2178为网络管理人员提供了更大的灵活性,以便在OSPF区域中部署不支持认证功能的路由器。但是这反过来又意味着,允许不支持OSPF认证功能的路由器在“已启动认证功能的区域”出现,从而产生其他安全问题。 ospf认证根据类型分为3种:1.链路认证2.区域认证3.虚链路认证,认证体现在OSPF报文头部中的Auth Type字段,当Auth Type为0时则代表不认证,为1时代表开启了明文密码认证,为2时代表开启了MD5加密认证。
1.链路认证
OSPF的链路认证是基于接口上的,如下图,在常规宣告之后需要在R2的接口E0/0/1和R3的接口E0/0/0上配置认证,命令为ospf authentication-mode md5 1 cipher huawei(MD5认证:密码为huawei),必须注意的是,认证都是双方的,如果对端没有配置一样的认证就会导致邻居关系建立的失败。 在R3的接口0上随便抓一个OSPF包,可以观察到认证的详细内容,其中字段Auth Type是00 02,代表MD5认证
2.区域认证
OSPF的区域认证是基于区域的,它可以对通过区域内的设备进行互相验证,同区域间的设备要进行安全的通信就可以在需要交互的区域间配置区域认证。 如图3-13-3,区域0和区域1之间对安全性要求较高,则可以在区域间配置认证,区域认证需要在OSPF区域内配置,命令为authentication-mode simple cipher 123(明文认证:密码为123),同样的,R2也必须配置相同命令,否则将无法通信。
在R1的接口0上随便抓一个OSPF包查看其头部信息,可以观察到Auth Type字段显示为00 01,代表明文密码认证
3.虚链路认证
OSPF还存在一种特殊的认证就是虚链路认证,此类型的认证从它的名字一样,只存在在虚链路的邻居之间,如下图,R1和R2之间配置了虚链路,并且要求其具有一定的安全性,此时我们就可以在R1和R2上配置虚链路认证,是其更加安全,其配置是基于虚链路区域的,配置命令为:vlink-peer 3.3.3.3(2.2.2.2) md5 3 cipher 12345(md5加密:密码为12345),值得注意的是,当虚链路认证和区域认证同时存在时,优先虚链路认证。
OSPF在长期演变之后能够提供给我们适应各种场景的认证,并且OSPF作为园区网的“常客”,经常出现在各种规模的网络里,而现在大多数的园区网络或多或少都有安全性需求,所以在在部署OSPF的时候,笔者是比较推荐顺带将认证配置上,不仅客户安心,后面的运维也能够省事一些。
|