H3C ARP攻击防御典型配置案例.docx
《H3C ARP攻击防御典型配置案例.docx》由会员分享,可在线阅读,更多相关《H3C ARP攻击防御典型配置案例.docx(28页珍藏版)》请在冰豆网上搜索。
H3CARP攻击防御典型配置案例
防ARP攻击配置举例
关键词:
ARP、DHCPSnooping
摘要:
本文主要介绍如何利用以太网交换机DHCP监控模式下的防ARP攻击功能,防止校园网中常见的“仿冒网关”、“欺骗网关”、“欺骗终端用户”、ARP泛洪等攻击形式。
同时,详细描述了组网中各个设备的配置步骤和配置注意事项,指导用户进行实际配置。
缩略语:
ARP(AddressResolutionProtocol,地址解析协议)
MITM(Man-In-The-Middle,中间人攻击)
第1章ARP攻击防御功能介绍
近来,许多校园网络都出现了ARP攻击现象。
严重者甚至造成大面积网络不能正常访问外网,学校深受其害。
H3C公司根据ARP攻击的特点,提出了“全面防御,模块定制”的ARP攻击防御理念,并给出了两种解决方案。
(1)DHCP监控模式下的ARP攻击防御解决方案
这种方式适合动态分配IP地址的网络场景,需要接入交换机支持DHCPSnooping功能。
通过全网部署,可以有效的防御“仿冒网关”、“欺骗网关”、“欺骗终端用户”、“ARP中间人攻击”、“ARP泛洪攻击”等校园网中常见的ARP攻击方式;且不需要终端用户安装额外的客户端软件,简化了网络配置。
(2)认证方式下的ARP攻击防御解决方案
这种方式适合网络中动态分配IP地址和静态分配IP地址共存的网络场景,且只能防御“仿冒网关”的ARP攻击方式。
它不需要在接入交换机上进行特殊的防攻击配置,只需要客户端通过认证协议(802.1x)登录网络,认证服务器(如CAMS服务器)会识别客户端,并下发网关的IP/MAC对应关系给客户端,来防御“仿冒网关”攻击。
1.2ARP攻击简介
按照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-1“欺骗网关”攻击示意图
(3)欺骗终端用户
攻击者伪造ARP报文,发送源IP地址为同网段内某一合法用户的IP地址,源MAC地址为伪造的MAC地址的ARP报文给同网段内另一台合法主机;使后者更新自身ARP表中原合法用户的IP地址与MAC地址的对应关系。
这样一来,网段内的其他主机发给该用户的所有数据都被重定向到错误的MAC地址,同网段内的用户无法正常互访。
图1-1“欺骗终端用户”攻击示意图
(4)“中间人”攻击
ARP“中间人”攻击,又称为ARP双向欺骗。
如图1-4所示,HostA和HostC通过Switch进行通信。
此时,如果有恶意攻击者(HostB)想探听HostA和HostC之间的通信,它可以分别给这两台主机发送伪造的ARP应答报文,使HostA和HostC用MAC_B更新自身ARP映射表中与对方IP地址相应的表项。
此后,HostA和HostC之间看似“直接”的通信,实际上都是通过黑客所在的主机间接进行的,即HostB担当了“中间人”的角色,可以对信息进行了窃取和篡改。
这种攻击方式就称作“中间人(Man-In-The-Middle)攻击”。
图1-1ARP“中间人”攻击示意图
(5)ARP报文泛洪攻击
恶意用户利用工具构造大量ARP报文发往交换机的某一端口,导致CPU负担过重,造成其他功能无法正常运行甚至设备瘫痪。
1.3ARP攻击防御
H3C公司根据ARP攻击的特点,给出了DHCP监控模式下的ARP攻击防御解决方案和认证模式下的ARP攻击防御解决方案。
前者通过接入交换机上开启DHCPSnooping功能、配置IP静态绑定表项、ARP入侵检测功能和ARP报文限速功能,可以防御常见的ARP攻击;后者不需要在接入交换机上进行防攻击配置,而需要通过CAMS服务器下发网关的IP/MAC对应关系给客户端,防御“仿冒网关”攻击。
详见表1-1。
表1-1常见网络攻击和防范对照表
攻击方式
防御方法
动态获取IP地址的用户进行“仿冒网关”、“欺骗网关”、“欺骗终端用户”、“ARP中间人攻击”
配置DHCPSnooping、ARP入侵检测功能
手工配置IP地址的用户进行“仿冒网关”、“欺骗网关”、“欺骗终端用户”、“ARP中间人攻击”
配置IP静态绑定表项、ARP入侵检测功能
ARP泛洪攻击
配置ARP报文限速功能
动态和手工配置IP地址的用户进行“仿冒网关”攻击
配置认证模式的ARP攻击防御解决方案(CAMS下发网关配置功能)
1.3.2DHCPSnooping功能
DHCPSnooping是运行在二层接入设备上的一种DHCP安全特性。
(1)通过监听DHCP报文,记录DHCP客户端IP地址与MAC地址的对应关系;
(2)通过设置DHCPSnooping信任端口,保证客户端从合法的服务器获取IP地址。
●信任端口正常转发接收到的DHCP报文,从而保证了DHCP客户端能够从DHCP服务器获取IP地址。
●不信任端口接收到DHCP服务器响应的DHCP-ACK和DHCP-OFFER报文后,丢弃该报文,从而防止了DHCP客户端获得错误的IP地址。
&说明:
目前H3C低端以太网交换机上开启DHCPSnooping功能后,所有端口默认被配置为DHCPSnooping非信任端口。
为了使DHCP客户端能从合法的DHCP服务器获取IP地址,必须将与合法DHCP服务器相连的端口设置为信任端口,设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内。
1.3.3IP静态绑定功能
DHCPSnooping表只记录了通过DHCP方式动态获取IP地址的客户端信息,如果用户手工配置了固定IP地址,其IP地址、MAC地址等信息将不会被DHCPSnooping表记录。
因此,交换机支持手工配置IP静态绑定表的表项,实现用户的IP地址、MAC地址及接入交换机连接该用户的端口之间的绑定关系。
这样,该固定用户的报文就不会被ARP入侵检测功能过滤。
1.3.4ARP入侵检测功能
H3C低端以太网交换机支持将收到的ARP(请求与回应)报文重定向到CPU,结合DHCPSnooping安全特性来判断ARP报文的合法性并进行处理,具体如下。
●当ARP报文中的源IP地址及源MAC地址的绑定关系与DHCPSnooping表项或者手工配置的IP静态绑定表项匹配,且ARP报文的入端口及其所属VLAN与DHCPSnooping表项或者手工配置的IP静态绑定表项一致,则为合法ARP报文,进行转发处理。
●当ARP报文中的源IP地址及源MAC地址的绑定关系与DHCPSnooping表项或者手工配置的IP静态绑定表项不匹配,或ARP报文的入端口,入端口所属VLAN与DHCPSnooping表项或者手工配置的IP静态绑定表项不一致,则为非法ARP报文,直接丢弃。
&说明:
●DHCPSnooping表只记录了通过DHCP方式动态获取IP地址的客户端信息。
如果固定IP地址的用户需要访问网络,必须在交换机上手工配置IP静态绑定表的表项,即:
用户的IP地址、MAC地址及连接该用户的端口之间的绑定关系。
●实际组网中,为了解决上行端口接收的ARP请求和应答报文能够通过ARP入侵检测问题,交换机支持通过配置ARP信任端口,灵活控制ARP报文检测功能。
对于来自信任端口的所有ARP报文不进行检测,对其它端口的ARP报文通过查看DHCPSnooping表或手工配置的IP静态绑定表进行检测。
1.3.5ARP报文限速功能
H3C低端以太网交换机支持端口ARP报文限速功能,使受到攻击的端口暂时关闭,来避免此类攻击对CPU的冲击。
开启某个端口的ARP报文限速功能后,交换机对每秒内该端口接收的ARP报文数量进行统计,如果每秒收到的ARP报文数量超过设定值,则认为该端口处于超速状态(即受到ARP报文攻击)。
此时,交换机将关闭该端口,使其不再接收任何报文,从而避免大量ARP报文攻击设备。
同时,设备支持配置端口状态自动恢复功能,对于配置了ARP限速功能的端口,在其因超速而被交换机关闭后,经过一段时间可以自动恢复为开启状态。
1.3.6CAMS下发网关配置功能
CAMS(ComprehensiveAccessManagementServer,综合访问管理服务器)作为网络中的业务管理核心,可以与以太网交换机等网络产品共同组网,完成用户的认证、授权、计费和权限管理。
如图1-5所示。
图1-1CAMS组网示意图
认证模式的ARP攻击防御解决方案,不需要在接入交换机上进行特殊的防攻击配置,只需要客户端通过802.1x认证登录网络,并在CAMS上进行用户网关的设置,CAMS会通过接入交换机,下发网关的IP/MAC对应关系给客户端,来防御“仿冒网关”攻击。
1.4ARP攻击防御配置指南
表1-1ARP攻击防御配置
任务
操作
命令
说明
-
进入系统视图
system-view
-
配置DHCPSnooping功能记录DHCP客户端的IP/MAC对应关系
进入以太网端口视图
interfaceinterface-typeinterface-number
-
设置指定端口为DHCPSnooping信任端口
dhcp-snoopingtrust
必选
缺省情况下,交换机的端口均为不信任端口
退出至系统视图
quit
-
开启交换机DHCPSnooping功能
dhcp-snooping
必选
缺省情况下,以太网交换机的DHCPSnooping功能处于禁止状态
配置指定端口的IP静态绑定表项
进入以太网端口视图
interfaceinterface-typeinterface-number
-
配置IP静态绑定表项
ipsourcestaticbindingip-addressip-address[mac-addressmac-address]
可选
缺省情况下,没有配置IP静态绑定表项
退出至系统视图
quit
-
配置ARP入侵检测功能,防御常见的ARP攻击
进入以太网端口视图
interfaceinterface-typeinterface-number
-
配置ARP信任端口
arpdetectiontrust
可选
缺省情况下,端口为ARP非信任端口
退出至系统视图
quit
-
进入VLAN视图
vlanvlan-id
-
开启ARP入侵检测功能
arpdetectionenable
必选
缺省情况下,指定VLAN内所有端口的ARP入侵检测功能处于关闭状态
退出至系统视图
quit
-
配置ARP限速功能
开启ARP报文限速功能
arprate-limitenable
必选
缺省情况下,端口的ARP报文限速功能处于关闭状态
配置允许通过端口的ARP报文的最大速率
arprate-limitrate
可选
缺省情况下,端口能通过的ARP报文的最大速率为15pps
退出至系统视图
quit
-
开启因ARP报文超速而被关闭的端口的状态自动恢复功能
arpprotective-downrecoverenable
可选
缺省情况下,交换机的端口状态自动恢复功能处于关闭状态
配置因ARP报文超速而被关闭的端口的端口状态自动恢复时间
arpprotective-downrecoverintervalinterval
可选
缺省情况下,开启端口状态自动恢复功能后,交换机的端口状态自动恢复时间为300秒
说明:
有关各款交换机支持的ARP攻击防御功能的详细介绍和配置命令,请参见各产品的操作、命令手册。
1.5支持ARP攻击防御功能的产品列表
表1-1支持ARP攻击防御功能的产品列表
功能
产品型号
DHCPSnooping
ARP入侵检测
IP静态绑定
ARP报文限速
S5600(Release1602)
l
l
l
l
S5100-EI(Release2200)
l
l
l
l
S5100-SI(Release2200)
l
l
l
l
S3600-EI(Release1602)
l
l
l
l
S3600-SI(Release1602)
l
l
l
l
S3100-EI(Release2104)
l
l
l
l
S3100-52P(Release1602)
l
l
l
l
E352/E328(Release1602)
l
l
l
l
E152(Release1602)
l
l
l
l
E126A(Release2104)
l
l
l
l
说明:
有关各款交换机支持的防ARP攻击功能的详细介绍,请参见各产品的操作手册。
第2章ARP攻击防御配置举例
2.1DHCP监控模式下的ARP攻击防御配置举例
2.1.1组网需求
某校园网内大部分用户通过接入设备连接网关和DHCP服务器,动态获取IP地址。
管理员通过在接入交换机上全面部署ARP攻击防御相关特性,形成保护屏障,过滤掉攻击报文。
详细网络应用需求分析如下。
●校园网用户分布在两个区域Hostarea1和Hostarea2,分别属于VLAN10和VLAN20,通过接入交换机SwitchA和SwitchB连接到网关Gateway,最终连接外网和DHCP。
●Hostarea1所在子网内拥有一台TFTP服务器,其IP地址为192.168.0.10/24,MAC地址为000d-85c7-4e00。
●为防止仿冒网关、欺骗网关等ARP攻击形式,开启SwitchA上VLAN10内、SwitchB上VLAN20内ARP入侵检测功能,设置SwitchA和SwitchB的端口Ethernet1/0/1为ARP信任端口。
●为防止ARP泛洪攻击,在SwitchA和SwitchB所有直接连接客户端的端口上开启ARP报文限速功能。
同时,开启因ARP报文超速而被关闭的端口的状态自动恢复功能,并设置恢复时间间隔100秒。
2.1.2组网图
图2-1DHCP监控模式下的ARP攻击防御组网示意图
2.1.3配置思路
●在接入交换机SwitchA和SwitchB上开启DHCPsnooping功能,并配置与DHCP服务器相连的端口为DHCPsnooping信任端口。
●在接入交换机SwitchA上为固定IP地址的TFTP服务器配置对应的IP静态绑定表项。
●在接入交换机SwitchA和SwitchB对应VLAN上开启ARP入侵检测功能,并配置其上行口为ARP信任端口。
●在接入交换机SwitchA和SwitchB直接连接客户端的端口上配置ARP报文限速功能,同时全局开启因ARP报文超速而被关闭的端口的状态自动恢复功能。
2.1.4配置步骤
1.使用的版本
本举例中使用的接入交换机SwitchA和SwitchB为E126A系列以太网交换机。
2.配置客户端动态获取IP地址。
图2-1配置客户端自动获取IP地址示意图
3.配置SwitchA
#创建VLAN10,并将端口Ethernet1/0/1到Ethernet1/0/4加入VLAN10中。
system-view
[SwitchA]vlan10
[SwitchA-vlan10]portEthernet1/0/1toEthernet1/0/4
[SwitchA-vlan10]quit
#配置SwitchA的上行口为DHCPsnooping信任端口。
[SwitchA]interfaceethernet1/0/1
[SwitchA-Ethernet1/0/1]dhcp-snoopingtrust
[SwitchA-Ethernet1/0/1]quit
#开启DHCPsnooping。
[SwitchA]dhcp-snooping
#在SwitchA的端口Ethernet1/0/4上配置IP静态绑定表项。
[SwitchA]interfaceEthernet1/0/4
[SwitchA-Ethernet1/0/4]ipsourcestaticbindingip-address192.168.0.10mac-address000d-85c7-4e00
[SwitchA-Ethernet1/0/4]quit
#配置SwitchA的上行口为ARP信任端口。
[SwitchA]interfaceethernet1/0/1
[SwitchA-Ethernet1/0/1]arpdetectiontrust
[SwitchA-Ethernet1/0/1]quit
#开启VLAN10内所有端口的ARP入侵检测功能。
[SwitchA]vlan10
[SwitchA-vlan10]arpdetectionenable
[SwitchA-vlan10]quit
#开启SwitchA的端口Ethernet1/0/2、Ethernet1/0/3上的ARP报文限速功能。
[SwitchA]interfaceEthernet1/0/2
[SwitchA-Ethernet1/0/2]arprate-limitenable
[SwitchA-Ethernet1/0/2]arprate-limit20
[SwitchA-Ethernet1/0/2]quit
[SwitchA]interfaceEthernet1/0/3
[SwitchA-Ethernet1/0/3]arprate-limitenable
[SwitchA-Ethernet1/0/3]arprate-limit20
[SwitchA-Ethernet1/0/3]quit
#配置端口状态自动恢复功能,恢复时间间隔为100秒。
[SwitchA]arpprotective-downrecoverenable
[SwitchA]arpprotective-downrecoverinterval100
#配置网关的缺省路由。
[SwitchA]iproute-static0.0.0.00192.168.0.1
4.配置SwitchB
#创建VLAN20,并将相应端口加入VLAN20中。
system-view
[SwitchB]vlan20
[SwitchB-vlan20]portEthernet1/0/1toEthernet1/0/4
[SwitchB-vlan20]quit
#配置SwitchB的上行口为DHCPsnooping信任端口。
[SwitchB]interfaceethernet1/0/1
[SwitchB-Ethernet1/0/1]dhcp-snoopingtrust
[SwitchB-Ethernet1/0/1]quit
#开启DHCPsnooping。
[SwitchB]dhcp-snooping
#配置SwitchB的上行口为ARP信任端口。
[SwitchB]interfaceethernet1/0/1
[SwitchB-Ethernet1/0/1]arpdetectiontrust
[SwitchB-Ethernet1/0/1]quit
#开启VLAN20内所有端口的ARP入侵检测功能。
[SwitchB]vlan20
[SwitchB-vlan20]arpdetectionenable
[SwitchB-vlan20]quit
#开启SwitchA的端口Ethernet1/0/2、Ethernet1/0/3、Ethernet1/0/4上的ARP报文限速功能。
[SwitchB]interfaceEthernet1/0/2
[SwitchB-Ethernet1/0/2]arprate-limitenable
[SwitchB-Ethernet1/0/2]arprate-limit20
[SwitchB-Ethernet1/0/2]quit
[SwitchB]interfaceEthernet1/0/3
[SwitchB-Ethernet1/0/3]arprate-limitenable
[SwitchB-Ethernet1/0/3]arprate-limit20
[SwitchB-Ethernet1/0/3]quit
[SwitchB]interfaceEthernet1/0/4
[SwitchB-Ethernet1/0/4]arprate-limitenable
[SwitchB-Ethernet1/0/4]arprate-limit20
[SwitchB-Ethernet1/0/4]quit
#配置端口状态自动恢复功能,恢复时间间隔为100秒。
[SwitchB]arpprotective-downrecoverenable
[SwitchB]arpprotective-downrecoverinterval100
#配置网关的缺省路由。
[SwitchB]iproute-static0.0.0.00192.168.1.1
5.配置Gateway
system-view
#创建VLAN10和VLAN20,并添加相应端口。
[Gateway]vlan10
[Gateway–vlan10]portEthernet1/0/1
[Gateway–vlan10]quit
[Gateway]vlan20
[Gateway–vlan20]portEthernet1/0/2
[Gateway–vlan20]quit
#配置Vlan-interface10的IP地址为192.168.0.1/24。
[Gateway]interfacevlan10
[Gateway-Vlan-interface10]ipaddress192.168.0.124
[Gateway-Vlan-interface10]quit
#配置Vlan-interface20的IP地址为192.168.1.1/24。
[Gateway]interfacevlan20
[Gateway-Vl