ARP攻击防御配置ARP协议有简单、易用的优点,但是也因为其没有任何安全机制而容易被攻击发起者利用。目前ARP攻击和ARP病毒已经成为局域网安全的一大威胁,为了避免各种攻击带来的危害,设备提供了多种技术对攻击进行检测和解决。下面将详细介绍一下这些技术的原理以及配置。3.1配置ARP源抑制功能3.1.1ARP源抑制功能简介如果网络中有主机通过向设备发送大量目标IP地址不能解析的IP报文来攻击设备,则会造成下面的危害:�设备向目的网段发送大量ARP请求报文,加重目的网段的负载。�设备会不断解析目标IP地址,增加了CPU的负担。为避免这种攻击所带来的危害,设备提供了ARP源抑制功能。开启该功能后,如果网络中某主机向设备某端口连续发送目标IP地址不能解析的IP报文(当每5秒内的ARP请求报文的流量超过设置的阈值),对于由此IP地址发出的IP报文,设备不允许其触发ARP请求,直至5秒后再处理,从而避免了恶意攻击所造成的危害。3.1.2配置ARP源抑制表3-1配置ARP源抑制操作命令说明进入系统视图system-view-使能ARP源抑制功能arpsource-suppressionenable必选缺省情况下,关闭ARP源抑制功能配置ARP源抑制的阈值arpsource-suppressionlimitlimit-value可选缺省情况下,ARP源抑制的阈值为103.1.3ARP源抑制显示和维护在完成上述配置后,在任意视图下执行display命令可以显示配置后ARP源抑制的运行情况,通过查看显示信息验证配置的效果。表3-2ARP源抑制显示和维护操作命令显示ARP源抑制的配置信息displayarpsource-suppression3-23.2配置ARP防IP报文攻击功能3.2.1ARP防IP报文攻击功能介绍在进行IP报文转发过程中,设备需要依靠ARP解析下一跳IP地址的MAC地址。如果地址解析成功,报文可以直接通过硬件转发芯片直接转发出去,而不需要再由软件处理;如果地址解析不成功,需要由软件进行解析处理。这样,如果接收到大量下一跳IP地址循环变化并且该IP地址不可达的IP报文,由于下一跳IP地址解析不成功,软件会试图反复地对下一跳IP地址进行探测,导致CPU负荷过重,就造成了IP报文对设备的攻击。用户可以通过配置ARP防IP报文攻击功能来预防这种可能存在的攻击情况。在防IP报文攻击功能启用后,一旦接收到下一跳地址不可达的IP报文(即ARP解析失败的IP报文),设备立即产生一个黑洞路由,使硬件转发芯片在一段时间内将去往该地址的报文直接丢弃。等待黑洞路由老化时间过后,如有报文触发则再次发起解析,如果解析成功则由硬件进行转发,否则仍然下发黑洞路由。这种方式能够有效的防止IP报文的攻击,减轻CPU的负担。3.2.2启用ARP防IP报文攻击功能启用ARP防IP报文攻击功能对转发报文和本地产生的报文均有效。表3-3启用ARP防IP报文攻击功能操作命令说明进入系统视图system-view-启用ARP防IP报文攻击功能arpresolving-routeenable可选缺省情况下,交换机的ARP防IP报文攻击功能处于开启状态3.3配置ARPDetection功能3.3.1ARPDetection功能介绍当交换机作为二层接入设备时,正常情况下,用户发送的广播ARP请求将在VLAN内广播,ARP应答将进行二层转发。如果用户仿冒其他用户的IP地址,将会改写网关或者其他用户的ARP表项,导致被仿冒用户的报文错误的发送到发起攻击用户的主机上。用户可以通过配置ARPDetection功能,对于合法用户的ARP报文进行正常转发,否则丢弃。ARPDetection包含三个功能:基于DHCPSnooping安全表项的用户合法性检查功能(关于“DHCPSnooping”的详细介绍请参见“IP业务分册”中的“DHCP配置”);ARP报文有效性检查功能;ARP报文上送限速功能。1.用户合法性检查结合DHCPSnooping安全表项实现ARP用户合法性检查,根据ARP报文中源IP地址和源MAC地址检查用户是否是所属VLAN所在端口上的合法用户。对于ARP信任端口,不进行用户合法性检查。对于ARP非信任端口,且所属VLAN使能了ARPDetection功能,这样的ARP报文才进行用户合法性检查。对于没有使能ARPDetection的VLAN,即使在ARP非信任端口上,也不进行用户合法性检查。3-32.ARP报文有效性检查对于ARP信任端口,不进行报文有效性检查;对于ARP非信任端口,需要根据配置对MAC地址和IP地址不合法的报文进行过滤。可以选择配置源MAC地址、目的MAC地址或IP地址检查模式。(1)对于源MAC地址的检查模式,会检查ARP报文中的源MAC地址和以太网报文头中的源MAC地址是否一致,一致认为有效,否则丢弃;(2)对于目的MAC地址的检查模式(只针对ARP应答报文),会检查ARP应答报文中的目的MAC地址是否为全0或者全F,是否和以太网报文头中的目的MAC地址一致。全0、全F、不一致的报文都是无效的,无效的报文需要被丢弃;(3)对于IP地址检查模式,会检查ARP报文中的源IP和目的IP地址,全0、全F、或者组播IP地址都是不合法的,需要丢弃。对于源IP地址,ARP请求和应答报文都进行检查;对于目的IP地址,只需要检查ARP应答报文。3.ARP报文上送限速配置了ARPDetection后,报文需要上送CPU进行处理,为了避免对CPU的冲击,必须限制入口ARP报文的速率。3.3.2配置ARPDetection功能如果既配置了用户合法性检查功能,又配置了报文有效性检查功能,那么先进行报文有效性检查,然后根据DHCPSnooping安全表项进行ARP用户合法性检查。1.配置用户合法性检查功能进行下面的配置之前,需要保证已经配置了DHCPSnooping功能。关于如何配置DHCPSnooping功能,请参见“IP业务分册”中的“DHCP配置”。表3-4配置用户合法性检查功能操作命令说明进入系统视图system-view-进入VLAN视图vlanvlan-id-使能ARPDetection功能arpdetectionenable必选缺省情况下,关闭ARPDetection功能。即不对指定VLAN内所有端口接收的ARP报文进行ARPDetection检查退回至系统视图quit-进入以太网端口视图interfaceinterface-typeinterface-number-配置端口为ARP信任端口arpdetectiontrust可选缺省情况下,端口为ARP非信任端口3-42.配置ARP报文有效性检查功能进行下面的配置之前,需要保证已经配置了arpdetectionenable命令。表3-5配置ARP报文有效性检查功能操作命令说明进入系统视图system-view-使能ARP报文有效性检查功能arpdetectionvalidate{dst-mac|ip|src-mac}*必选缺省情况下,交换机ARP报文有效性检查功能处于关闭状态