17-ARP攻击防御配置
本章节下载: 17-ARP攻击防御配置 (371.72 KB)
目 录
ARP攻击防御功能中所指的“接口”为三层口,包括VLAN接口、三层以太网端口等。三层以太网端口是指被配置为三层模式的以太网端口,有关以太网端口模式切换的操作,请参见“二层技术-以太网交换配置指导”中的“以太网端口配置”。
ARP协议有简单、易用的优点,但是也因为其没有任何安全机制而容易被攻击发起者利用。
· 攻击者可以仿冒用户、仿冒网关发送伪造的ARP报文,使网关或主机的ARP表项不正确,从而对网络进行攻击。
· 攻击者通过向设备发送大量目标IP地址不能解析的IP报文,使得设备试图反复地对目标IP地址进行解析,导致CPU负荷过重及网络流量过大。
· 攻击者向设备发送大量ARP报文,对设备的CPU形成冲击。
关于ARP攻击报文的特点以及ARP攻击类型的详细介绍,请参见“ARP攻击防范技术白皮书”。
目前ARP攻击和ARP病毒已经成为局域网安全的一大威胁,为了避免各种攻击带来的危害,设备提供了多种技术对攻击进行防范、检测和解决。
下面将详细介绍一下这些技术的原理以及配置。
表1-1 ARP攻击防御配置任务简介
配置任务 |
说明 |
详细配置 |
||
防止泛洪攻击 |
配置ARP防止IP报文攻击功能 |
配置ARP源抑制功能 |
可选 建议在网关设备上配置本功能 |
|
配置ARP黑洞路由功能 |
可选 建议在网关设备上配置本功能 |
|||
配置ARP报文限速功能 |
可选 建议在接入设备上配置本功能 |
|||
配置源MAC地址固定的ARP攻击检测功能 |
可选 建议在网关设备上配置本功能 |
|||
防止仿冒用户、仿冒网关攻击 |
配置ARP报文源MAC地址一致性检查功能 |
可选 建议在网关设备上配置本功能 |
||
配置ARP主动确认功能 |
可选 建议在网关设备上配置本功能 |
|||
配置ARP Detection功能 |
可选 建议在接入设备上配置本功能 |
|||
配置ARP自动扫描、固化功能 |
可选 建议在网关设备上配置本功能 |
|||
配置ARP网关保护功能 |
可选 建议在接入设备上配置本功能 |
|||
配置ARP过滤保护功能 |
可选 建议在接入设备上配置本功能 |
如果网络中有主机通过向设备发送大量目标IP地址不能解析的IP报文来攻击设备,则会造成下面的危害:
· 设备向目的网段发送大量ARP请求报文,加重目的网段的负载。
· 设备会试图反复地对目标IP地址进行解析,增加了CPU的负担。
为避免这种IP报文攻击所带来的危害,设备提供了下列两个功能:
· 如果发送攻击报文的源是固定的,可以采用ARP源抑制功能。开启该功能后,以每5秒为单位时间,当在5秒的单位时间内由某特定主机发出IP报文触发的ARP请求报文的数量超过设置的阈值,那么对这台主机随后发出的所有IP报文,设备不允许其再触发ARP请求,并丢弃这些IP报文。直至这5秒结束后,设备允许这台主机重新触发ARP请求,并重复以上的操作,从而避免了恶意攻击所造成的危害。
· 如果发送攻击报文的源不固定,可以采用ARP黑洞路由功能。开启该功能后,一旦接收到目标IP地址不能解析的IP报文,设备立即产生一个黑洞路由,使得设备在一段时间内将去往该地址的报文直接丢弃。等待黑洞路由老化时间过后,如有报文触发则再次发起解析,如果解析成功则进行转发,否则仍然产生一个黑洞路由将去往该地址的报文丢弃。这种方式能够有效地防止IP报文的攻击,减轻CPU的负担。
表1-2 配置ARP源抑制功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能ARP源抑制功能 |
arp source-suppression enable |
必选 缺省情况下,ARP源抑制功能处于关闭状态 |
配置ARP源抑制的阈值 |
arp source-suppression limit limit-value |
可选 缺省情况下,ARP源抑制的阈值为10 |
表1-3 配置ARP黑洞路由功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能ARP黑洞路由功能 |
arp resolving-route enable |
必选 缺省情况,ARP黑洞路由功能处于开启状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后ARP源抑制的运行情况,通过查看显示信息验证配置的效果。
表1-4 ARP源抑制显示和维护
操作 |
命令 |
显示ARP源抑制的配置信息 |
display arp source-suppression [ | { begin | exclude | include } regular-expression ] |
某局域网内存在两个区域:研发区和办公区,分别属于VLAN 10和VLAN 20,通过接入交换机连接到网关Device,如图1-1所示。
网络管理员在监控网络时发现办公区存在大量ARP请求报文,通过分析认为存在IP泛洪攻击,为避免这种IP报文攻击所带来的危害,可采用ARP源抑制功能和ARP黑洞路由功能。
图1-1 ARP防止IP报文攻击配置组网图
对攻击报文进行分析:
(1) 如果发送攻击报文的源地址是固定的,采用ARP源抑制功能。在Device上做如下配置:
· 使能ARP源抑制功能;
· 配置ARP源抑制的阈值为100,即当每5秒内的ARP请求报文的流量超过100后,对于由此IP地址发出的IP报文,设备不允许其触发ARP请求,直至5秒后再处理。
(2) 如果发送攻击报文的源地址是不固定的,则采用ARP黑洞路由功能,在Device上配置ARP黑洞路由功能。
(1) 配置ARP源抑制功能
# 使能ARP源抑制功能,并配置ARP源抑制的阈值为100。
<Device> system-view
[Device] arp source-suppression enable
[Device] arp source-suppression limit 100
(2) 配置ARP黑洞路由功能
# 使能ARP黑洞路由功能。
<Device> system-view
[Device] arp resolving-route enable
ARP报文限速功能是指对上送CPU的ARP报文进行限速,可以防止大量ARP报文对CPU进行冲击。例如,在配置了ARP Detection功能后,设备会将收到的ARP报文重定向到CPU进行检查,这样引入了新的问题:如果攻击者恶意构造大量ARP报文发往设备,会导致设备的CPU负担过重,从而造成其他功能无法正常运行甚至设备瘫痪,这个时候可以启用ARP报文限速功能来控制上送CPU的ARP报文的速率。
推荐用户在配置了ARP Detection、ARP Snooping、MFF,或者发现有ARP泛洪攻击的情况下,使用ARP报文限速功能。
使能ARP报文限速功能后,当端口上收到的ARP报文速率超过用户设定的限速值时,设备就会发送ARP超速的Trap和Log信息。为防止过多的Trap和Log信息干扰用户工作,用户可以设定信息的发送时间间隔。当用户设定的时间间隔超时时,设备将这个时间间隔内的超速峰值作为Trap和Log的速率值打印出来。
需要注意的是,只有开启了ARP报文限速的Trap功能后,才会生成Trap报文。
生成的Trap和Log报文将被发送到设备的信息中心,通过设置信息中心的参数,最终决定Trap和Log报文的输出规则(即是否允许输出以及输出方向)。(有关信息中心参数的配置请参见“网络管理和监控配置指导”中的“信息中心”。)
表1-5 配置ARP报文限速功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启ARP报文限速Trap功能 |
snmp-agent trap enable arp rate-limit |
可选 缺省情况下,ARP报文限速Trap功能处于开启状态 |
配置当端口上的ARP报文速率超过用户设定的限速值时,设备发送Trap和Log的时间间隔 |
arp rate-limit information interval seconds |
可选 缺省情况下,设备发送ARP超速Trap和Log的时间间隔为60秒 |
进入二层以太网端口/二层聚合接口视图 |
interface interface-type interface-number |
- |
配置ARP报文限速功能 |
arp rate-limit { disable | rate pps drop } |
必选 缺省情况下,ARP报文限速功能处于关闭状态 |
· 如果在二层聚合接口上配置了ARP报文限速功能,则只要聚合成员端口上的ARP报文速率超过用户设定的限速值,就会发送Trap和Log信息。
· snmp-agent trap enable arp rate-limit命令的详细介绍请参见“网络管理和监控命令参考/SNMP”中的snmp-agent trap enable命令。
本特性根据ARP报文的源MAC地址进行统计,在5秒内,如果收到同一源MAC地址的ARP报文超过一定的阈值,则认为存在攻击,系统会将此MAC地址添加到攻击检测表项中。在该攻击检测表项老化之前,如果设置的检查模式为过滤模式,则会打印Log信息并且将该源MAC地址发送的ARP报文过滤掉;如果设置的模式为监控模式,则只打印Log信息,不会将该源MAC地址发送的ARP报文过滤掉。
对于网关或一些重要的服务器,可能会发送大量ARP报文,为了使这些ARP报文不被过滤掉,可以将这类设备的MAC地址配置成保护MAC地址,这样,即使该MAC地址存在攻击也不会被检测、过滤。
只对上送CPU的ARP报文进行统计。
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能源MAC地址固定的ARP攻击检测功能,并选择检查模式 |
arp anti-attack source-mac { filter | monitor } |
必选 缺省情况下,源MAC地址固定的ARP攻击检测功能处于关闭状态 |
配置源MAC地址固定的ARP报文攻击检测的阈值 |
arp anti-attack source-mac threshold threshold-value |
可选 缺省情况下,源MAC固定ARP报文攻击检测阈值为50 |
配置源MAC地址固定的ARP攻击检测表项的老化时间 |
arp anti-attack source-mac aging-time time |
可选 缺省情况下,源MAC地址固定的ARP攻击检测表项的老化时间为300秒,即5分钟 |
配置保护MAC地址 |
arp anti-attack source-mac exclude-mac mac-address&<1-10> |
可选 缺省情况下,没有配置任何保护MAC地址 |
对于已添加到源MAC地址固定的ARP攻击检测表项中的MAC地址,在等待设置的老化时间后,会重新恢复成普通MAC地址。
在完成上述配置后,在任意视图下执行display命令可以显示配置后源MAC地址固定的ARP攻击检测的运行情况,通过查看显示信息验证配置的效果。
表1-7 源MAC地址固定的ARP攻击检测显示和维护
操作 |
命令 |
显示检测到的源MAC地址固定的ARP攻击检测表项 |
display arp anti-attack source-mac { slot slot-number | interface interface-type interface-number } [ | { begin | exclude | include } regular-expression ] |
某局域网内客户端通过网关与外部网络通信,网络环境如图1-2所示。
网络管理员希望能够防止因恶意用户对网关发送大量ARP报文,造成设备瘫痪,并导致其它用户无法正常地访问外部网络;同时,对于正常的大量ARP报文仍然会进行处理。
图1-2 源MAC地址固定的ARP攻击检测功能配置组网图
如果恶意用户发送大量报文的源MAC地址是使用客户端合法的MAC地址,并且源MAC是固定的,可以在网关上进行如下配置:
· 使能源MAC固定ARP攻击检测功能,并选择过滤模式;
· 配置源MAC固定ARP报文攻击检测的阈值;
· 配置源MAC固定的ARP攻击检测表项的老化时间;
· 配置服务器的MAC为保护MAC,使服务器可以发送大量ARP报文。
# 使能源MAC固定ARP攻击检测功能,并选择过滤模式。
<Device> system-view
[Device] arp anti-attack source-mac filter
# 配置源MAC固定ARP报文攻击检测阈值为30个。
[Device] arp anti-attack source-mac threshold 30
# 配置源MAC地址固定的ARP攻击检测表项的老化时间为60秒。
[Device] arp anti-attack source-mac aging-time 60
# 配置源MAC固定攻击检查的保护MAC地址为0012-3f86-e94c。
[Device] arp anti-attack source-mac exclude-mac 0012-3f86-e94c
ARP报文源MAC地址一致性检查功能主要应用于网关设备上,防御以太网数据帧首部中的源MAC地址和ARP报文中的源MAC地址不同的ARP攻击。
配置本特性后,网关设备在进行ARP学习前将对ARP报文进行检查。如果以太网数据帧首部中的源MAC地址和ARP报文中的源MAC地址不同,则认为是攻击报文,将其丢弃;否则,继续进行ARP学习。
表1-8 配置ARP报文源MAC地址一致性检查功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能ARP报文源MAC地址一致性检查功能 |
arp anti-attack valid-check enable |
必选 缺省情况下,ARP报文源MAC地址一致性检查功能处于关闭状态 |
ARP的主动确认功能主要应用于网关设备上,防止攻击者仿冒用户欺骗网关设备。
启用ARP主动确认功能后,设备在新建或更新ARP表项前需进行主动确认,防止产生错误的ARP表项。关于工作原理的详细介绍请参见“ARP攻击防范技术白皮书”。
表1-9 配置ARP主动确认功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能ARP主动确认功能 |
arp anti-attack active-ack enable |
必选 缺省情况下,ARP主动确认功能处于关闭状态 |
ARP Detection功能主要应用于接入设备上,对于合法用户的ARP报文进行正常转发,否则直接丢弃,从而防止仿冒用户、仿冒网关的攻击。
ARP Detection包含三个功能:用户合法性检查、ARP报文有效性检查、ARP报文强制转发。
对于ARP信任端口,不进行用户合法性检查;对于ARP非信任端口,需要进行用户合法性检查,以防止仿冒用户的攻击。
用户合法性检查是根据ARP报文中源IP地址和源MAC地址检查用户是否是所属VLAN所在端口上的合法用户,包括基于配置规则的检查、基于IP Source Guard静态绑定表项的检查、基于DHCP Snooping安全表项的检查、基于802.1X安全表项的检查和OUI MAC地址的检查。
(1) 首先进行基于配置规则的检查。如果在配置的规则中找到与报文匹配的规则,则按照规则对ARP报文进行处理。如果在配置的规则中没有找到与报文匹配的规则,继续进行基于IP Source Guard静态绑定表项的检查、基于DHCP Snooping安全表项的检查、基于802.1X安全表项的检查和OUI MAC地址的检查。
(2) 在基于配置规则的检查之后,如果未匹配,则进行基于IP Source Guard静态绑定表项检查。如果找到了对应源IP地址和源MAC地址的静态绑定表项,认为该ARP报文合法,进行转发。如果找到了对应源IP地址的静态绑定表项但源MAC地址不符,认为该ARP报文非法,进行丢弃。如果没有找到对应源IP地址的静态绑定表项,继续进行DHCP Snooping安全表项、802.1X安全表项和OUI MAC地址检查。
(3) 在基于IP Source Guard静态绑定表项检查之后,如果未匹配,则进行基于DHCP Snooping安全表项、802.1X安全表项和OUI MAC地址检查,只要符合三者中任何一个,就认为该ARP报文合法,进行转发。其中,OUI MAC地址检查指的是,只要ARP报文的源MAC地址为OUI MAC地址,并且使能了Voice VLAN功能,就认为是合法报文,检查通过。
(4) 如果所有检查都没有找到匹配项,则认为是非法报文,直接丢弃。
· IP Source Guard静态绑定表项通过ip source binding命令生成,详细介绍请参见“安全配置指导”中的“IP Source Guard”。
· DHCP Snooping安全表项通过DHCP Snooping功能自动生成,详细介绍请参见“三层技术-IP业务配置指导”中的“DHCP Snooping”。
· 802.1X安全表项通过802.1X功能产生,802.1X用户需要使用可以将IP地址上传的客户端,用户通过了802.1X认证并且将IP地址上传至使能ARP Detection的设备后,设备自动生成可用于ARP Detection的用户合法性检查的802.1X安全表项。802.1X的详细介绍请参见“安全配置指导”中的“802.1X”。
· 关于Voice VLAN和OUI MAC地址的详细介绍请参见“二层技术-以太网交换配置指导”中的“Voice VLAN”。
对于ARP信任端口,不进行报文有效性检查;对于ARP非信任端口,需要根据配置对MAC地址和IP地址不合法的报文进行过滤。可以选择配置源MAC地址、目的MAC地址或IP地址检查模式。
· 对于源MAC地址的检查模式,会检查ARP报文中的源MAC地址和以太网报文头中的源MAC地址是否一致,一致则认为有效,否则丢弃报文;
· 对于目的MAC地址的检查模式(只针对ARP应答报文),会检查ARP应答报文中的目的MAC地址是否为全0或者全1,是否和以太网报文头中的目的MAC地址一致。全0、全1、不一致的报文都是无效的,无效的报文需要被丢弃;
· 对于IP地址检查模式,会检查ARP报文中的源IP和目的IP地址,全0、全1、或者组播IP地址都是不合法的,需要丢弃。对于ARP应答报文,源IP和目的IP地址都进行检查;对于ARP请求报文,只检查源IP地址。
对于从ARP信任端口接收到的ARP报文不受此功能影响,按照正常流程进行转发;对于从ARP非信任端口接收到的、已经通过用户合法性检查的ARP报文的处理过程如下:
· 对于ARP请求报文,通过信任端口进行转发;
· 对于ARP应答报文,首先按照报文中的以太网目的MAC地址进行转发,若在MAC地址表中没有查到目的MAC地址对应的表项,则将此ARP应答报文通过信任端口进行转发。
如果既配置了报文有效性检查功能,又配置了用户合法性检查功能,那么先进行报文有效性检查,然后进行用户合法性检查。
表1-10 配置用户合法性检查功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置用户合法性检查的规则 |
arp detection id-number { permit | deny } ip { any | ip-address [ ip-address-mask ] } mac { any | mac-address [ mac-address-mask ] } [ vlan vlan-id ] |
可选 缺省情况下,没有配置用户合法性检查的规则 |
进入VLAN视图 |
vlan vlan-id |
- |
使能ARP Detection功能 |
arp detection enable |
必选 缺省情况下,ARP Detection功能处于关闭状态。即不进行用户合法性检查 |
退回系统视图 |
quit |
- |
进入二层以太网端口或者二层聚合接口视图 |
interface interface-type interface-number |
- |
将不需要进行用户合法性检查的端口配置为ARP信任端口 |
arp detection trust |
可选 缺省情况下,端口为ARP非信任端口 |
· 配置用户合法性检查功能时,必须至少配置用户合法性检查的规则、IP Source Guard静态绑定表项、DHCP Snooping功能、802.1X功能四者之一,否则所有从ARP非信任端口收到的ARP报文都将被丢弃(使能了Voice VLAN功能的情况下,源MAC地址为OUI MAC地址的ARP报文不会被丢弃)。
· 在配置IP Source Guard静态绑定表项时,必须指定VLAN参数,否则ARP报文将无法通过基于IP Source Guard静态绑定表项的检查。
表1-11 配置ARP报文有效性检查功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN视图 |
vlan vlan-id |
- |
使能ARP Detection功能 |
arp detection enable |
必选 缺省情况下,ARP Detection功能处于关闭状态 |
退回系统视图 |
quit |
- |
使能ARP报文有效性检查功能 |
arp detection validate { dst-mac | ip | src-mac } * |
必选 缺省情况下, ARP报文有效性检查功能处于关闭状态 |
进入二层以太网端口或者二层聚合接口视图 |
interface interface-type interface-number |
- |
将不需要进行ARP报文有效性检查的端口配置为ARP信任端口 |
arp detection trust |
可选 缺省情况下,端口为ARP非信任端口 |
进行下面的配置之前,需要保证已经配置了用户合法性检查功能。
表1-12 配置ARP报文强制转发功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN视图 |
vlan vlan-id |
- |
使能ARP报文强制转发功能 |
arp restricted-forwarding enable |
必选 缺省情况下,ARP报文强制转发功能处于关闭状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后ARP Detection的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,用户可以执行reset命令清除ARP Detection的统计信息。
表1-13 ARP Detection显示和维护
操作 |
命令 |
显示使能了ARP Detection功能的VLAN |
display arp detection [ | { begin | exclude | include } regular-expression ] |
显示ARP Detection功能报文检查的丢弃计数的统计信息 |
display arp detection statistics [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
清除ARP Detection的统计信息 |
reset arp detection statistics [ interface interface-type interface-number ] |
· Switch A是DHCP服务器;Switch B是支持802.1X的设备,在VLAN 10内启用ARP Detection功能,对认证客户端进行保护,保证合法用户可以正常转发报文,否则丢弃。
· Host A和Host B是本地802.1X接入用户。
图1-3 配置用户合法性检查组网图
(1) 配置组网图中所有端口属于VLAN及Switch A对应VLAN接口的IP地址(略)
(2) 配置DHCP服务器Switch A
# 配置DHCP地址池0。
<SwitchA> system-view
[SwitchA] dhcp enable
[SwitchA] dhcp server ip-pool 0
[SwitchA-dhcp-pool-0] network 10.1.1.0 mask 255.255.255.0
(3) 配置客户端Host A和Host B(略),必须使用上传IP地址方式。
(4) 配置设备Switch B
# 配置802.1X功能。
<SwitchB> system-view
[SwitchB] dot1x
[SwitchB] interface ethernet 1/0/1
[SwitchB-Ethernet1/0/1] dot1x
[SwitchB-Ethernet1/0/1] quit
[SwitchB] interface ethernet 1/0/2
[SwitchB-Ethernet1/0/2] dot1x
[SwitchB-Ethernet1/0/2] quit
# 添加本地接入用户。
[SwitchB] local-user test
[SwitchB-luser-test] service-type lan-access
[SwitchB-luser-test] password simple test
[SwitchB-luser-test] quit
# 使能ARP Detection功能,对用户合法性进行检查。
[SwitchB] vlan 10
[SwitchB-vlan10] arp detection enable
# 端口状态缺省为非信任状态,上行端口配置为信任状态,下行端口按缺省配置。
[SwitchB-vlan10] interface ethernet 1/0/3
[SwitchB-Ethernet1/0/3] arp detection trust
[SwitchB-Ethernet1/0/3] quit
完成上述配置后,对于端口Ethernet1/0/1和Ethernet1/0/2收到的ARP报文,需基于802.1X安全表项进行用户合法性检查。
· Switch A是DHCP服务器;
· Host A是DHCP客户端;用户Host B的IP地址是10.1.1.6,MAC地址是0001-0203-0607。
· Switch B是DHCP Snooping设备,在VLAN 10内启用ARP Detection功能,对DHCP客户端和用户进行保护,保证合法用户可以正常转发报文,否则丢弃。
(1) 配置组网图中所有端口属于VLAN及Switch A对应VLAN接口的IP地址(略)
(2) 配置DHCP服务器Switch A
# 配置DHCP地址池0。
<SwitchA> system-view
[SwitchA] dhcp enable
[SwitchA] dhcp server ip-pool 0
[SwitchA-dhcp-pool-0] network 10.1.1.0 mask 255.255.255.0
(3) 配置DHCP客户端Host A和用户Host B(略)
(4) 配置设备Switch B
# 配置DHCP Snooping功能。
<SwitchB> system-view
[SwitchB] dhcp-snooping
[SwitchB] interface ethernet 1/0/3
[SwitchB-Ethernet1/0/3] dhcp-snooping trust
[SwitchB-Ethernet1/0/3] quit
# 使能ARP Detection功能,对用户合法性进行检查。
[SwitchB] vlan 10
[SwitchB-vlan10] arp detection enable
# 端口状态缺省为非信任状态,上行端口配置为信任状态,下行端口按缺省配置。
[SwitchB-vlan10] interface ethernet 1/0/3
[SwitchB-Ethernet1/0/3] arp detection trust
[SwitchB-Ethernet1/0/3] quit
# 在端口Ethernet1/0/2上配置IP Source Guard静态绑定表项。
[SwitchB] interface ethernet 1/0/2
[SwitchB-Ethernet1/0/2] ip source binding ip-address 10.1.1.6 mac-address 0001-0203-0607 vlan 10
[SwitchB-Ethernet1/0/2] quit
# 配置进行报文有效性检查。
[SwitchB] arp detection validate dst-mac ip src-mac
完成上述配置后,对于端口Ethernet1/0/1和Ethernet1/0/2收到的ARP报文,先进行报文有效性检查,然后基于IP Source Guard静态绑定表项、DHCP Snooping安全表项进行用户合法性检查。
· Switch A是DHCP服务器;
· Host A是DHCP客户端;用户Host B的IP地址是10.1.1.6,MAC地址是0001-0203-0607。
· Host A和Host B在设备Switch B上端口隔离,但是均和网关Switch A相通,Ethernet1/0/1、Ethernet1/0/2、Ethernet1/0/3均属于VLAN 10。
· Switch B是DHCP Snooping设备,在VLAN 10内启用ARP Detection功能,对DHCP客户端和用户进行保护,保证合法用户可以正常转发报文,否则丢弃。
要求:Switch B在启用ARP Detection功能后,对于ARP广播请求报文仍然能够进行端口隔离。
图1-5 配置ARP报文强制转发组网图
(1) 配置组网图中所有端口属于VLAN及Switch A对应VLAN接口的IP地址(略)
(2) 配置DHCP服务器Switch A
# 配置DHCP地址池0。
<SwitchA> system-view
[SwitchA] dhcp enable
[SwitchA] dhcp server ip-pool 0
[SwitchA-dhcp-pool-0] network 10.1.1.0 mask 255.255.255.0
(3) 配置DHCP客户端Host A和用户Host B(略)
(4) 配置设备Switch B
# 配置DHCP Snooping功能。
<SwitchB> system-view
[SwitchB] dhcp-snooping
[SwitchB] interface ethernet 1/0/3
[SwitchB-Ethernet1/0/3] dhcp-snooping trust
[SwitchB-Ethernet1/0/3] quit
# 使能ARP Detection功能,对用户合法性进行检查。
[SwitchB] vlan 10
[SwitchB-vlan10] arp detection enable
# 端口状态缺省为非信任状态,上行端口配置为信任状态,下行端口按缺省配置。
[SwitchB-vlan10] interface ethernet 1/0/3
[SwitchB-Ethernet1/0/3] arp detection trust
[SwitchB-Ethernet1/0/3] quit
# 在端口Ethernet1/0/2上配置IP Source Guard静态绑定表项。
[SwitchB] interface ethernet 1/0/2
[SwitchB-Ethernet1/0/2] ip source binding ip-address 10.1.1.6 mac-address 0001-0203-0607 vlan 10
[SwitchB-Ethernet1/0/2] quit
# 配置进行报文有效性检查。
[SwitchB] arp detection validate dst-mac ip src-mac
# 配置端口隔离。
[SwitchB] interface ethernet 1/0/1
[SwitchB-Ethernet1/0/1] port-isolate enable
[SwitchB-Ethernet1/0/1] quit
[SwitchB] interface ethernet 1/0/2
[SwitchB-Ethernet1/0/2] port-isolate enable
[SwitchB-Ethernet1/0/2] quit
完成上述配置后,对于端口Ethernet1/0/1和Ethernet1/0/2收到的ARP报文,先进行报文有效性检查,然后基于IP Source Guard静态绑定表项、DHCP Snooping安全表项进行用户合法性检查。但是,Host A发往Switch A的ARP广播请求报文,由于通过了用户合法性检查,所以能够被转发到Host B,端口隔离功能失效。
# 配置ARP报文强制转发功能。
[SwitchB] vlan 10
[SwitchB-vlan10] arp restricted-forwarding enable
[SwitchB-vlan10] quit
此时,Host A发往Switch A的合法ARP广播请求报文只能通过信任端口Ethernet1/0/3转发,不能被Host B接收到,端口隔离功能可以正常工作。
ARP自动扫描功能一般与ARP固化功能配合使用:
· 启用ARP自动扫描功能后,设备会对局域网内的邻居自动进行扫描(向邻居发送ARP请求报文,获取邻居的MAC地址,从而建立动态ARP表项)。
· ARP固化功能用来将当前的ARP动态表项(包括ARP自动扫描生成的动态ARP表项)转换为静态ARP表项。通过对动态ARP表项的固化,可以有效的防止攻击者修改ARP表项。
推荐在网吧这种环境稳定的小型网络中使用这两个功能。
表1-14 配置ARP自动扫描、固化功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
启动ARP自动扫描功能 |
arp scan [ start-ip-address to end-ip-address ] |
必选 |
退回系统视图 |
quit |
- |
配置ARP固化功能 |
arp fixup |
必选 |
· 对于已存在ARP表项的IP地址不进行扫描。
· 扫描操作可能比较耗时,用户可以通过<Ctrl_C>来终止扫描(在终止扫描时,对于已经收到的邻居应答,会建立该邻居的动态ARP表项)。
· 固化后的静态ARP表项与配置产生的静态ARP表项相同。
· 通过arp fixup命令将当前的动态ARP表项转换为静态ARP表项后,后续学习到的动态ARP表项可以通过再次执行arp fixup命令进行固化。
· 固化生成的静态ARP表项数量同样受到设备可以支持的静态ARP表项数目的限制,由于静态ARP表项数量的限制可能导致只有部分动态ARP表项被固化。
· 通过固化生成的静态ARP表项,可以通过命令行undo arp ip-address [ vpn-instance-name ]逐条删除,也可以通过命令行reset arp all或reset arp static全部删除。
在设备上不与网关相连的端口上配置此功能,可以防止伪造网关攻击。
在端口配置此功能后,当端口收到ARP报文时,将检查ARP报文的源IP地址是否和配置的被保护网关的IP地址相同。如果相同,则认为此报文非法,将其丢弃;否则,认为此报文合法,继续进行后续处理。
表1-15 配置ARP网关保护功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图/二层聚合接口视图 |
interface interface-type interface-number |
- |
开启ARP网关保护功能,配置被保护的网关IP地址 |
arp filter source ip-address |
必选 缺省情况下,ARP网关保护功能处于关闭状态 |
· 每个端口最多支持配置8个被保护的网关IP地址。
· 不能在同一端口下同时配置命令arp filter source和arp filter binding。
· 本功能与ARP Detection、MFF和ARP Snooping功能配合使用时,先进行本功能检查,本功能检查通过后才会进行其他配合功能的处理。
与Switch B相连的Host B进行了仿造网关Switch A(IP地址为10.1.1.1)的ARP攻击,导致与Switch B相连的设备与网关Switch A通信时错误发往了Host B。
要求:通过配置防止这种仿造网关攻击。
图1-6 配置ARP网关保护功能组网图
# 在Switch B上配置ARP网关保护功能。
<SwitchB> system-view
[SwitchB] interface ethernet 1/0/1
[SwitchB-Ethernet1/0/1] arp filter source 10.1.1.1
[SwitchB-Ethernet1/0/1] quit
[SwitchB] interface ethernet 1/0/2
[SwitchB-Ethernet1/0/2] arp filter source 10.1.1.1
完成上述配置后,对于Host B发送的伪造的源IP地址为网关IP地址的ARP报文将会被丢弃,不会再被转发。
本功能用来限制端口下允许通过的ARP报文,可以防止仿冒网关和仿冒用户的攻击。
在端口配置此功能后,当端口收到ARP报文时,将检查ARP报文的源IP地址和源MAC地址是否和允许通过的IP地址和MAC地址相同:
· 如果相同,则认为此报文合法,继续进行后续处理;
· 如果不相同,则认为此报文非法,将其丢弃。
表1-16 配置ARP过滤保护功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图/二层聚合接口视图 |
interface interface-type interface-number |
- |
开启ARP过滤保护功能,配置允许通过的ARP报文的源IP地址和源MAC地址 |
arp filter binding ip-address mac-address |
必选 缺省情况下,ARP过滤保护功能处于关闭状态 |
· 每个端口最多支持配置8组允许通过的ARP报文的源IP地址和源MAC地址。
· 不能在同一端口下同时配置命令arp filter source和arp filter binding。
· 本功能与ARP Detection、MFF和ARP Snooping功能配合使用时,先进行本功能检查,本功能检查通过后才会进行其他配合功能的处理。
· Host A的IP地址为10.1.1.2,MAC地址为000f-e349-1233。
· Host B的IP地址为10.1.1.3,MAC地址为000f-e349-1234。
· 限制Switch B的Ethernet1/0/1、Ethernet1/0/2端口只允许指定用户接入,不允许其他用户接入。
图1-7 配置ARP过滤保护功能组网图
# 配置Switch B的ARP过滤保护功能。
<SwitchB> system-view
[SwitchB] interface ethernet 1/0/1
[SwitchB-Ethernet1/0/1] arp filter binding 10.1.1.2 000f-e349-1233
[SwitchB-Ethernet1/0/1] quit
[SwitchB] interface ethernet 1/0/2
[SwitchB-Ethernet1/0/2] arp filter binding 10.1.1.3 000f-e349-1234
完成上述配置后,端口Ethernet1/0/1收到Host A发出的源IP地址为10.1.1.2、源MAC地址为000f-e349-1233的ARP报文将被允许通过,其他ARP报文将被丢弃;端口Ethernet1/0/2收到Host B发出的源IP地址为10.1.1.3、源MAC地址为000f-e349-1234的ARP报文将被允许通过,其他ARP报文将被丢弃。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!