IPv6 neighbor欺骗解决方法

网络
由于IPv6中NA、NS设计的特性,造成了IPv6 neighbor欺骗的可能性,本文介绍了两种解决这种问题的方法。

我们知道NDP中NA、NS技术主要负责将局域网中的IPv6地址跟48位物理地址对应起来形成IPv6 neighbor表项,类似于IPv4中的ARP。 按照 NA、NS的设计,为了减少网络上过多的NA、NS数据通信,一台主机,即使收到的NA应答并非自己请求得到的,它也会将其插入到自己的缓存表中,这样,就造成了IPv6 neighbor欺骗的可能。

如下图所示,假如攻击者想探听同一网络中两台主机之间的通信(即使是通过交换机相连),它会分别给这两台主机发送NA、NS报文,让两台主机都“误”认为对方的 MAC 地址是第三方即攻击者所在的主机,这样,双方看似“直接”的通信,实际上都是发给第三方攻击者了。攻击者一方面得到了想要的通信内容,另一方面,只需要更改数据包中的一些信息,这样造成了数据的冒充欺骗。

IPv6 neighbor欺骗攻击示意图

由上述中所知在NA、NS报文转发中的嗅探、监听及攻击行为首先是通过伪造合法IPv6地址进入正常的网络环境,向交换机发送大量的伪造的NA、NS报文,交换机在学习到这些报文后,可能会覆盖原来学习到的正确的IPv6 neighbor表项(IPv6地址和MAC地址的映射关系表项),将一些正确的IPv6 neighbor表项修改成攻击报文设置的对应关系,导致交换机在转发报文时出错,从而影响整个网络的运行。或者交换机被恶意攻击者利用,利用错误的IPv6 neighbor表项,截获交换机转发的报文或者对其它服务器、主机或者网络设备进行攻击。在网络中防止基于NA、NS的欺骗攻击,方法有两种:

一、关闭交换机的neighbor自动更新功能

关闭交换机的自动更新功能以后,当交换机收到NA、NS报文时,如果是新的NA、NS报文(交换机的IPv6 neighbor表中不存在该IPv6地址的表项),则正常学习,这样新的用户可以正常转发报文;但是如果该NA、NS报文对应的IPv6 neighbor表项中已经存在,则判断该报文中的MAC址、收到NA、NS报文的端口和交换机IPv6 neighbor表中记录的是否相同,不相同则认为是欺骗报予以丢弃,相同则正常接收,相应的IPv6 neighbor表项老化定时器被重置。通过该机制可以防止合法的IPv6 neighbor表项被欺骗报文篡改,从而可以避免交换机遭受IPv6 neighbor欺骗。

二、关闭交换机的neighbor自动学习功能

关闭交换机的自动学习功能以后,交换机不再接收NA、NS报文,适合静态配置IPv6 neighbor表的场合。一方面可以配置成静态IPv6 neighbor表项,另一方面可以将当前学习到的动态IPv6 neighbor表项换为静态表项(可以减轻一一配置IPv6 neighbor静态表项所带来的繁重工作量。关闭交换机的自学习功能时,如果动态表项不转换为静态表项,会正常老化掉)。在IPv6 neighbor表项均为静态置的情况下,可以有效地避免IPv6 neighbor欺骗。

责任编辑:段燃
相关推荐

2009-02-18 10:25:00

IPv6部署

2012-05-24 19:08:13

2013-03-13 09:56:24

IPv6IPv4NDP

2019-07-01 10:09:09

IPv6IPv4运营商

2009-07-15 10:22:27

2019-06-05 15:43:34

IPV6IPV4网站

2011-08-30 14:38:29

2010-05-26 17:09:02

IPv6路由广播

2011-07-10 14:59:14

IPv6企业IPv6部署

2011-10-19 07:55:12

2010-05-27 17:20:07

IPv6网络

2011-06-09 09:32:31

IPv6IPv6流量IPv6日

2010-05-25 14:55:47

IPv6与RFID结合

2012-04-27 13:33:40

锐捷网络物联网IPv6

2018-05-03 14:40:07

IPv6互联网协议网络

2012-12-10 16:25:34

IPv6

2010-05-26 13:55:49

移动IPv6协议

2011-07-19 10:13:44

IPv6IPv6规划

2010-06-23 21:12:15

2010-08-11 16:07:14

IPv6协议H3C
点赞
收藏

51CTO技术栈公众号