ospf协议详解总结
ospf协议详解总结(精选4篇)
ospf协议详解总结 第1篇
OSPF认证分为区域认证和接口认证,加密方法分为简单加密和MD5加密。
(下面所讲的都是在网络设备正确安装配置,OSPF协议正常运行,网络全互联状态下)
(一)首先先讲下接口下的认证:
1.接口下基于明文的认证
R1(config)#interface serial 1/1
R1(config-if)#ip ospf authentication
R1(config-if)#ip ospf authentication-key free
R1(config-if)#exit
这时候debug会出现以下信息
00:30:33: OSPF: 192.168.1.5 address 192.168.1.2 on Serial1/1 is dead
00:30:33: OSPF: 192.168.1.5 address 192.168.1.2 on Serial1/1 is dead, state DOWN
00:30:33: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.5 on Serial1/1 from FULL to DOWN, Neighbor Down: Dead timer expired
00:30:35: OSPF: Rcv pkt from 192.168.1.2, Serial1/1 : Mismatch Authentication type. Input packet specified type 0, we use type 1
00:54:45: OSPF: Rcv pkt from 192.168.1.2, Serial1/1 : Mismatch Authentication Key - Clear Text
大意为认证的失败导致邻居关系DOWN,明文认证。
这时候就需要在对端接口下启用相同命令就可以正常建立邻居关系。
2.接口下基于MD5认证:
R1(config)#interface serial 1/1
R1(config-if)#ip ospf authentication message-digest
R1(config-if)#ip ospf message-digest-key 1 md5 free
命令和上面的明文差不多,第一句是启用基于MD5的认证,第二句中数字1是key ID,范围为1-255,
md5后面为密码,16位以内字符即可,不过双方需要一致。
配置完成同样会出现邻接关系DOWN掉的提示,依旧在对方配置相同信息即可。
(二)下面讲讲基于区域的认证。
1.基于区域的明文认证:
R1(config)#router ospf 1
R1(config-router)#area 1 authentication(区域1开启认证)
R1(config-router)#exit
R1(config)#interface serial 1/1
R1(config-if)#ip ospf authentication-key free(配置认证的明文密码)
配置完成后会出现下面的提示
01:10:25: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.5 on Serial1/1 from FULL to DOWN, Neighbor Down: Dead timer expired
这时候同样在对方配上相同信息即可。
2.基于区域的MD5认证:
R1(config)#router ospf 1
R1(config-router)#area 1 authentication message-digest(区域1开启MD5认证)
R1(config-router)#exit
R1(config)#interface serial 1/1
R1(config-if)#ip ospf message-digest-key 1 md5 free(配置认证的MD5密码)
然后同样在对方配置完成即可正常建立邻居关系。
当然,当你想更换密码的话,可以用一下命令,
R1(config)#interface serial 1/1
R1(config-if)#ip ospf message-digest-key 2 md5 free2
这样OSPF在发送数据时会同时使用1和2两种加密密码,发送两份不同数据。当两端同时配好,2可以正常使用,就可以no掉1了。这样做不影响正常邻居关系。
说的很多,其实OSPF的身份认证还是比较简单的。
OSPF协议安全性分析 第2篇
随着Internet技术在全球范围内的飞速发展, IP网络作为一种最有前景的网络技术, 受到了人们的普遍关注。而作为IP网络生存、运作、组织的核心IP路由技术提供了解决IP网络动态可变性、实时性、Qo S等关键技术的一种可能。到了20世纪80年代中期, RIP不能服务于大型、异构网络的缺陷愈发明显。为了解决这个问题, IETF成立了IGP工作组, 专门设计用于因特网的基于最短路径优先 (SPF) 算法的IGP (内部网关协议, Interior Gateway Protocol, 简称IGP) 。OSPF作为是SPF类路由协议中的开放式版本, 由于它较好的解决了网络可扩展性及快速收敛的问题, 使得OSPF协议迅速成为目前Internet广域网和Intranet企业网采用最多、应用最广泛的动态路由技术之一。
1 OSPF工作原理
OSPF是一种分层次的路由协议, 其层次中最大的实体是AS (自治系统) , 即遵循共同路由策略管理下的一部分网络实体。在每个AS中, 将网络划分为不同的区域。每个区域都有自己特定的标识号。对于主干 (backbone) 区域, 负责在区域之间分发链路状态信息。这种分层次的网络结构是根据OSPF的实际提出来的。当网络中自治系统非常大时, 网络拓扑数据库的内容就更多, 所以如果不分层次的话, 一方面容易造成数据库溢出, 另一方面当网络中某一链路状态发生变化时, 会引起整个网络中每个节点都重新计算一遍自己的路由表, 既浪费资源与时间, 又会影响路由协议的性能 (如聚合速度、稳定性、灵活性等) 。
2 OSPF脆弱性分析
虽然OSPF路由协议自身的复杂性和其内建的安全机制使得对OSPF的攻击较难实施, 但是OSPF并不足够安全, 它仍存在着很多薄弱环节可以被攻击者利用, 例如美国人开发的nemesis-ospf工具软件就曾经可以成功的对OSPF进行某些形式的攻击。
2.1 内建安全机制的失效
在OSPF的三个内建安全机制中, 层次路由机制主要是尽力减小攻击的影响范围域, 它不能杜绝攻击, 而且若攻击者入侵到一个ABR、自治系统边界路由器 (AS Boundary Router, ASBR) , 或者攻击实体假扮成一个ABR, ASBR, 这时层次路由机制就不足为力了。程序性检验是一般路由协议都要进行的一个过程, 它只是为攻击增加了复杂度。OSPF自反击安全机制相对来说给攻击造成的麻烦要大一些, 但仍有一些方法可使自反击机制实效。
2.1.1 周期性注入
RFC2328规定LSA的更新速度不能超过最小LSA生成间隔 (Min LSInterval) , 该参数默认为5秒, 如果攻击者以比Min LSInterval更高的速度注人序号更大的虚假LSA, 就很可能使该虚假LSA被其它路由器应用, 而真正的LSA却被淹没了。
2.1.2 分块网络
如果使虚假LSA不被泛洪给该LSA的合法生成者, 则该ISA的合法生成者就不会启动其自反击机制来纠正该LSA。假设有一个被人侵的路由器所处的位置可以将区域分为两个子区域, 则攻击者就可以只向其中的一个子区域以另一个子区域中的某路由器的身份注人虚假LSA, 而不向另一个子区域注入, 这显然就可以达到欺骗的效果。
2.1.3 幻影路由器
虚构一个路由域中本不存在的路由器使路由域中的其它路由器认为好像存在这么一个路由器, 这样的路由器称为幻影路由器。以幻影路由器的身份注人大量虚假信息, 将不会触发自反击机制的作用。然而需要注意的是注人的LSA并不一定会参与路由计算, 除非该幻影路由器能够和某个路由器形成邻接关系。
2.1.4 注入AS外部路由
如果攻击者成功的人侵了一台ASBR或者伪装成一个ASBR, 它就可以通过注人LSA而引人虚假AS外部路由, 而其它路由器并不能验证、纠正其错误信息。
2.2 验证的安全性
OSPF信息交换都是需要进行验证的, 分为两类:简单密码验证和MD5加密认证, 也可以配置为不验证。简单密码验证其安全性几乎不值一提。对MD5加密认证机制, 这里我们假设其算法是安全的, 被使用的密钥不会被暴露, 并且选择适当, 运行平台被安全的管理并且没有被侵人, 由信息论表明:英语每8比特字符其平均信息嫡只有1.3, 如果管理者选择英语字母作为密钥, 则128比特密钥的信息嫡相当低, 攻击者可能只需要几分钟或者数天就能破解。而OSPF密钥选择很差劲几乎是一个普遍的现象, 并且通常3个月、半年才变换一次, 有的甚至从来不变化。在所有的这些场景中, 如果一个攻击者获得一条Hello报文, 他就很有可能破解该密钥, 并在随后侵人整个路由域。我们并得知, 2004年中国科学家已经成功的破解了MD5算法, 因此OSPF的验证方式并不足够安全。
2.3 对OSPF的常规攻击
OSPF整个运行机制相对比较复杂, 其运行过程中的很多环节都有可能被攻击者开发为对OSPF的攻击, 造成不同程度的危害, 这里我们只简要分析其中的部分情形作为示例。
2.3.1 利用Hello报文的攻击
OSPF路由器定期向外发送Hello报文, 用以发现邻居和维护邻接节点之间的关系。Hello报文中的区域ID, Hello间隔等参数错误, 会使该Hello报文被邻居路由器丢弃, 造成邻居Down, 直接在链路上阻绝Hello报文当然也可以造成这种危害。如果OSPF没有进行加密或者攻击者攻破了OSPF的验证体系, 攻击者就可以修改报文中的某些参数来达到攻击的效果。
2.3.2 利用Update报文的攻击
为修改LSA参数, 使OSPF朝着利于攻击者的方向运转, 攻击者必须能成功的注人虚假LSA。因此攻击者必须能够侵人或者假扮成一个OSPF路由器来和其它的路由器达到Exchange或者更高的状态, 以使两者间可以传送LSA, 而且此时攻击者显然必须至少占有一条链路的密钥或者该链路根本就不需要验证。然后, 攻击者就可以通过注人虚假LSA来达到攻击的目的了。例如不间断的发送大量Maxage的LSA进行Maxage攻击, 或者发送最大序号LS A进行最大序号攻击, 等等。
2.3.3 资源消耗攻击
通过不间断的大量发送各种类型的OSPF报文, 很可能造成被攻击实体的资源耗竭, 而无法正常工作。例如向OSPF的邻居发送包含过长邻居列表的超大Hello报文, 邻居路由器将需为邻居列表上的每个邻居创建邻居结构, 而消耗大量的资源。
3 相关建议
OSPF路由协议并不足够安全, 鉴于其在Intemet网络中的重要角色, 因此我们建议对OSPF采用积极的主动防护和检测机制来保证其安全。验证是OSPF保护的第一环, 因此对OSPF路由域内的所有OSPF路由器都采用有效的加密认证机制是非常必要的, 尽管我们仍需开发更安全有效的加密认证机制。此外, 设计适当的人侵检测系统也是很有帮助的, 它可以帮助发现很多针对OSPF的攻击, 因为对OSPF的攻击往往会因为OSPF的自反击机制在路由域中产生很多的冲突信息。总之, 维护OSPF的安全应有一个系统的全局的观念, 需要我们从多个层面分别着手来保障OSPF的安全。一是路由器层面, 我们需保证操作系统的安全, 路由器上其它所有协议的安全, 路由器的物理安全等。等;二是路由域层面, 这需要考虑所有边缘接人实体和所有链路的安全;最后我们要强调的是人的层面, 应更多地对网络进行监控和取证, 积极立法, 打击对网络造成危害的人和事, 防患于未然。
结束语
OSPF路由协议由于其自身的复杂性和内建的安全机制, 给攻击者造成了不小的困难, 但是本文的分析表明OSPF并不足够安全, 而一旦被人侵, 很可能造成巨大的危害。因此本文建议采用积极的主动防护和检测机制来增加OSPF的安全, 并强调维护OSPF的安全应有一个系统的全局的观念, 要从路由器和路由域等多个层面分别着手来保障OSPF的安全。
参考文献
[1]钟廷龙, 李鑫, 郭云飞.OSPF路由协议安全性分析[J].微计算机信息, 2005, (14) :16-17.
[2]孙文海, 焦利, 金跃辉.OSPF路由监测系统[J].计算机应用与软件, 2009, (06) :24-26.
OSPF路由协议分析 第3篇
【关键词】OSPF;邻接关系通告;分组;区域;数据库
一、OSPF介绍
OSPF:Open Shortest Path First 开放最短路径优先是基于RFC 2328的开放标准协议,它非常复杂涉及到多种数据类型,网络类型,数据通告过程等,灵活的接口类型,可以随处设置通告网络地址,方便的修改链路开销等。
二、OSPF邻居关系的建立
1.在局域网中路由器A启动后处于down状态,此时没有其它路由器与它进行信息交换,它会从启用OSPF协议的接口向外发送Hello分组,发送分组使用组播地址:224.0.0.5。
2.所有运行OSPF的直连路由器将会收到Hello分组,并将路由器A加入到邻居列表中,此时的邻居处于Init状态(初始化状态)。
3.所有收到Hello分组的路由器都会向路由器A发送一个单播应答分组,其中包含它们自身的信息,并包含自己的邻居表(其中包括路由器A)。
4.路由器A收到这些Hello分组后,将它们加入到自己的邻居表中,并发现自己在邻居的邻居表中,这时就建立了双向邻居关系(two-way)状态。
5.在广播型网络中要选举DR和BDR,选举后路由器处于预启动(exstart)状态。
6.在预启动状态下路由间要交换一个或多个的DBD分组(DDP),这时路由器处于交换状态。在DBD中包含邻居路由器的网络、链路信息摘要,路由器根据其中的序列号判断收到的链路状态的新旧程度。
7.当路由器收到DBD后,使用LSAck分组来确认DBD包,并将收到的LSDB与自身的相比较,如果收到的较新,则路由器向对方发出一个LSR请求,进入加载状态,对方会用LSU进行回应,LSU中包含详细的路由信息。
8.当对方提供了自身的LSA后,相邻路由器处于同步状态和完成邻接状态,在lan中路由器只与DR和BDR建立完全邻接关系,而与DRothers只建立双向邻接关系,此时的相邻路由器进入了Full状态,完成了信息同步。
三、OSPF的分区机制
OSPF路由协议可以使用在大型网络规模中,如要规模太大,路由器需要维持很大的链路状态作息,构建大的链路状态数据库存(LSDB),路由表要较大,影响工作效率,并且当网络中拓扑出现问题时,会引起大的路由波动,所有路由器要重建路由表,所以分区的概念被提出来。
设计者可以将整个网络分为多个区域,每个区域内部的路由器只需要了解本区域内部的网络拓扑情况,而不用掌握所有路由器的链路情况,这样LSDB就减小了很多,并且当其它区域的网络拓扑变化时,相应的信息不会扩散到本区域外,如变化后影响到其它区域,这时ABR才会生成LSA发往其它区域,这样大部分的拓扑变化被隐藏在区域内部,其它区域的自身并不需要明白这些,内部路由器只需维持本区域的LSDB即可,这样就减少了协议数据包,减轻路由器及链路的负载。
四、OSPF的分组类型
1.HELLO报文(Hello Packet)。最常用的一种报文,周期性的发送给本路由器的邻居。内容包括一些定时器的数值,DR,BDR,以及自己已知的邻居。
2.DBD报文(Database Description Packet)。两台路由器进行数据库同步时,用DD报文来描述自己的LSDB,内容包括LSDB中每一条LSA的摘要(摘要是指LSA的HEAD,通过该HEAD可以唯一标识一条LSA)。这样做是为了减少路由器之间传递信息的量,因为LSA的HEAD只占一条LSA的整个数据量的一小部分,根据HEAD,对端路由器就可以判断出是否已经有了这条LSA。
3.LSR报文(Link State Request Packet)。两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地的LSDB所缺少的或是对端更新的LSA,这时需要发送LSR报文向对方请求所需的LSA。内容包括所需要的LSA的摘要。
4.LSU报文(Link State Update Packet)。用来向对端路由器发送所需要的LSA,内容是多条LSA(全部内容)的集合。
5.LSAck 报文(Link State Acknowledgment Packet)。用来对接收到的LSU报文进行确认。内容是需要确认的LSA的HEAD(一个报文可对多个LSA进行确认)。
OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,簡称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。与RIP相比,OSPF是链路状态路由协议,它在各方面具有较大的优势,虽然比较复杂,但其优越的工作机制却是网络规划中不可或缺的。
OSPF协议安全性分析 第4篇
1 OSPF路由协议简介
OSPF协议全称为Open Shortest Path First, 是应用于TCP/IP网络下的路由协议, 是一种内部网关协议, 自治系统内的路由器用该协议来发布路由信息。OSPF协议是建立在链路状态与最短生成树技术基础之上进行工作的, 与早期的基于距离向量与BellmanFord算法的路由协议是完全不同的。
OSPF协议是IETF所提出的, 并专门针对TCP/IP网络所专门设计出的, 主要包括了CIDR技术与外部路由信息引用的支持。OSPF协议主要是为路由更新提供认证机制, 并且在报文的接收与发送过程中合理的对IP的多播性能进行利用。OSPF协议对于网络拓扑所出现的变化, 能够快速的进行反映并使之收敛并只引入少量的协议流量。OSPF路由协议是根据IP数据报中的目的IP地址来进行转发的服务的。其作为动态的路由协议, 能够快速的对网络拓扑的变化能够快速的做出反映, 并且能够在收敛周期中期内快速的计算出无环路经。在自治系统内的每一个OSPF路由器都给自维持有一个对自治系统的拓扑信息进行描述的数据库。在自治系统内的每一个OSPF路由器都有相等的链路状态数据库, 数据库主要是由每一个路由的各自的链路状态信息所构成的, 路由器会向自治系统内对自己的链路状态信息进行发布, 使得其他的路由器能够获得这条路由器所生成的链路状态信息。
2 OSPF协议的安全性分析
(1) 无认证以及简单明文认证
OSPF协议提供了认证机制, 但是在很多时候因为一些特殊的原因往往是采用的无认证或是简单明文认证, 使得其安全新降低。无认证指的是在路由器配置OSPF的过程用户没有采取任何的认证手段, 路由器默认的是使用这种方式, 这种情况下OSPF数据包包头中的“认证类型”与“认证数据”全部都为“0”。而简单明文认证则是指的在配置路由器时用户所设置的明文口令没有超过8个字节, 在不足8个字节时则是使用0进行填充。因为是明文口令, 其在网络中传输时是可见的, 只有在邻居不支持加密认证是才使用这种方式。无认证与简单明文认证的安全性对于攻击者来讲都一样。因为简单明文认证所设置的口令, 攻击者能够通过对广播的OSPF数据包的监听来获取, 并构造出相同口令且与OSPF协议规范相符合的数据包, 就能够与目标路由器交换信息, 进行攻击。
在图1中R1、R2以及R3都是通过OSPF协议进行连接的路由器, 并且采用的是无认证或简单明文认证, 其中攻击者Attacker则是位于R1与R2之间, 通过交换机S1接入到该网络中, 对于攻击者Attacker来讲, 他能够对R1与R2向224.0.0.5广播的数据包进行监听, 其中主要包括了Hello分组、LSU分组以及LSA分组。当攻击者Attacker获取了这些分组信息之后, 就能够伪装成为R1或者是R2对两者进行各种攻击, 例如插入恶意的路由信息、对两者的通信进行阻断、对网络流量进行引导等等。
(2) 泛洪机制
在OSPF协议中, LSA是利用可靠的泛洪来进行通告的, 能够保证链路状态在本区域中的一致性, 进而保证了所计算出的路由的一致性。这个特性让OSPF具备一定的自卫性。当某一个节点想要发送出伪造的或者经过修改过的LSA时, 只要是有一条其他的可用路由, 让这个LSA所声明的通告路由器受到这个LSA, 并且这个LSA所描述出来的信息和自身的信息不同时, 这个路由就会立刻生产一个新的LSA实例, 并将这个新产生的LSA的序号超过所接收到的LSA序号, 泛洪出去, 使得伪造的LSA被丢弃掉, 实现一定程度上的自卫, 冲突检测系统也能够很容易的发现这种现象。
需要注意的是仍然是有很多方法使得这种泛洪机制失效。其中主要有以下的几种。周期性的注入错误链路状态信息, 这主要是在OSPF协议中规定, 路由器链路状态数据库中所保存的链路状态信息的刷新状态不能够小于5秒, 当一个新的链路状态信息开始存入到链路状态数据库时, 路由器就会为这个链路状态信息启动一个5秒的计时器, 而在计时器到时之前, 即便是出现了新的链路状态也会被忽略。攻击者正好利用这种规则来实施攻击。对网络进行切割, 当恶意链路状态洗洗脑在网络中泛洪中煤油被生成路由器所接受到, 那么泛洪机制也就不会起到作用, 而这种可能是存在的。模拟傀儡路由器。攻击者能够利用软件在PC机上模拟出OSPF路由器的行为, 进而能够在网络中模拟出一个傀儡路由器, 这个傀儡路由器能够用来作为链路状态信息想原始生成者, 即使发送的是恶意的链路状态洗信息, 也是不会被发现的。
(3) 层次化的路由结构
在设计之初层次化的路由是为了能够解决路由的可扩展性问题, 但是后来发现层次化的路由减小的不仅仅是路由表的大小, 同时也会减少网络流量, 让网络可以快速收敛, 并且能够改善网络的安全性。OSPF协议则能够区分骨干区域与非骨干区域, 使得网络更加具有层次结构, 提高安全性。但是需要注意的是局部能够影响全局。因为OSPF协议自身并没有端到端的认证机制, 这就容易让链路状态信息在进行转发的过程中被篡改, 这就为攻击者提供了攻击的机会, 使得局部受到攻击时也容易对整体OSPF路由域产生影响。
3 结语
OSPF协议本身具有良好的安全性, 但是其所存在的能够被利用的漏洞也是很多的, 也正是因为这样才对OSPF协议的安全性以及改进进行探讨。到现在对于OSPF的研究已经有了新的研究方向, 就是利用密码体制安全性的同时对入侵检测技术进行引进, 让OSPF具有更好的安全性。
参考文献
[1]徐鲁宁.基于数字签名的OSPF路由协议安全性研究[D].南昌大学, 2011.
ospf协议详解总结
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


