ARP安全配置与管理实战

 ARP类攻击,经常令网络莫名其妙的奇慢、上不了网,甚至导致设备或整个网络瘫痪,而且很难找到真正的元凶。抓包故障排除时,经常发现大量IP地址或者MAC地址根本不是本网络的广播包或帧,或者发现网关的MAC地址被非法地修改了,甚至出现源或目的IP、MAC地址全为0的包。这一切都是因为ARP协议本身没有一个安全认证机制,给恶意攻击者留下了可乘之机。

         ARP安全方面的隐患就是两个:一是利用非法、无效的伪造源/目的IP地址或源MAC地址发送大量ARP报文,至于设备或服务器无力承受而最终出现网络速度非常慢,或者中断,这就是通常所说的ARP泛洪攻击或者ARP DoS攻击二是利用伪造的IP地址或者MAC地址非法修改网关或者网络中其他主机的ARP表项,造成用户无法上网,或者网络中无法正确访问这些主机,这些就是通常所说的ARP网关或主机欺骗攻击

ARP安全概述

ARP(AddressResolution Protocol,地址解析协议)是将IP地址解析为以太网MAC地址(或称物理地址)的协议。ARP协议简单、易用,但是也因为其没有任何安全认证机制而容易被攻击者利用。

ARP安全是针对ARP攻击的一种安全特性。它通过一系列对ARP表项学习和ARP报文处理的限制、检查等措施来保证网络设备的安全性。ARP安全特性不仅能够防范针对ARP协议的攻击,还可以防范网段扫描攻击等基于ARP协议的攻击。常见的ARP攻击方式主要包括以下两种:

(1)ARP泛洪攻击,也叫DoSDenial of Service,拒绝服务)攻击,主要采用以下两种攻击方式。

①攻击者通过伪造大量源IP地址变化的ARP报文(以广播方式发送),使得设备ARP映射表缓存资源被无效的ARP表项耗尽(因为设备在接收到ARP报文后会提取报文中的源IP地址和源MAC地址,如果设备上没有对应的ARP映射表项就会生成新的ARP映射表项),造成合法用户的ARP报文不能继续生成ARP表项,最终导致正常用户的通信被中断。

②攻击者利用工具扫描本网段主机或者进行跨网段扫描时,会向设备发送大量目的IP地址不能解析的IP报文,导致设备触发大量ARP MissARP表项丢失)消息生成并下发大量临时ARP表项,然后还会广播大量ARP请求报文以对目的IP地址进行解析,从而造成CPU负荷过重,直到瘫痪。

(2)ARP欺骗攻击,是指攻击者通过发送伪造的ARP报文(可以是伪造的免费ARP报文,也可以是伪造的ARP请求报文或ARP应答报文),非法修改设备或网络内其他用户主机的ARP表项,造成用户或网络的报文通信异常。



涉及到ARP协议:

字段

长度(bit)

含义

Ethernet Address of destination

48比特

目的以太网地址。发送ARP请求时,为广播的MAC地址,0xFF.FF.FF.FF.FF.FF。

Ethernet Address of sender

48比特

源以太网地址。

Frame Type

16比特

表示后面数据的类型。对于ARP请求或应答来说,该字段的值为0x0806。

Hardware Type

16比特

表示硬件地址的类型。对于以太网,该类型的值为“1”。

Protocol Type

16比特

表示发送方要映射的协议地址类型。对于IP地址,该值为0x0800。

Hardware Length

8比特

表示硬件地址的长度,单位是字节。对于ARP请求或应答来说,该值为6。

Protocol Length

8比特

表示协议地址的长度,单位是字节。对于ARP请求或应答来说,该值为4。

OP

16比特

操作类型:

  • 1 ARP请求
  • 2 ARP应答
  • 3 RARP请求
  • 4 RARP应答

Ethernet Address of sender

48比特

发送方以太网地址。这个字段和ARP报文首部的源以太网地址字段是重复信息。

IP Address of sender

32比特

发送方的IP地址。

Ethernet Address of destination

48比特

接收方的以太网地址。发送ARP请求时,该处填充值为0x00.00.00.00.00.00。

IP Address of destination

32比特

接收方的IP地址。

抓包说明:

从上面的两张图中,能够得出,所有的设备都是通过arp报文的发送者MAC和IP来解析的

配置防ARP泛洪攻击

ARP泛洪攻击的基本思想就是发送大量的ARP报文,这样一方面可以使设备中用于缓存ARP表的内存资源被无效ARP表项耗尽,另一方面可能会使设备的CPU负荷过重造成用户无法正常通信。攻击者可能用来进行ARP泛洪攻击的报文包括ARP请求/应答报文、ARP Miss消息、免费ARP报文

一、配置基于源MAC地址的ARP报文限速

设备处理大量源MAC地址相对固定的ARP报文会造成CPU繁忙,并且如果ARP报文的源IP地址同时不断变化,还会导致设备的ARP表资源被耗尽。为了避免此问题,可以配置设备根据源MAC地址进行ARP报文限速。设备会对上送CPU的ARP报文根据源MAC地址进行统计,如果在1s内收到的同一个源MAC地址的ARP报文超过设定阈值(ARP报文限速值),设备则丢弃超出阈值部分的ARP报文。

二、配置基于源IP地址ARP报文限速

针对IP地址相对固定的ARP报文,会造成CPU繁忙,影响到正常业务的处理。为了避免此问题,可以配置设备根据源IP地址进行ARP报文限速。设备会对上送CPU的ARP报文根据源IP地址进行统计,如果在1s内收到的同一源IP地址的ARP报文超过设定阈值,则丢弃超出阈值部分的ARP报文。

三、配置基于全局、VLAN或者接口的ARP报文限速

在ARP泛洪攻击的报文中,如果源MAC地址,或者源IP地址都不是相对固定的情况下,可以在全局、VLAN或接口下配置针对所有ARP报文的限速和限速时间。在ARP报文限速时间内,如果收到的所有ARP报文数目超过ARP报文限速值,设备会丢弃超出限速值的ARP报文。

(1)全局的ARP报文限速:在设备出现ARP攻击时,需要限制全局处理的ARP报文数量(是指设备各个接口上接收到的ARP报文的总数)。

(2)VLAN的ARP报文限速:在某个VLAN内的所有接口出现ARP攻击时,可以仅限制处理收到的该VLAN内的ARP报文数量,配置本功能可以保证不影响其他VLAN内所有接口的ARP学习。

(3)接口的ARP报文限速:在某个接口出现ARP攻击时,可以仅限制处理该接口(可以是各种以太网接口,也可以是Eth-Trunk接口,还可以是端口组)收到的ARP报文数量,配置本功能可以保证不影响其他接口的ARP学习。

当同时在全局、VLAN或接口下配置ARP报文的限速值和限速时间,设备会先按照接口进行限速,再按照VLAN进行限速,最后按照全局进行限速。当设备丢弃的ARP报文数量较多时,如果希望设备能够以告警的方式提醒网络管理员,则还可以使能ARP报文限速丢弃告警功能。当丢弃的ARP报文数超过告警阈值时,设备将产生告警。

四、配置ARP Miss消息源抑制

当设备检测到某一源IP地址的IP报文在1s内触发的ARP Miss消息数量超过了限速值,就认为此源IP地址存在攻击。这时,设备对ARP Miss报文的缺省处理方式是block方式,即设备会丢弃超出限速值部分的ARP Miss消息,也就是丢弃触发这些ARP Miss消息的ARP Miss报文,并下发一条ACL来丢弃该源IP地址的后续所有ARP Miss报文;如果是none-block方式,设备只会丢弃超出限速值部分的ARP Miss消息,因此,该方式对CPU的负担减轻效果有限。可根据实际情况调整ARP Miss消息的限速值并合理配置ARP Miss报文处理方式。

五、配置全局、VLAN和接口的ARP Miss消息限速

如果网络中有用户向设备发送大量目的IP地址不能解析的IP报文(即路由表中存在该IP报文的目的IP地址对应的路由表项,但设备上没有该路由表项中下一跳对应的ARP表项),将导致设备触发大量的ARP Miss消息。这种触发ARP Miss消息的IP报文会被上送到主控板进行处理,设备会根据ARP Miss消息生成和下发大量临时ARP表项并向目的网络发送大量ARP请求报文,这样就增加了设备CPU的负担,同时严重消耗目的网络的带宽资源。

为了避免这种IP报文攻击所带来的危害,可以配置以下ARP Miss消息限速功能:

(1)全局的ARP Miss消息限速:在设备出现目的IP地址不能解析的IP报文攻击时,可限制全局处理的ARP Miss消息数量。

(2)VLAN的ARP Miss消息限速:在某个VLAN内的所有接口出现目的IP地址不能解析的IP报文攻击时,可仅限制处理该VLAN内报文触发的ARPMiss消息数量,配置本功能可以保证不影响其他VLAN内所有接口的IP报文转发。

(3)接口的ARP Miss消息限速:在某个接口出现目的IP地址不能解析的IP报文攻击时,可仅限制处理该接口收到的报文触发的ARP Miss消息数量,配置本功能可以保证不影响其他接口的IP报文转发。

当同时在全局、VLAN或接口下配置ARPMiss消息限速时,设备会先按照接口进行限速,再按照VLAN进行限速,最后按照全局进行限速。当设备忽略的ARP Miss消息数量较多时,如果希望设备能够以告警的方式提醒网络管理员,则可以配置ARP Miss消息限速丢弃告警功能。当设备忽略处理的ARP Miss消息个数超过告警阈值时,设备将产生告警。


六、配置临时ARP表项的老化时间

为了控制设备根据ARP Miss消息生成大量临时的ARP表项,可以通过配置临时ARP表项的老化时间来控制ARPMiss消息的触发频率。这样,在送ARP Miss消息时,在老化时间超时前如果设备没有收到对应的ARP应答报文,则匹配对应临时ARP表项的IP报文将被丢弃,并且不会再触发新的ARP Miss消息;而在设备收到对应的ARP应答报文后,会生成正确的ARP表项来替换临时ARP表项。

但仅配置老化时间还不够,因为在对应临时ARP表项的老化时间超时后,设备虽然会清除该临时ARP表项,但此时如果设备转发IP报文再次匹配不到对应的ARP表项时,则又会重新触发ARP Miss消息并生成临时ARP表项,如此循环重复。这时可调大对应IP报文的临时ARP表项的老化时间,以减少设备的ARP Miss消息的触发频率,从而减小攻击对设备的影响。

临时ARP表项的老化时间是在具体的VLANIF接口视图下配置的,以配置对应VLAN接口所在IP网段的临时ARP表项的老化时间。

七、配置ARP表项严格学习

如果大量用户在同一时间内向设备发送大量ARP报文,或者攻击者伪造正常用户的ARP报文发送给设备,则会造成如下危害:

(1)设备因处理大量ARP报文而导致CPU负荷过重,同时设备学习大量的ARP报文可能导致设备ARP表项资源被无效的ARP表项耗尽,造成合法用户的ARP报文不能继续生成ARP表项,导致用户无法正常通信。

(2)伪造的ARP报文将错误地更新设备ARP表项,导致合法用户无法正常通信。

可以在网关设备上配置ARP表项严格学习功能。配置该功能后,只有本设备主动发送的ARP请求报文的应答报文才能触发本设备学习ARP,其他设备主动向本设备发送的ARP报文不能触发本设备学习ARP,这样,可以拒绝大部分的ARP报文攻击。

ARP表项严格学习功能可在全局和VLANIF接口视图下进行配置。如果全局使能该功能,则设备的所有接口均进行ARP表项严格学习;如果VLANIF接口下使能该功能,则只有该接口进行ARP表项严格学习。当同时在全局和VLANIF接口视图下进行配置时,VLANIF接口下配置的优先级高于全局配置的优先级。

八、配置基于接口的ARP表项限制

为了防止当一个接口(可以是二层物理接口、Eth-Trunk接口、VLANIF接口、三层物理子接口和端口组)所接入的某一用户主机发起ARP攻击时导致整个设备的ARP表项资源被耗尽,可以在指定接口下配置接口能够学习到的最大动态ARP表项数目。当指定接口下的动态ARP表项达到允许学习的最大数目后,将不允许新增动态ARP表项。

九、配置免费ARP报文主动丢弃

由于发送免费ARP报文的用户主机并不需要经过身份验证,任何一个用户主机都可以发送免费ARP报文,这样就引入了两个问题:

(1)如果网络中出现大量的免费ARP报文,设备会因为处理这些报文而导致CPU负荷过重,从而不能正常处理合法的ARP报文。

(2)如果设备处理的免费ARP报文是攻击者伪造的,会造成设备错误地更新ARP表项,导致合法用户的通信流量发生中断。

为了解决以上问题,在确认攻击来自免费ARP报文之后,可以在网关设备上使能免费ARP报文主动丢弃功能,使网关设备直接丢弃所收到的免费ARP报文。

丢弃免费ARP报文功能可以在全局和VLANIF接口下使能。全局使能该功能,则设备的所有接口都丢弃收到的免费ARP报文。VLANIF接口下使能该功能,则只有该接口丢弃收到的免费ARP报文。一般在用户侧的VLANIF接口下配置免费ARP报文主动丢弃功能

配置防ARP欺骗攻击

 

ARP表项攻击、网关攻击、中间人攻击是ARP欺骗攻击的主要应用场景。下表列出了针对不同ARP欺骗攻击类型所提供的不同解决方案,以增强网络抗击ARP欺骗攻击的能力。在这些配置防ARP欺骗攻击安全特性中,各项配置均是并列关系,无严格配置顺序,也并不是要求配置所有的ARP安全特性方案,用户可根据需要选择配置一种或多种方案。

一、配置ARP表项固化

为了防止ARP地址欺骗攻击,可以配置ARP表项固化功能,使欺骗类ARP报文不能修改原来ARP表项。以下3种ARP表项固化模式适用于不同的应用场景,且是互斥关系:

(1)fixed-mac方式:这种固化模式是以报文中源MAC地址与ARP表中现有对应IP地址的表项中的MAC地址是否匹配为审查的关键依据。当这两个MAC地址不匹配时,则直接丢弃该ARP报文;如果这两个MAC地址是匹配的,但是报文中的接口或VLAN信息与ARP表中对应表项不匹配时,则可以更新对应ARP表项中的接口和VLAN信息。这种模式适用于静态配置IP地址,但网络存在冗余链路(这样可以改变出接口和VLAN)的情况。当链路切换时,ARP表项中的接口信息可以快速改变。

(2)fixed-all方式:这种固化模式时仅当ARP报文对应的MAC地址、接口、VLAN信息和ARP表中对应表项的信息完全匹配时,设备才可以更新ARP表项的其他内容。这种模式匹配最严格,适用于静态配置IP地址,网络没有冗余(这样不可以改变出接口和VLAN),且同一IP地址用户不会从不同接口接入的情况。

(3)send-ack方式:这种模式是当设备收到一个涉及MAC地址、VLAN、接口修改的ARP报文时,不会立即更新ARP表项,而是先向待更新的ARP表项现有MAC地址对应的用户发送一个单播的ARP请求报文,再根据用户的确认结果决定是否更新ARP表项中的MAC地址、VLAN和接口信息。此方式适用于动态分配IP地址,有冗余链路的网络。

可在全局和VLANIF接口下配置ARP表项固化功能,全局配置该功能后,缺省设备上所有接口的ARP表项固化功能均已使能。当全局和VLANIF接口下同时配置了该功能,VLANIF接口下的配置优先生效。

二、配置动态ARP检测

为了防御中间人攻击,避免合法用户的数据被中间人窃取,可以使能动态ARP检测功能,仅适用于启用了DHCP Snooping的场景。这样,设备会将ARP报文中的源IP、源MAC、接口、VLAN信息和DHCP Snooping中的绑定表(或者手动添加静态绑定表)信息进行比较,如果匹配,说明发送该ARP报文的用户是合法用户,允许此用户的ARP报文通过,否则就认为是攻击,丢弃该ARP报文。

设备使能DHCP Snooping功能后,DHCP用户上线时设备会自动生成DHCP Snooping绑定表;对于静态配置IP地址的用户,设备不会生成DHCP Snooping绑定表,所以需要手动添加静态绑定表。可用user-bind static { ip-address start-ip [ to end-ip]&<1-10> | mac-address mac-address}*[ interface interface-type interface-number] [vlan vlan-id [ce-vlan ve-vlan-id]]命令配置IP地址、MAC地址、接口和内/外层VLAN的静态用户绑定表项。

如果希望仅匹配绑定表中某一项或某两项内容的特殊ARP报文也能够通过,则可以配置对ARP报文进行绑定表匹配检测时只检查某一项或某两项内容。如果希望设备在丢弃的不匹配绑定表的ARP报文数量较多时能够以告警的方式提醒网络管理员,则还可以使能动态ARP检测丢弃报文告警功能。这样,当丢弃的ARP报文数超过告警阈值时,设备将产生告警。

可在接口(包括物理接口、Eth-Trunk接口、VLANIF接口和端口组)视图或VLAN视图下配置动态ARP检测功能。在接口视图下使能时,则对该接口收到的所有ARP报文进行绑定表匹配检查;在VLAN视图下使能时,则对加入该VLAN的接口收到的属于该VLAN的ARP报文进行绑定表匹配检查。

当同时在VLAN和加入该VLAN的接口下配置了动态ARP检测功能时,设备会先按接口下配置的检查选项对ARP报文进行绑定表匹配检查,如果ARP报文检查通过,设备再根据VLAN下配置的检查选项进行检查。

由于动态ARP检测丢弃报文告警功能针对的是接口下DAI功能丢弃的ARP报文数告警统计,因此建议不要同时在VLAN视图下配置命令arp anti-attack check user-bind enable以及在加入该VLAN的接口视图下配置命令arpanti-attack check user-bind alarm enable,避免VLAN下的DAI功能可能造成实际丢包数目和接口DAI告警统计值之间的偏差。


三、配置ARP防网关冲突

如果攻击者仿冒网关,在局域网内部发送源IP地址是网关IP地址的ARP报文,就会导致局域网内其他用户主机的ARP表记录错误的网关地址映射关系。这样其他用户主机就会把发往网关的流量均发送给了攻击者,攻击者可轻易窃听到它们发送的数据内容,并且最终会造成这些用户主机无法访问网络。这就是最常见的一种ARP攻击类型——网关欺骗ARP攻击

为了防范攻击者仿冒网关,当用户主机直接接入网关时(这是先决条件,其他情形不适用),可在网关设备上使能ARP防网关冲突攻击功能。这样,当网关设备收到的ARP报文存在下列情况之一时,设备就会认为该ARP报文是与网关地址冲突的ARP报文,生成ARP防攻击表项,并在后续一段时间内丢弃该接口收到的相同VLAN和相同源MAC地址的ARP报文,以防止与网关地址冲突的ARP报文在VLAN内广播。

(1)ARP报文的源IP地址与报文入接口对应的VLANIF接口的IP地址(就是网关IP地址)相同。

(2)ARP报文的源IP地址是入接口的VRRP虚拟IP地址,但ARP报文源MAC地址不是VRRP虚拟MAC地址

配置ARP防网关冲突的方法很简答,仅需在系统视图下执行arp anti-attack gateway-duplicate enable即可。缺省情况下,没有使能ARP防网关冲突功能。

这种方法不是很适用,因为它只适用于用户主机直接与网关连接的情形,仅在网关上进行了ARP报文检查。在其他情形下,其他非网关设备照样不会对这类报文进行检查。

四、配置发送ARP免费报文

如果有攻击者向其他用户发送仿冒网关的ARP报文,会导致其他用户的ARP表中记录错误的网关地址映射关系,从而造成其他用户的正常数据不能被网关接收。此时可以在网关设备上配置发送免费ARP报文的功能,用来定期更新合法用户的ARP表项,使得合法用户ARP表项中记录的是正确的网关地址映射关系。

在网关设备上全局或VLANIF接口下配置发送免费ARP报文功能。全局配置该功能后,则缺省设备上所有接口的发送ARP免费报文功能均已使能。当全局和VLANIF接口下同时配置了该功能时,VLANIF接口下的配置优先生效。

五、配置ARP报文内MAC地址一致性检查

ARP报文内MAC地址一致性检查功能主要应用于网关设备上,可以防御以太网数据帧首部中的源/目的MAC地址和ARP报文数据区中的源/目的MAC地址不同的ARP攻击。配置该功能后,网关设备在进行ARP表项学习前将对ARP报文进行检查。如果以太网数据帧首部中的源/目的MAC地址和ARP报文数据区中的源/目的MAC地址不同,则认为是攻击报文,将其丢弃;否则,继续进行ARP学习。

本项ARP安全特性,只能在物理接口或者Eth-Trunk接口下配置,不支持在VLANIF接口和物理子接口上配置。当VLANIF接口收到ARP报文时,ARP报文内MAC地址一致性检查遵循成员接口下的检查规则;当物理子接口收到ARP报文时,ARP报文内MAC地址一致性检查遵循主接口下的检查规则。

六、配置ARP报文合法性检查

为了防止非法ARP报文攻击,可以在接入设备或网关设备上配置ARP报文合法性检查功能,用来对MAC地址和IP地址不合法的ARP报文进行过滤。设备提供以下三种可以任意组合的检查项配置:

(1)IP地址检查:设备会检查ARP报文中的IP和目的IP地址0、全1或者组播IP地址都是不合法的,需要丢弃。对于ARP应答报文,源IP和目的IP地址都进行检查;对于ARP请求报文,只检查源IP地址

(2)MAC地址检查:设备会检查ARP报文中的源MAC地址和以太网数据帧首部中的源MAC地址是否一致,一致则认为合法,否则丢弃报文。

(3)目的MAC地址检查:设备会检查ARP应答报文中的目的MAC地址是否和以太网数据帧首部中的目的MAC地址一致,一致则认为合法,否则丢弃报文。

其实后面两项MAC地址的检查与上面的ARP报文内MAC地址一致性检查方法是一样的。但是,通常ARP报文中源MAC地址和以太网数据帧首部中的源MAC地址不一致的ARP报文,以及目的MAC地址和以太网数据帧首部中的目的MAC地址不一致的ARP应答报文均是ARP协议允许的ARP报文。因此,只有在网络管理员发现攻击产生后,通过报文头获取方式定位、确定了是由于对应项不一致的ARP报文导致的攻击,才能指定ARP报文合法性,检查时需要检查源MAC地址和目的MAC地址。

ARP报文合法性检查的配置方法,仅需在系统视图下配置arp anti-attack packet-check { ip | dst-mac | sender-mac}*命令,使能ARP报文合法性检查功能,并指定ARP报文合法性检查项。

(1)IP:可多选项,对应“IP地址检查”方式,指定在进行ARP报文合法性检查时检查IP地址。

(2)dst-mac:可多选项,对应“目的MAC地址检查”方式,指定在进行ARP报文合法性检查时检查目的MAC地址。

(3)sender-mac:可多选项,对应“源MAC地址检查”方式,指定在进行ARP保温合法性检查时检查源MAC地址。

七、配置DHCP触发ARP学习

在DHCP用户场景下,当DHCP用户数目很多时,设备进行大规模ARP表项的学习和老化会对设备性能和网络环境形成冲击。为了避免此问题,可以在网关设备上使能DHCP触发ARP学习功能。当DHCP服务器给用户分配了IP地址,网关设备会根据VLANIF接口上收到的DHCP ACK(确认)报文直接生成该用户的ARP表项。但DHCP触发ARP学习功能生效的前提是已在网关设备上通过dhcp Snooping enable命令使能了DHCP Snooping功能。

在VRRP和DHCP Relay组合场景下,VRRP主备设备上都不能在配置命令dhcp Snooping enable和arp Learning dhcp-trigger。网关设备上还可同时部署动态ARP检测功能,防止DHCP用户的ARP表项被伪造的ARP报文恶意修改。

DHCP触发ARP学习的配置方法,就是在对应的VLANIF接口视图下执行arp learning dhcp-trigger命令使能DHCP触发ARP学习功能。

ARP安全配置管理

(1)display arp anti-attack configuration { arp-rate-limit | arpmiss-rate-limit|arp-speed-limit | arpmiss-speed-limit |entry-check | gateway-duplicate |log-trap-timer | packet-check | all }:查看ARP防攻击配置。

(2)display arp-limit [interface interface-type interface-number] [vlan vlan-id]:查看接口可以学习到的动态ARP表项数目的最大值。

(3)display arp learning strict:查看全局和所有VLANIF接口上的ARP表项严格学习情况。

(4)display arpanti-attack configuration check user-bind interface interface-typeinterface-number:查看接口下ARP报文检查相关的配置。

(5)disp arpanti-attack gateway-duplicate item:查看ARP防网关冲突攻击表项。

使用以下display任意视图命令维护ARP安全包括监控ARP运行情况。

(1)display arp packet statistics:查看ARP处理的报文统计数据。

(2)display arp anti-attack statistics check user-bind interface interface-typeinterface-number:查看接口下进行ARP报文绑定表匹配检查的ARP报文丢弃计数。

(3)display arp anti-attack packet-check statistics:查看ARP报文合法性检查过程中被过滤的非法ARP报文统计数据。

(4)display arp anti-attack arpmiss-record-info [ip-address]:查看ARP Miss消息限速触发时的相关信息。

使用reset用户视图命令清除ARP报文统计信息、清除ARP报文丢弃计数以及配置对潜在的ARP攻击行为发送日志和告警。

(1)reset arppacket statistics:清除ARP报文的统计信息。

(2)reset arpanti-attack statistics check user-bind interface interface-typeinterface-number:清除由于不匹配绑定表而丢弃的ARP报文计数。

(3)reset arpanti-attack statistics rate-limit:清除由于ARP报文超过速率限制阈值而被丢弃的计数。

配置示例

一、ARP安全综合功能配置示例

如上拓扑,Switch作为网关通过GE1/0/3接口连接一台服务器,通过GE1/0/1和GE1/0/2接口分别连接VLAN10和VLAN20下的用户。网络中存在以下ARP威胁,现希望能够防止这些ARP攻击行为,为用户提供更安全的网络环境和更稳定的网络服务。

(1)攻击者向Switch发送伪造的ARP报文和伪造的免费ARP报文进行ARP欺骗攻击,恶意修改Switch上的ARP表项,造成其他用户无法正常接收数据报文。

(2)攻击者发出大量目的IP地址不可达的IP报文进行ARP泛洪攻击,造成Switch的CPU负荷过重。

(3)用户User1构造大量源IP地址变化、MAC地址固定的ARP报文进行ARP泛洪攻击,造成Switch的ARP表资源被耗尽以及CPU进行繁忙,影响正常业务的处理。

(4)用户User3构造大量源IP地址固定的ARP报文进行ARP泛洪攻击,造成Switch的CPU进程繁忙,影响到正常业务的处理。

1、基本配置思路分析

针对这样的环境,首先要分析网络中存在哪些ARP方面的安全隐患,然后有针对性的给出可用解决方案选择对应的解决方案。

(1)配置ARP表项严格学习功能ARP表项固化功能,实现防止伪造的ARP报文错误的更新Switch的ARP表项;配置免费ARP报文主动丢弃功能,实现防止伪造的免费ARP报文错误地更新设备ARP表项。

(2)配置根据源IP地址进行ARP Miss消息限速,实现防止用户侧存在攻击者发出大量目的IP地址不可达的IP报文触发大量ARP Miss消息,形成ARP泛洪攻击。同时需要保证Switch可以正常处理服务器发出的大量此类报文,避免因丢弃服务器发出的大量此类报文而造成网络无法正常通信。

(3)配置基于接口的ARP表项限制以及根据源MAC地址进行ARP限速,实现防止User1发送的大量源IP地址变化MAC地址固定的ARP报文形成的ARP泛洪攻击,避免Switch的ARP表资源被耗尽,避免CPU进程繁忙。

(4)配置根据源IP地址进行ARP限速,实现防止User3发送的大量源IP地址固定的ARP报文形成的ARP泛洪攻击,避免Switch的CPU进程繁忙。

2、具体配置步骤

<Huawei>system-view

[Huawei]vlan batch 10 20 30

[Huawei]interface gigabitethernet 1/0/1

[Huawei-GigabitEthernet1/0/1]port link-type trunk

[Huawei-GigabitEthernet1/0/1]port trunk allow-pass vlan 10

[Huawei-GigabitEthernet1/0/1]quit

[Huawei]interface gigabitethernet 1/0/2

[Huawei-GigabitEthernet1/0/2]port link-type trunk

[Huawei-GigabitEthernet1/0/2]port trunk allow-pass vlan 20

[Huawei-GigabitEthernet1/0/2]quit

[Huawei]interface gigabitethernet 1/0/3

[Huawei-GigabitEthernet1/0/3]port link-type trunk

[Huawei-GigabitEthernet1/0/3]port trunk allow-pass vlan 30

[Huawei-GigabitEthernet1/0/3]quit

(2)创建接口VLANIF10、VLANIF20、VLANIF30,并按图中标注配置各VLANIF接口的IP地址。

[Huawei]interface vlanif 10

[Huawei-Vlanif10]ip address 8.8.8.4 24

[Huawei-Vlanif10]quit

[Huawei]interface vlanif 20

[Huawei-Vlanif20]ip address 9.9.9.4 24

[Huawei-Vlanif20]quit

[Huawei]interface vlanif 30

[Huawei-Vlanif30]ip address10.10.10.3 24

[Huawei-Vlanif30]quit

(3)配置ARP表项严格学习功能,使网关设备只对自己主动发送的ARP请求报文的应答报文触发本学习ARP表项,其他设备主动向网关设备发送的ARP报文不能触发本学习ARP表项。防止从伪造的ARP报文中学习ARP表项。

[Huawei]arp learning strict

(4)配置ARP表项固化模式为fixed-mac方式。使网关设备对收到的ARP报文中的MAC地址与ARP表中对应表项的MAC地址进行匹配检查,直接丢弃MAC地址不匹配的ARP报文。

[Huawei]arp anti-attack entry-checkfixed-mac enable

(5)配置免费ARP报文主动丢弃功能。使网关设备直接丢弃免费ARP报文。

[Huawei]arp anti-attack gratuitous-arp drop

         (6)配置根据源IP地址进行ARP Miss消息限速,对Server(IP地址为10.10.10.2)的ARP Miss消息进行限速,允许Switch每秒最多处理该IP地址触发的40个ARP Miss消息;对于其他用户,允许Switch每秒最多处理同一个源IP地址触发的20个ARP Miss消息。

[Huawei]arp-miss speed-limit source-ipmaximum 20

[Huawei]arp-miss speed-limit source-ip10.10.10.2 maximum 40

(7)配置基于接口的ARP表项限制,使GE1/0/1接口最多可以学习到20个动态ARP表项。

[Huawei]interface gigabitethernet1/0/1

[Huawei-GigabitEthernet1/0/1]arp-limit vlan10 maximum 20

[Huawei-GigabitEthernet1/0/1]quit

(8)配置根据源MAC地址进行ARP限速,对用户User1(MAC地址为1-1-1)进行ARP报文限速,每秒最多只允许10个该MAC地址的ARP报文通过。

[Huawei]arp speed-limit source-mac 1-1-1maximum 10

(9)配置根据源IP地址进行ARP限速,对用户User3(IP地址为9.9.9.2)进行ARP报文限速,每秒最多只允许10个该IP地址的ARP报文通过。

[Huawei]arp speed-limit source-ip 9.9.9.2 maximum 10

配置后,通过display arplearning strict查看全局已经配置ARP表项严格学习功能;通过display arp packet statistics查看ARP处理的报文统计数据。

二、防止ARP中间人攻击配置示例

如上拓扑,SwitchA通过GE2/0/1接口连接DHCPServer,通过GE1/0/1和GE1/0/2接口分别连接DHCP客户端UserA和UserB,通过GE1/0/3接口连接静态配置IP地址的用户UserC。SwitchA的GE1/0/1、GE1/0/2、GE1/0/3、GE2/0/1接口都属于VLAN10。现希望能够防止ARP中间人攻击,避免合法用户的数据被中间人窃取,同时希望能够了解当前ARP中间人攻击的频率和范围。

1、基本配置思路分析

可以采取以下方法来预防ARP中间人攻击。

(1)使能动态ARP检测功能,使SwitchA对收到的ARP报文对应的源IP地址、源MAC地址、VLAN以及接口信息进行DHCPSnooping绑定表匹配检查,防止ARP中间人攻击。

(2)使能动态ARP检测丢弃报文告警功能,使SwitchA开始统计丢弃的不匹配DHCPSnooping绑定表的ARP报文数量,并在丢弃数量超过告警阈值时能以告警的方式提醒管理员,这样可以使管理员根据告警信息以及报文丢弃计数来了解当前ARP中间人攻击的频率和范围。

(3)配置DHCPSnooping功能,并为UserC配置静态绑定表(对于采用DHCP自动分配IP地址的UserA和UserB,在设备使能DHCPSnooping功能后,当他们上线时设备会自动生成DHCP Snooping绑定表),使动态ARP检测功能生效。

2、具体配置步骤

(1)创建VLAN10,并将GE1、GE1/0/2、GE1/0/3、GE2/0/1接口加入VLAN10中。

<Huawei>system-view

[Huawei]sysname SwitchA

[SwitchA]vlan batch 10

[SwitchA]interface gigabitethernet1/0/1

[SwitchA-GigabitEthernet1/0/1]portlink-type access

[SwitchA-GigabitEthernet1/0/1]port defaultvlan 10

[SwitchA-GigabitEthernet1/0/1]quit

[SwitchA]interface gigabitethernet1/0/2

[SwitchA-GigabitEthernet1/0/2]portlink-type access

[SwitchA-GigabitEthernet1/0/2]port defaultvlan 10

[SwitchA-GigabitEthernet1/0/2]quit

[SwitchA]interface gigabitethernet1/0/3

[SwitchA-GigabitEthernet1/0/3]portlink-type access

[SwitchA-GigabitEthernet1/0/3]port defaultvlan 10

[SwitchA-GigabitEthernet1/0/3]quit

[SwitchA]interface gigabitethernet2/0/1

[SwitchA-GigabitEthernet2/0/1]portlink-type trunk

[SwitchA-GigabitEthernet2/0/1]port trunkallow-pass vlan 10

[SwitchA-GigabitEthernet2/0/1]quit

(2)使能动态ARP检测功能和动态ARP检测丢弃报文告警功能。在用户侧的GE1/0/1、GE1/0/2、GE1/0/3接口下使能动态ARP检测功能和动态ARP检测丢弃报文告警功能。以GE1/0/1为例。

[SwitchA]interface gigabitethernet1/0/1

[SwitchA-GigabitEthernet1/0/1]arp anti-attack check user-bind enable

[SwitchA-GigabitEthernet1/0/1]arp anti-attack check user-bind alarm enable

[SwitchA-GigabitEthernet1/0/1]quit

(3)配置DHCPSnooping功能

[SwitchA]dhcp enable

[SwitchA]dhcp Snooping enable #--全局使能DHCPSnooping功能

[SwitchA]vlan 10

[SwitchA-vlan10]dhcp Snooping enable #--在VLAN10内使能DHCPSnooping功能,这就会为VLAN10中的动态IP地址用户UserA和UserB自动生成绑定表

[SwitchA-vlan10]quit

[SwitchA]interface gigabitethernet2/0/1

[SwitchA-GigabitEthernet2/0/1]dhcp Snooping trusted #--配置接口GE2/0/1为DHCP Snooping信任接口,所有接口缺省均为非信任端口

[SwitchA-GigabitEthernet2/0/1]quit

[SwitchA]user-bind static ip-address 10.0.0.2 mac-address 0001-0001-0001 interface Gigabitethernet 1/0/3 vlan 10 #--在信任接口GE2/0/1上为采用静态IP地址分配的UserC用户配置静态绑定表

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值