计算机网络实验——互联网安全实验
实验1. OSPF路由项欺骗攻击和防御实验
一、实验目的
- 验证路由器OSPF配置过程。
- 验证OSPF建立动态路由项过程。
- 验证OSPF路由项欺骗攻击过程。
- 验证OSPF源端鉴别功能的配置过程。
- 验证OSPF防路由项欺骗攻击功能的实现过程。
二、实验任务
- 使用自己的语言简述该实验原理。
如图1所示的网络拓扑中,三台路由器连接了四个不同的网络段。终端PC0到终端PC1之间的IP传输路径由OSPF协议动态生成,以实现有效的IP分组路由。当入侵路由器将Router3接入到网络地址为192.1.2.0/24的以太网中,并且伪造了一个表示其直接连接至192.1.4.0/24网络的虚假路由项时,这误导了Router0,导致它更新了其路由表。这一操作改变了原本从PC0到PC1的数据包传输路径,使得原本应直接或通过正常路径发送给PC1的数据包被Router0错误地转发给了入侵路由器Router3,从而达到了欺骗的目的。
图 1 OSPF网络拓扑图
为抵御上述攻击,需要在相邻路由器中配置共享秘钥,从而达到对邻接路由器的身份鉴别,只与授权路由器建立邻接关系;对相互交换的链路状态信息进行完整性检测,只接收和处理通过检查的信息;利用序列号来防止重放攻击。具体流程如下图2所示,在源端对路由消息使用共享秘钥进行HMAC,计算出MAC值附在消息尾部。接收端接收后,使用共享秘钥进行相同的HMAC运算,与附在消息中的MAC进行对比,若一致则身份验证通过,接收处理路由消息。
(a)源端流程
(b)接收端流程
图 2 路由器消息源端鉴别和完整性检测过程
- 实验步骤
(根据教材或老师给的详细资料,使用自己的语言描述搭实验步骤,在文字描述的同时,尽量多截图说明)
- 搭建正常情况下的网络拓扑图,如图3所示。
图 3 正常情况下的网络拓扑图
1.配置各个路由器的各个接口的IP地址和子网掩码,Router0、Router1、Router2的具体配置如图4a、b、c所示。
(a)
(b)
(c)
图 4各个路由器的各个接口的IP地址和子网掩码配置
- 对各个路由器进行OSPF配置,Router0、Router1、Router2具体配置如图5a、b、c所示。
(a)
(b)
(c)
图 5 各个路由器进行OSPF配置
- 查看路由器Router0的路由转发表,如图6所示。
图 6 Router0的路由转发表
- 配置PC0与PC1的IP地址、子网掩码和默认网关,PC0与PC1具体配置如图7a、b所示。
(a)
(b)
图 7 PC0与PC1的IP地址、子网掩码和默认网关
- 在PC0与PC1之间,启动ICMP报文传输,对PC0与PC1之间是否存在IP传输路径进行验证,结果如图8所示,验证成功,PC0与PC1之间存在IP传输路径。
图 8 PC0与PC1之间ICMP报文传输
- 加入路由器Router4作为入侵路由器,搭建入侵网络拓扑图,如图9所示。
图 9 加入入侵路由器的网络拓扑图
- 对Router3进行配置,具体配置如图10所示,其中一个接口连接网络192.1.2.0/24,分配IP地址为192.1.2.27 /24;一个接口分配IP地址192.1.4.37 /24,作为伪造的192.1.4.0/24的直连接口。
图 10 Router3配置
9.对Router3进行OSPF配置,具体配置如图11所示,并且向路由器Router0发送表明与网络192.1.4.0/2直连的路由消息。此时欺骗路由器Router0修改路由表,将<192.1.4.0/24 ,192.1.2.253>改为<192.1.4.0/24 , 192.1.2.37>,如图12所示。
图 11
图 12 Router3 OSPF配置
10.切换至模拟操作模式,在PC0和PC1之间启动IP分组传输,如13所示,路由器将Router0将IP分组转发给路由器Router3,被入侵路由器所截获,IP分组无法到达PC1。
图 13 攻击后PC0至PC2的ICMP报文路径
11.对路由器Router0、Router1和Router2进行源端鉴别与完整性检测的配置,Router0、Router1和Router2具体配置如图14a、b、c所示,相邻的路由器接口设置相同的密钥。



图 14 源端鉴别与完整性检测配置
12.再次查看Router0的路由表,如如15所示,表项中192.1.4.0/24重新变成Router1所连接的192.1.2.0/24的网络接口,证明加入MAC认证后,抵御了欺骗。
图 15 Router0的路由表
三、思考与总结
- 实验过程中你遇到什么问题,如何解决的?通过该实验有何收获?
问题:
在配置Router0的完整性认证和设置共享密钥时,出行如图16的错误。
图 16 冲突错误
解决:
此错误是关停OSPF错误,进行排查后,如图17所示,是Router2的配置与Router0的配置冲突,修改配置后解决。
图 17 问题原因
收获:
通过本次实验,我深刻理解了OSPF路由协议的配置和动态路由生成过程,并实际体验了如何通过配置共享密钥和使用HMAC进行身份验证和完整性检测来防御OSPF路由项欺骗攻击。此外,我也学到了在网络中加入入侵路由器并伪造路由信息对网络通信的影响,以及如何通过安全配置来抵御此类攻击。在配置Router0的完整性认证和设置共享密钥时,出现了关停OSPF的错误。经过排查,发现是Router2的配置与Router0的配置冲突,修改配置后解决了问题。这个实验不仅增强了我的网络配置技能,也提高了我对网络安全性的认识和处理能力。
- 这个实验为什么不使用RIP协议的路由消息源端鉴别功能,而使用的是OSPF协议的路由消息源端鉴别功能?
答:
在本次实验中选择OSPF协议而非RIP来验证路由消息源端鉴别功能,因为OSPF提供了更为强大的安全性,支持包括MD5在内的多种认证方式,能有效防止未经授权的路由器发送伪造的路由信息,相比之下RIP的安全机制较为简单。
实验2. 策略路由项实验
一、实验目的
- 验证RIP生成动态路由项的过程。
- 验证最长前缀匹配过程。
- 验证静态路由项改变IP分组传输路径的过程。
- 验证基于安全理由规避特定路由器的过程。
二、实验任务
- 使用自己的语言简述该实验原理。
在如图18所示的网络结构中,根据最短路径原则,RIP生成的的从路由器Router1通往PC2的传输路径为Router1-> Router5-> Router4->NET2->PC2。但是若不允许通往PC2的信息经过Router5,则需要再Router1中进行静态路由配置,将通往PC2的传输路径的下一跳设置为Router2,静态路由的优先级较高,实现策略。
具体的是通过路由表的策略实现的,如图19所示,在网络中晚餐各个路由器的配置后,会自动生成完整的路由表一,此时的路由表由直连路由项和RIP生成的动态路由项组成,表中的类型C表示直连路由项,类型R便是RIP生成的动态路由项。在表中设置静态路由项,用S进行表示,条目内容为IP PC2/32,表示下一跳是路由器Router2的静态路由项,形成完整的路由表二,当接收到IP地址是PC2的IP分组时,路由表进行匹配,根据最长前缀匹配原则,IP PC2的前缀大于NET2的网络前缀,于是按照IP PC2/32的策略进行转发给路由器Router2.
图 18 网络拓扑示意图
图 19 Router1的路由表
- 实验步骤
- 由于Router1和Router4需要三个以太网接口,但是默认状态下只有两个因特网接口,如图20所示,为Router1和Router4添加一个以太网接口。
图 20 添加以太网接口
- 搭建如图21所示的网络拓扑图。
图 21 网络拓扑图
- 对各个路由器进行IP地址、子网掩码的配置,具体配置如图22所示。
图 22 路由器IP地址、子网掩码的配置
- 对各个路由器进行RIP配置,使得将各个网段连接起来,具体配置过程如图23所示。
图 23 路由器RIP配置
- 完成各个路由表的配置后,各路由表完成完整路由表的生成,在Router1中查看路由表,如图23所示,通往192.1.5.0/24的传输路径中,下一跳为路由器Router5的IP地址192.1.6.253。
图 24 Router1路由表一
- 对PC0、PC1和PC2进行IP地址和子网掩码配置,具体配置如图25所示。
图 25 PC0、PC1和PC2的IP地址和子网掩码配置
- 由PC0发送ICMP报文,该报文被转发至Router5路线,如图26所示。
图 26 转发至Router5
- 在路由器Router1中进行静态路由配置,如图27所示,将目的地址为192.1.5.2 /32的IP分组的下一跳设置为Router2的IP地址192.1.2.253。
图 27 路由器Router1中静态路由配置
- 再次在Router1中查看路由表,如图28所示,此时的目的地址为192.1.5.2 /32的IP分组的下一跳为Router2的IP地址192.1.2.253。
图 28 Router1路由表二
- 再次从PC0发送ICMP报文给PC2,此时可以观察到该报文转发给了路由器Router2,如图29所示。
图 29 PC0至PC2的ICMP报文路径
- 从PC0发送报文给PC1,可观察到该报文被转发给了路由器Router5,如图30所示。
图 30 PC0至PC1的ICMP报文路径
三、思考与总结
- 实验过程中还遇到什么问题,如何解决的?通过该实验有何收获?
问题:
在自己的实验过程中并未发现问题,在同学实验过程中,PC0向PC1发出的ICMP报文到达集线器后就停止发送。
解决:
在排查了转发表和路径连通性后,并未发现问题。由于直接在PC0终端就显示接收成功,猜测将PC1的地址设置成了PC0的地址,检查后发现确实如此,修改后解决。
收获:
通过这次实验,我深刻理解了策略路由在网络通信中的重要性和应用。实验模拟了如何在路由器上配置静态和动态路由项,我如何根据特定的网络需求调整传输路径。在遇到PC0向PC1发送ICMP报文时遇到的问题,进一步加深了我对网络配置细节的关注,如地址冲突等常见问题的排查。此外,通过实际观察ICMP报文的转发过程,我对最长前缀匹配原则和路由表的配置有了更加直观的理解。