首页 > 网络 > H3C防ARP解决方案

H3C防ARP解决方案

Aug 1st,2009 发表评论

1.1通过接入交换机上开启DHCP Snooping功能、配置IP静态绑定表项、ARP入侵检测功能和ARP报文限速功能,可以防御常见的ARP攻击,如表1-1。
表1-1 常见网络攻击和防范对照表

攻击方式 防御方法
动态获取IP地址的用户进行“仿冒网关”、“欺骗网关”、“欺骗终端用户”、“ARP中间人攻击” 配置DHCP Snooping、ARP入侵检测功能
手工配置IP地址的用户进行“仿冒网关”、“欺骗网关”、“欺骗终端用户”、“ARP中间人攻击” 配置IP静态绑定表项、ARP入侵检测功能
ARP泛洪攻击 配置ARP报文限速功能

(表1-1)

1.2 DHCP Snooping功能
DHCP Snooping是运行在二层接入设备上的一种DHCP安全特性。
(1) 通过监听DHCP报文,记录DHCP客户端IP地址与MAC地址的对应关系;
(2)通过设置DHCP Snooping信任端口,保证客户端从合法的服务器获取IP地址。
l 信任端口正常转发接收到的DHCP报文,从而保证了DHCP客户端能够从DHCP服务器获取IP地址。
l 不信任端口接收到DHCP服务器响应的DHCP-ACK和DHCP-OFFER报文后,丢弃该报文,从而防止了DHCP客户端获得错误的IP地址。
说明:
目前H3C低端以太网交换机上开启DHCP Snooping功能后,所有端口默认被配置为DHCP Snooping非信任端口。为了使DHCP客户端能从合法的DHCP服务器获取IP地址,必须将与合法DHCP服务器相连的端口设置为信任端口,设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内。

1.3 ARP入侵检测功能
H3C低端以太网交换机支持将收到的ARP(请求与回应)报文重定向到CPU,结合DHCP Snooping安全特性来判断ARP报文的合法性并进行处理,具体如下。
当ARP报文中的源IP地址及源MAC地址的绑定关系与DHCPl Snooping表项或者手工配置的IP静态绑定表项匹配,且ARP报文的入端口及其所属VLAN与DHCP Snooping表项或者手工配置的IP静态绑定表项一致,则为合法ARP报文,进行转发处理。
当ARP报文中的源IP地址及源MAC地址的绑定关系与DHCP Snooping表项或者手工配置的IP静态绑定表项不匹配,或ARP报文的入端口,入端口所属VLAN与DHCP Snooping表项或者手工配置的IP静态绑定表项不一致,则为非法ARP报文,直接丢弃。
说明:
DHCP Snooping表只记录了通过DHCP方式动态获取IP地址的客户端信息。如果固定IP地址的用户需要访问网络,必须在交换机上手工配置IP静态绑定表的表项,即:用户的IP地址、MAC地址及连接该用户的端口之间的绑定关系。
实际组网中,为了解决上行端口接收的ARP请求和应答报文能够通过ARP入侵检测问题,交换机支持通过配置ARP信任端口,灵活控制ARP报文检测功能。对于来自信任端口的所有ARP报文不进行检测,对其它端口的ARP报文通过查看DHCP Snooping表或手工配置的IP静态绑定表进行检测。

1.4 ARP报文限速功能
H3C低端以太网交换机支持端口ARP报文限速功能,使受到攻击的端口暂时关闭,来避免此类攻击对CPU的冲击。
开启某个端口的ARP报文限速功能后,交换机对每秒内该端口接收的ARP报文数量进行统计,如果每秒收到的ARP报文数量超过设定值,则认为该端口处于超速状态(即受到ARP报文攻击)。此时,交换机将关闭该端口,使其不再接收任何报文,从而避免大量ARP报文攻击设备。同时,设备支持配置端口状态自动恢复功能,对于配置了ARP限速功能的端口,在其因超速而被交换机关闭后,经过一段时间可以自动恢复为开启状态。
1.5 防ARP攻击配置指南

任务 视图 命令 说明
配置DHCP Snooping功能记录DHCP客户端的IP/MAC对应关系 进入系统视图 dhcp-snooping 以太网交换机的DHCP Snooping功能处于禁止状态
设置指定端口为DHCP Snooping信任端口 进入以太网端口视图 dhcp-snooping trust 缺省情况下,交换机的端口均为不信任端口
配置指定端口的IP静态绑定表项 进入以太网端口视图 ip source static binding ip-address ip-address [ mac-address mac-address ] 缺省情况下,没有配置IP静态绑定表项
配置ARP入侵检测功能,防御常见的ARP攻击 进入VLAN视图 arp detection enable 必选
开启ARP严格转发功能 进入VLAN视图 arp restricted-forwarding enable 缺省情况下,ARP严格转发功能处于关闭状态
配置ARP信任端口 进入以太网端口视图 arp detection trust 缺省情况下,端口为ARP非信任端口
配置ARP限速功能 arp rate-limit enable 缺省情况下,端口的ARP报文限速功能处于关闭状态
配置允许通过端口的ARP报文的最大速率 arp rate-limit rate 缺省情况下,端口能通过的ARP报文的最大速率为15pps
开启因ARP报文超速而被关闭的端口的状态自动恢复功能 arp protective-down recover enable 缺省情况下,交换机的端口状态自动恢复功能处于关闭状态
配置因ARP报文超速而被关闭的端口的端口状态自动恢复时间 arp protective-down recover interval interval 开启端口状态自动恢复功能后,交换机的端口状态自动恢复时间为300秒

说明:
个别交换机命令可能有差异,请参见各产品的操作、命令手册。

下面是网上找的个配置实例,可以参考下
组网需求:某校园网内大部分用户通过接入设备连接网关和DHCP服务器,动态获取IP地址。管理员通过在接入交换机上全面部署防ARP攻击相关特性,形成保护屏障,过滤掉攻击报文。详细网络应用需求分析如下。
校园网用户分布在两个区域Host area1和Host area2,分别属于VLAN10和VLAN20,通过接入交换机Switch A和Switch B连接到网关Gateway,最终连接外网和DHCP。
Hostl area1所在子网内拥有一台TFTP服务器,其IP地址为192.168.0.10/24,MAC地址为000d-85c7-4e00。
为防止仿冒网关、欺骗网关等ARP攻击形式,开启Switch A上VLAN10内、Switch B上VLAN20内ARP入侵检测功能,设置Switch A和Switch B的端口Ethernet1/0/1为ARP信任端口。
为防止ARP泛洪攻击,在Switch A和Switchl B所有直接连接客户端的端口上开启ARP报文限速功能。同时,开启因ARP报文超速而被关闭的端口的状态自动恢复功能,并设置恢复时间间隔100秒。
1.1 组网图

h3carp

DHCP监控模式下的防ARP攻击组网示意图

h3c-arp
1.2 配置思路
在接入交换机Switch A和Switch B上开启DHCPl snooping功能,并配置与DHCP服务器相连的端口为DHCP snooping信任端口。
在接入交换机Switchl A上为固定IP地址的TFTP服务器配置对应的IP静态绑定表项。
在接入交换机Switch A和Switchl B对应VLAN上开启ARP入侵检测功能,并配置其上行口为ARP信任端口。
在接入交换机Switch A和Switchl B直接连接客户端的端口上配置ARP报文限速功能,同时全局开启因ARP报文超速而被关闭的端口的状态自动恢复功能。
1.3 配置步骤
(1. 使用的版本
本举例中使用的接入交换机Switch A和Switch B为E126A系列以太网交换机。
(2. 配置客户端动态获取IP地址。
(3. 配置Switch A
# 开启DHCP snooping。
<SwitchA> system-view
[SwitchA] dhcp-snooping
# 创建VLAN10,并将端口Ethernet1/0/1到Ethernet1/0/4加入VLAN10中。
[SwitchA] vlan 10
[SwitchA-vlan10] port Ethernet 1/0/1 to Ethernet 1/0/4
[SwitchA-vlan10] quit
# 配置Switch A的上行口为DHCP snooping信任端口和ARP信任端口功能。
[SwitchA] interface ethernet1/0/1
[SwitchA-Ethernet1/0/1] dhcp-snooping trust
[SwitchA-Ethernet1/0/1] arp detection trust
[SwitchA-Ethernet1/0/1] quit
# 开启VLAN 10内所有端口的ARP入侵检测功能。
[SwitchA] vlan 10
[SwitchA-vlan10] arp detection enable
[SwitchA-vlan10] quit
# 在Switch A的端口Ethernet1/0/4上配置IP静态绑定表项。
[SwitchA] interface Ethernet1/0/4
[SwitchA-Ethernet1/0/4] ip source static binding ip-address 192.168.0.10 mac-address 000d-85c7-4e00
[SwitchA-Ethernet1/0/4] quit
# 开启Switch A的端口Ethernet1/0/2、Ethernet1/0/3上的ARP报文限速功能。
[SwitchA] interface Ethernet1/0/2
[SwitchA-Ethernet1/0/2] arp rate-limit enable
[SwitchA-Ethernet1/0/2] arp rate-limit 20
[SwitchA-Ethernet1/0/2] quit
[SwitchA] interface Ethernet1/0/3
[SwitchA-Ethernet1/0/3] arp rate-limit enable
[SwitchA-Ethernet1/0/3] arp rate-limit 20
[SwitchA-Ethernet1/0/3] quit
# 配置端口状态自动恢复功能,恢复时间间隔为100秒。
[SwitchA] arp protective-down recover enable
[SwitchA] arp protective-down recover interval 100
# 配置网关的缺省路由。
[SwitchA] ip route-static 0.0.0.0 0 192.168.0.1
(4. 配置Switch B
# 开启DHCP snooping。
<SwitchB> system-view
[SwitchB] dhcp-snooping
# 创建VLAN20,并将相应端口加入VLAN20中。
[SwitchB] vlan 20
[SwitchB-vlan20] port Ethernet 1/0/1 to Ethernet 1/0/4
[SwitchB-vlan20] quit
# 配置Switch B的上行口为DHCP snooping信任端口和ARP信任端口功能。
[SwitchB] interface ethernet1/0/1
[SwitchB-Ethernet1/0/1] dhcp-snooping trust
[SwitchB-Ethernet1/0/1] arp detection trust
[SwitchB-Ethernet1/0/1] quit
# 开启VLAN 20内所有端口的ARP入侵检测功能。
[SwitchB] vlan 20
[SwitchB-vlan20] arp detection enable
[SwitchB-vlan20] quit
# 开启Switch A的端口Ethernet1/0/2、Ethernet1/0/3、Ethernet1/0/4上的ARP报文限速功能。
[SwitchB] interface Ethernet1/0/2
[SwitchB-Ethernet1/0/2] arp rate-limit enable
[SwitchB-Ethernet1/0/2] arp rate-limit 20
[SwitchB-Ethernet1/0/2] quit
[SwitchB] interface Ethernet1/0/3
[SwitchB-Ethernet1/0/3] arp rate-limit enable
[SwitchB-Ethernet1/0/3] arp rate-limit 20
[SwitchB-Ethernet1/0/3] quit
[SwitchB] interface Ethernet1/0/4
[SwitchB-Ethernet1/0/4] arp rate-limit enable
[SwitchB-Ethernet1/0/4] arp rate-limit 20
[SwitchB-Ethernet1/0/4] quit
# 配置端口状态自动恢复功能,恢复时间间隔为100秒。
[SwitchB] arp protective-down recover enable
[SwitchB] arp protective-down recover interval 100
# 配置网关的缺省路由。
[SwitchB] ip route-static 0.0.0.0 0 192.168.1.1
(5. 配置Gateway
<Gateway> system-view
# 创建VLAN 10和VLAN 20,并添加相应端口。
[Gateway] vlan 10
[Gateway–vlan10] port Ethernet 1/0/1
[Gateway–vlan10] quit
[Gateway] vlan 20
[Gateway–vlan20] port Ethernet 1/0/2
[Gateway–vlan20] quit
# 配置Vlan-interface10的IP地址为192.168.0.1/24。
[Gateway] interface vlan 10
[Gateway-Vlan-interface10] ip address 192.168.0.1 24
[Gateway-Vlan-interface10] quit
# 配置Vlan-interface20的IP地址为192.168.1.1/24。
[Gateway] interface vlan 20
[Gateway-Vlan-interface20] ip address 192.168.1.1 24
[Gateway-Vlan-interface20] quit
(6. 配置DHCP服务器
由于作为DHCP服务器的设备不同,所需进行的配置也不同,故此处从略。具体配置请参考DHCP服务器操作手册。
1.4 注意事项

l 在上面的例子中,host area1与host area2如果属于同一VLAN,且其中的一个没开启arp防护,由于其上联口是信任口,在这种情况下,没开arp防护的area如果发生arp攻击,别外一个也会受到影响。
l 配置ARP入侵检测功能之前,需要先在交换机上开启DHCP Snooping功能,并设置DHCP Snooping信任端口,否则所有ARP报文将都不能通过ARP入侵检测。
目前,H3C低端以太网交换机上开启DHCPl Snooping功能后,所有端口默认被配置为DHCP Snooping非信任端口。为了使DHCP客户端能从合法的DHCP服务器获取IP地址,必须将与合法DHCP服务器相连的端口设置为信任端口,设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内。
l DHCP Snooping表只记录了通过DHCP方式动态获取IP地址的客户端信息。如果固定IP地址的用户需要访问网络,必须在交换机上手工配置IP静态绑定表的表项,即:用户的IP地址、MAC地址及连接该用户的端口之间的绑定关系。
l 目前,H3C系列以太网交换机在端口上配置的IP静态绑定表项,其所属VLAN为端口的缺省VLAN ID。因此,如果ARP报文的VLAN TAG与端口的缺省VLAN ID值不同,报文将无法通过根据IP静态绑定表项进行的ARP入侵检测。
l H3C系列以太网交换机上手工配置的IP静态绑定表项的优先级高于DHCP Snooping动态表项。具体表现在:如果手工配置的IP静态绑定表项中的IP地址与已存在的DHCP Snooping动态表项的IP地址相同,则覆盖DHCP Snooping动态表项的内容;如果先配置了IP静态绑定表项,再开启交换机的DHCP Snooping功能,则DHCP客户端不能通过该交换机获取到IP静态绑定表项中已经存在的IP地址。
l 实际组网中,为了解决上行端口接收的ARP请求和应答报文能够通过ARP入侵检测问题,交换机支持通过配置ARP信任端口,灵活控制ARP报文检测功能。对于来自信任端口的所有ARP报文不进行检测,对其它端口的ARP报文通过查看DHCP Snooping表或手工配置的IP静态绑定表进行检测。
建议用户不要在汇聚组中的端口上配置ARP入侵检测、ARP报文限速功能lv

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: H3C防ARP解决方案
  1. keykey | 2010年3月8日15:37 | #1

    感谢博主的文章了,最近正在做一些安全方面的事情了
    文章帮助很大 😀

  1. 本文目前尚无任何 trackbacks 和 pingbacks.