导读:这篇文章主要为大家介绍了如何进行ARP/ND绑定,需要的朋友可以参考下。
– ARP(地址解析协议) –
简单地说, ARP(RFC-826)协议主要负责将局域网中的 IP 地址转换为对应的 48 位物理地址,即网卡的MAC 地址,比如IP地址为192.168.0.1网卡MAC地址为 00-03-0F-FD-1D-2B 。整个转换过程是一台主机先向目标主机发送包含 IP 地址信息的广播数据包,即 ARP 请求,然后目标主机向该主机发送一个含有IP 地址和 MAC地址数据包,通过 MAC地址两个主机就可以实现数据传输了。
– ARP绑定 –
按照 ARP 协议的设计,为了减少网络上过多的 ARP 数据通信,一台主机,即使收到的 ARP 应答并非自己请求得到的,它也会将其插入到自己的 ARP 缓存表中,这样,就造成了“ARP 绑定”的可能。如果黑客想探听同一网络中两台主机之间的通信(即使是通过交换机相连),他会分别给这两台主机发送一个 ARP 应答包,让两台主机都“误”认为对方的的MAC 地址是第三方即黑客所在的主机,这样,双方看似“直接”的通信连接,实际上都是通过黑客所在的主机间接进行的。黑客一方面得到了想要的通信内容,另一方面,只需要更改数据包中的一些信息,成功地做好转发工作即可。在这种嗅探方式中,黑客所在主机是不需要设置网卡的混杂模式的,因为通信双方的数据包在物理上都是发送给黑客所在的中转主机的。
– 如何进行ARP/ND绑定 –
由于现在网络上充斥着很多基于 ARP 协议的嗅探、监听及攻击行为,而且几乎所有的攻击行为都是基于 ARP 绑定来进行的,所以如何防止 ARP 绑定就显得十分重要。ARP 绑定首先是通过伪造合法IP 进入正常的网络环境,向交换机发送大量的伪造的ARP 申请报文,交换机在学习到这些报文后,可能会覆盖原来学习到的正确的 IP、MAC 地址的映射关系,将一些正确的 IP、MAC 地址映射关系修改成攻击报文设置的对应关系,导致交换机在转发报文时出错,从而影响整个网络的运行。或者交换机被恶意攻击者利用,利用错误的 ARP 表,截获交换机转发的报文或者对其它服务器、主机或者网络设备进行攻击。
在网络中防止基于 ARP 的攻击和绑定交换机的方法有两种:
- 关闭交换机的自动更新功能
关闭交换机的自动更新功能以后,当交换机收到 ARP 报文时,如果是新的 ARP 报文(交换机的 ARP 表中不存在该 IP 的表项),则正常学习,这样新的用户可以正常登录网络;如果该ARP 报文对应的IP 地址在交换机的ARP 表中已经存在,则判断ARP 报文中的MAC地址、收到 ARP 报文的端口和交换机 ARP 表中记录的是否相同,不相同则认为是欺骗报文予以丢弃,相同则正常接收,相应的 ARP 表项老化定时器被重置。通过该机制可以防止合法的 ARP 表项被欺骗报文篡改,从而可以避免交换机遭受 ARP 绑定和攻击。
- 关闭交换机的自动学习功能
关闭交换机的自动学习功能以后,交换机不再接收 ARP 报文,适合静态配置 ARP 表项的场合。一方面可以配置静态 ARP 表项,另一方面可以将当前学习到的动态 ARP 表项转换为静态表项(可以减轻一一配置 ARP 静态表项所带来的繁重工作量。关闭交换机的自动学习功能时,如果动态表项不转换为静态表项,会正常老化掉)。在 ARP 表项均为静态配置的情况下,可以有效地避免 ARP 绑定。
ND 是 IPV6 协议中的邻居发现协议,其工作原理同 ARP 类似,因此我们采取同 ARP 绑定相同的方法处理利用 ND 进行绑定和攻击的手段。
– ARP、ND绑定配置 –
配置 ARP、ND 绑定配置序列如下:
1.关闭 ARP、ND 自动更新功能;
2.关闭 ARP、ND 自动学习与更新功能;
3.将动态的 ARP、ND 转化为静态 ARP、ND 的功能。
– ARP绑定举例 –
在上图中首先 B 与 C 正常通信。A 想要交换机将 B 发给 C 的报文转发给自己,所以需要交换机将从 B 来的报文发给 A。首先 A 先发送 ARP 应答包给交换机,格式如:192.168.2.3,00-00-00-00-00-01。就是将自己的 MAC 地址换上 C 的 IP,这样交换机在更新 ARP 表时就会将 B 发给 IP 地址:192.168.2.3 的数据报发到 00-00-00-00-00-01 的地址(A 地址)去了。
进一步将 A 也可以将收到的数据报中的源地址,目的地址更改下,让交换机将自己发的包给 C,这样 B 与 C 相互通信的数据在不知情的状况下就都可以被 A 接收。由于 ARP 表是定时更新的,所以 A 还有 1 个任务是持续不断的向交换机发送 ARP 应答包,刷新交换机的ARP表。
所以重要的是将 ARP 表保护起来,可以在环境稳定后配置禁止 ARP 学习的命令,然后将所有的动态 ARP 转换为静态的,这样已经学习到的 ARP 就不会被刷新,从而为用户提供保护。
Switch(config)#
Switch(Config)#interface vlan 1
Switch(Config-If-Vlan1)#arp 192.168.2.1 00-00-00-00-00-01 interface eth 1/2
Switch(Config-If-Vlan1)#interface vlan 2
Switch(Config-If-Vlan2)#arp 192.168.1.2 00-00-00-00-00-02 interface eth 1/2 Switch(Config-If-Vlan2#interface vlan 3
Switch(Config-If-Vlan3)#arp 192.168.2.3 00-00-00-00-00-03 interface eth 1/2
Switch(Config-If-Vlan3)#exit
Switch(Config)#ip arp-security learnprotect
Switch(Config)#
Switch(config)#ip arp-security convert
如果环境经常变动,也可以开启禁止 ARP 更新的命令,这样一旦学习到的 ARP 属性,就不会被新的 ARP 应答包所更新,保护用户数据不会被“嗅探”。
Switch#config
Switch(config)#ip arp-security updateprotect
关注微信公众号:安徽思恒信息科技有限公司,了解更多技术内容……