本帖最后由 ztbf 于 2020-3-16 11:26 编辑
前些日子,有空写了交换机arp转发流程,没有想到很多人点赞,非常感谢,趁还在家办公,在写一些有关arp表的东西,这次是安全方面。 arp表很重要,因为用于存储IP地址和MAC地址的关系,所有的数据转发都靠它,但同路由表不同是,它是用户和交换机之间过交互协议报文生成的,所以造成了安全隐患,导致不法用户利用这个机制对其攻击。
arp表有二种: 1 静态--由于自己手动绑定,攻击都无法攻击 2 动态-用户和交换机交互后自己生成,容易攻击。
攻击方法有三种: 1 发送大量ARP报文,使合法用户的ARP报文无法上送CPU处理。 2 通过仿冒ARP报文,篡改正确的ARP表项。 3 发送大量源IP或源MAC变化的报文,耗尽ARP表资源。
怎么防范: 1 保证合法用户的ARP报文可以上送CPU处理。 缺省情况下,为了保证CPU的正常运行,交换机对每种上送CPU的协议报文都设置了CPCAR值,对于超过CPCAR值的报文就会被丢弃。如果非法用户发送大量的ARP报文,就会导致合法用户的ARP报文无法上送CPU,也就无法正常生成ARP表项,交换机可以通过下面几种方式防止非法用户的此类攻击。 限速: (1) 基于源MAC地址对ARP报文限速 命令: arp speed-limit source-mac maximum 10 //对于任意MAC地址,每秒最多允许10个ARP报文通过 (2)基于源IP地址对ARP报文限速。
命令: arp speed-limit source-ip maximum 10 //对于任意IP地址,每秒最多允许10个ARP报文通过 (3)基于全局对ARP报文限速。
命令:arp anti-attack rate-limit enable //开启ARP限速功能
arp anti-attack rate-limit packet 200 interval 10 //指定设备在10秒钟内最多允许上送200个ARP报文,超过限速值则丢弃 (4)基于VLAN和接口对ARP报文限速。
命令:arp anti-attack rate-limit enable //开启ARP限速功能
arp anti-attack rate-limit packet 200 interval 10 //指定VLAN3在10秒钟内最多允许上送200个ARP报文,超过限速值则丢弃.
(5)ARP Miss消息限速功能
(6)出口ARP检测功能 2 保证ARP表项的正确性 ARP报文上送CPU后,交换机会根据ARP报文的源IP查询当前的ARP表中是否存在对应的ARP表项:如果存在,就会刷新ARP表项。攻击者利用这一点,通过仿冒ARP报文,篡改ARP表项,使合法用户的报文转发出现异常
防止仿冒网关攻击 攻击者通过仿冒网关,在局域网内部发送源IP地址是网关IP地址的ARP报文,导致局域网内其他用户主机记录的网关地址映射关系被篡改。这样其他用户主机就会把发往网关的流量发送给攻击者,造成这些用户主机无法访问网络,攻击者还可以窃取到他们发送的数据内容,造成信息泄露 . (a) 发送ARP免费报文 (b)ARP防网关冲突检测 (c)ARP网关保护功能 防止仿冒合法用户攻击 如攻击者仿冒合法用户,伪造ARP报文,篡改网关设备上UserA的ARP表项,导致UserB通过Gateway转发数据给UserA时,因查询到错误的ARP表项,导致UserA无法收到UserB发送给其的数据。 (a)ARP表项固化 (b)动态ARP检测功能
3 保证合法用户的ARP表项可以正常生成 设备上ARP表资源是有限的,攻击者通过ARP泛洪耗尽ARP表资源,就会导致合法用户的ARP表项无法生成,报文转发失败. (a)限制可以学习的ARP表项数量 (b)ARP表项严格学习
|