admin管理员组

文章数量:1532702

2024年2月1日发(作者:)

H3C防ARP解决方案及配置

ARP, 方案

目 录

第1章 防ARP攻击功能介绍 1-1

1.1 ARP攻击简介 1-1

1.2 ARP攻击防御 1-3

1.2.2 DHCP Snooping功能 1-3

1.2.3 ARP入侵检测功能 1-4

1.2.4 ARP报文限速功能 1-4

1.3 防ARP攻击配置指南 1-5

第2章 配置举例 2-1

2.1 组网需求 2-1

2.2 组网图 2-2

2.3 配置思路 2-2

2.4 配置步骤 2-3

2.5 注意事项 2-6

防ARP攻击配置举例

关键词:ARP、DHCP Snooping

摘 要:本文主要介绍如何利用以太网交换机DHCP监控模式下的防ARP攻击功能,防止校园网中常见的“仿冒网关”、“欺骗网关”、“欺骗终端用户”、ARP泛洪等攻击形式。同时,详细描述了组网中各个设备的配置步骤和配置注意事项,指导用户进行实际配置。

缩略语:ARP(Address Resolution Protocol,地址解析协议)

MITM(Man-In-The-Middle,中间人攻击)

第1章 防ARP攻击功能介绍

近来,许多校园网络都出现了ARP攻击现象。严重者甚至造成大面积网络不能正常访问外网,学校深受其害。H3C公司根据校园网ARP攻击的特点,给出了DHCP监控模式下的防ARP攻击解决方案,可以有效的防御 “仿冒网关”、“欺骗网关”、“欺骗终端用户”、“ARP中间人攻击”、“ARP泛洪攻击”等校园网中常见的ARP攻击方式;且不需要终端用户安装额外的客户端软件,简化了网络配置。

1.1 ARP攻击简介

按照ARP协议的设计,一个主机即使收到的ARP应答并非自身请求得到的,也会将其IP地址和MAC地址的对应关系添加到自身的ARP映射表中。这样可以减少网络上过多的ARP数据通信,但也为“ARP欺骗”创造了条件。

校园网中,常见的ARP攻击有如下几中形式。

(1) 仿冒网关

攻击者伪造ARP报文,发送源IP地址为网关IP地址,源MAC地址为伪造的MAC地址的ARP报文给被攻击的主机,使这些主机更新自身ARP表中网关IP地址与MAC地址的对应关系。这样一来,主机访问网关的流量,被重定向到一个错误的MAC地址,导致该用户无法正常访问外网。

图1-1 “仿冒网关”攻击示意图

(2) 欺骗网关

攻击者伪造ARP报文,发送源IP地址为同网段内某一合法用户的IP地址,源MAC地址为伪造的MAC地址的ARP报文给网关;使网关更新自身ARP表中原合法用户的IP地址与MAC地址的对应关系。这样一来,网关发给该用户的所有数据全部重定向到一个错误的MAC地址,导致该用户无法正常访问外网。

图1-2 “欺骗网关”攻击示意图

(3) 欺骗终端用户

攻击者伪造ARP报文,发送源IP地址为同网段内某一合法用户的IP地址,源MAC地址为伪造的MAC地址的ARP报文给同网段内另一台合法主机;使后者更新自身ARP表中原合法用户的IP地址与MAC地址的对应关系。这样一来,网段内的其他主机发给该用户的所有数据都被重定向到错误的MAC地址,同网段内的用户无法正常互访。

图1-3 “欺骗终端用户”攻击示意图

(4) “中间人”攻击

ARP “中间人”攻击,又称为ARP双向欺骗。如图1-4所示,Host A和Host C通过Switch进行通信。此时,如果有恶意攻击者(Host B)想探听Host A和Host C之间的通信,它可以分别给这两台主机发送伪造的ARP应答报文,使Host A和Host C用MAC_B更新自身ARP映射表中与对方IP地址相应的表项。此后,Host

A 和Host C之间看似“直接”的通信,实际上都是通过黑客所在的主机间接进行的,即Host B担当了“中间人”的角色,可以对信息进行了窃取和篡改。这种攻击方式就称作“中间人(Man-In-The-Middle)攻击”。

图1-4 ARP“中间人”攻击示意图

(5) ARP报文泛洪攻击

恶意用户利用工具构造大量ARP报文发往交换机的某一端口,导致CPU负担过重,造成其他功能无法正常运行甚至设备瘫痪。

1.2 ARP攻击防御

H3C公司根据校园网ARP攻击的特点,给出了DHCP监控模式下的防ARP攻击解决方案。通过接入交换机上开启DHCP Snooping功能、配置IP静态绑定表项、ARP入侵检测功能和ARP报文限速功能,可以防御常见的ARP攻击,如表1-1。

表1-1 常见网络攻击和防范对照表

攻击方式 防御方法

动态获取IP地址的用户进行“仿冒网关”、“欺骗网关”、“欺骗终端用户”、“ARP中间人攻击” 配置DHCP

Snooping、ARP入侵检测功能

手工配置IP地址的用户进行“仿冒网关”、“欺骗网关”、“欺骗终端用户”、“ARP中间人攻击” 配置IP静态绑定表项、ARP入侵检测功能

ARP泛洪攻击 配置ARP报文限速功能

1.2.2 DHCP Snooping功能

DHCP Snooping是运行在二层接入设备上的一种DHCP安全特性。

(1) 通过监听DHCP报文,记录DHCP客户端IP地址与MAC地址的对应关系;

(2) 通过设置DHCP Snooping信任端口,保证客户端从合法的服务器获取IP地址。

信任端口正常转发接收到的DHCP报文,从而保证了DHCP客户端能够从DHCP服务器获取IP地址。

不信任端口接收到DHCP服务器响应的DHCP-ACK和DHCP-OFFER报文后,丢弃该报文,从而防止了DHCP客户端获得错误的IP地址。

说明:

目前H3C低端以太网交换机上开启DHCP Snooping功能后,所有端口默认被配置为DHCP Snooping非信任端口。为了使DHCP客户端能从合法的DHCP服务器获取IP地址,必须将与合法DHCP服务器相连的端口设置为信任端口,设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内。

1.2.3 ARP入侵检测功能

H3C低端以太网交换机支持将收到的ARP(请求与回应)报文重定向到CPU,结合DHCP Snooping安全特性来判断ARP报文的合法性并进行处理,具体如下。

当ARP报文中的源IP地址及源MAC地址的绑定关系与DHCP 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.2.4 ARP报文限速功能

H3C低端以太网交换机支持端口ARP报文限速功能,使受到攻击的端口暂时关闭,来避免此类攻击对CPU的冲击。

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

1.3 防ARP攻击配置指南

表1-2 防ARP攻击配置

任务 操作 命令 说明

- 进入系统视图 system-view -

配置DHCP Snooping功能记录DHCP客户端的IP/MAC对应关系 开启交换机DHCP Snooping功能 dhcp-snooping 必选

缺省情况下,以太网交换机的DHCP Snooping功能处于禁止状态

进入以太网端口视图 interface interface-type interface-number -

设置指定端口为DHCP Snooping信任端口 dhcp-snooping trust 必选

缺省情况下,交换机的端口均为不信任端口

退出至系统视图 quit -

配置指定端口的IP静态绑定表项 进入以太网端口视图 interface interface-type

interface-number -

配置IP静态绑定表项 ip source static binding ip-address ip-address [ mac-address

mac-address ] 可选

缺省情况下,没有配置IP静态绑定表项

退出至系统视图 quit -

配置ARP入侵检测功能,防御常见的ARP攻击 进入VLAN视图 vlan vlan-id -

开启ARP入侵检测功能 arp detection enable 必选

缺省情况下,指定VLAN内所有端口的ARP入侵检测功能处于关闭状态

开启ARP严格转发功能 arp restricted-forwarding enable 可选

缺省情况下,ARP严格转发功能处于关闭状态

退出至系统视图 quit -

进入以太网端口视图 interface interface-type interface-number -

配置ARP信任端口 arp detection trust 可选

缺省情况下,端口为ARP非信任端口

配置ARP限速功能 开启ARP报文限速功能 arp rate-limit enable 必选

缺省情况下,端口的ARP报文限速功能处于关闭状态

配置允许通过端口的ARP报文的最大速率 arp rate-limit rate 可选

缺省情况下,端口能通过的ARP报文的最大速率为15pps

退出至系统视图 quit -

开启因ARP报文超速而被关闭的端口的状态自动恢复功能 arp protective-down recover

enable 可选

缺省情况下,交换机的端口状态自动恢复功能处于关闭状态

配置因ARP报文超速而被关闭的端口的端口状态自动恢复时间 arp protective-down recover

interval interval 可选

缺省情况下,开启端口状态自动恢复功能后,交换机的端口状态自动恢复时间为300秒

说明:

有关各款交换机支持的防ARP攻击功能的详细介绍和配置命令,请参见各产品的操作、命令手册。

第2章 配置举例

2.1 组网需求

某校园网内大部分用户通过接入设备连接网关和DHCP服务器,动态获取IP地址。管理员通过在接入交换机上全面部署防ARP攻击相关特性,形成保护屏障,过滤掉攻击报文。详细网络应用需求分析如下。

校园网用户分布在两个区域Host area1和Host area2,分别属于VLAN10和VLAN20,通过接入交换机Switch A和Switch B连接到网关Gateway,最终连接外网和DHCP。

Host 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和Switch B所有直接连接客户端的端口上开启ARP报文限速功能。同时,开启因ARP报文超速而被关闭的端口的状态自动恢复功能,并设置恢复时间间隔100秒。

2.2 组网图

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

2.3 配置思路

在接入交换机Switch A和Switch B上开启DHCP snooping功能,并配置与DHCP服务器相连的端口为DHCP snooping信任端口。

在接入交换机Switch A上为固定IP地址的TFTP服务器配置对应的IP静态绑定表项。

在接入交换机Switch A和Switch B对应VLAN上开启ARP入侵检测功能,并配置其上行口为ARP信任端口。

在接入交换机Switch A和Switch B直接连接客户端的端口上配置ARP报文限速功能,同时全局开启因ARP报文超速而被关闭的端口的状态自动恢复功能。

2.4 配置步骤

1. 使用的版本

本举例中使用的接入交换机Switch A和Switch B为E126A系列以太网交换机。

2. 配置客户端动态获取IP地址。

图2-2 配置客户端自动获取IP地址示意图

3. 配置Switch A

# 开启DHCP snooping。

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。

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

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服务器操作手册。

2.5 注意事项

配置ARP入侵检测功能之前,需要先在交换机上开启DHCP Snooping功能,并设置DHCP Snooping信任端口,否则所有ARP报文将都不能通过ARP入侵检测。

目前,H3C低端以太网交换机上开启DHCP Snooping功能后,所有端口默认被配置为DHCP

Snooping非信任端口。为了使DHCP客户端能从合法的DHCP服务器获取IP地址,必须将与合法DHCP服务器相连的端口设置为信任端口,设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内。

DHCP Snooping表只记录了通过DHCP方式动态获取IP地址的客户端信息。如果固定IP地址的用户需要访问网络,必须在交换机上手工配置IP静态绑定表的表项,即:用户的IP地址、MAC地址及连接该用户的端口之间的绑定关系。

目前,H3C系列以太网交换机在端口上配置的IP静态绑定表项,其所属VLAN为端口的缺省VLAN ID。因此,如果ARP报文的VLAN TAG与端口的缺省VLAN ID值不同,报文将无法通过根据IP静态绑定表项进

行的ARP入侵检测。

H3C系列以太网交换机上手工配置的IP静态绑定表项的优先级高于DHCP Snooping动态表项。具体表现在:如果手工配置的IP静态绑定表项中的IP地址与已存在的DHCP Snooping动态表项的IP地址相同,则覆盖DHCP Snooping动态表项的内容;如果先配置了IP静态绑定表项,再开启交换机的DHCP Snooping功能,则DHCP客户端不能通过该交换机获取到IP静态绑定表项中已经存在的IP地址。

实际组网中,为了解决上行端口接收的ARP请求和应答报文能够通过ARP入侵检测问题,交换机支持通过配置ARP信任端口,灵活控制ARP报文检测功能。对于来自信任端口的所有ARP报文不进行检测,对其它端口的ARP报文通过查看DHCP Snooping表或手工配置的IP静态绑定表进行检测。

建议用户不要在汇聚组中的端口上配置ARP入侵检测、ARP报文限速功能。

1

评分人数

收藏分享

hadron

0

本文标签: 端口配置报文功能攻击