配置防止ARP中间人攻击实验
组网图形
动态ARP检测简介
ARP(Address Resolution Protocol)安全是针对ARP攻击的一种安全特性,它通过一系列对ARP表项学习和ARP报文处理的限制、检查等措施来保证网络设备的安全性。ARP安全特性不仅能够防范针对ARP协议的攻击,还可以防范网段扫描攻击等基于ARP协议的攻击。
网络中针对ARP的攻击层出不穷,中间人攻击是常见的一种ARP欺骗攻击方式。通过中间人攻击窃取合法用户的数据。
为了防御中间人攻击,可以在设备上部署动态ARP检测DAI(Dynamic ARP Inspection)功能。
动态ARP检测是利用绑定表来防御中间人攻击的。当设备收到ARP报文时,将此ARP报文对应的源IP、源MAC、VLAN以及接口信息和绑定表的信息进行比较,如果信息匹配,说明发送该ARP报文的用户是合法用户,允许此用户的ARP报文通过,否则就认为是攻击,丢弃该ARP报文。
设备使能DHCP Snooping功能后,当DHCP用户上线时,设备会自动生成DHCP Snooping绑定表;对于静态配置IP地址的用户,设备不会生成DHCP Snooping绑定表,所以需要手动添加静态绑定表。
配置注意事项
V100R006C05版本中,S2700-SI不支持DHCP Snooping功能,其他版本所有产品均适用该示例。
组网需求
如图1所示,SwitchA通过接口GE2/0/1连接DHCP Server,通过接口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中间人攻击的频率和范围。
配置思路
采用如下思路在SwitchA上进行配置:
- 配置DHCP Snooping功能,并配置静态绑定表。
- 使能动态ARP检测功能,使SwitchA对收到的ARP报文对应的源IP、源MAC、VLAN以及接口信息进行绑定表匹配检查,实现防止ARP中间人攻击。
操作步骤
- 创建VLAN,将接口加入到VLAN中
# 创建VLAN10,并将接口GE1/0/1、GE1/0/2、GE1/0/3、GE2/0/1加入VLAN10中。 <HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] vlan batch 10 [SwitchA] interface gigabitethernet 1/0/1 [SwitchA-GigabitEthernet1/0/1] port link-type access [SwitchA-GigabitEthernet1/0/1] port default vlan 10 [SwitchA-GigabitEthernet1/0/1] quit [SwitchA] interface gigabitethernet 1/0/2 [SwitchA-GigabitEthernet1/0/2] port link-type access [SwitchA-GigabitEthernet1/0/2] port default vlan 10 [SwitchA-GigabitEthernet1/0/2] quit [SwitchA] interface gigabitethernet 1/0/3 [SwitchA-GigabitEthernet1/0/3] port link-type access [SwitchA-GigabitEthernet1/0/3] port default vlan 10 [SwitchA-GigabitEthernet1/0/3] quit [SwitchA] interface gigabitethernet 2/0/1 [SwitchA-GigabitEthernet2/0/1] port link-type trunk [SwitchA-GigabitEthernet2/0/1] port trunk allow-pass vlan 10 [SwitchA-GigabitEthernet2/0/1] quit
- 配置DHCP Snooping功能
# 全局使能DHCP Snooping功能。 [SwitchA] dhcp enable [SwitchA] dhcp snooping enable # 在VLAN10内使能DHCP Snooping功能。 [SwitchA] vlan 10 [SwitchA-vlan10] dhcp snooping enable [SwitchA-vlan10] quit # 配置接口GE2/0/1为DHCP Snooping信任接口。 [SwitchA] interface gigabitethernet 2/0/1 [SwitchA-GigabitEthernet2/0/1] dhcp snooping trusted [SwitchA-GigabitEthernet2/0/1] quit # 配置静态绑定表。 [SwitchA] user-bind static ip-address 10.0.0.2 mac-address 00e0-fc12-3456 interface gigabitethernet 1/0/3 vlan 10
- 使能动态ARP检测功能
# 在接口GE1/0/1、GE1/0/2、GE1/0/3下使能动态ARP检测功能。以GE1/0/1为例,GE1/0/2和GE1/0/3的配置与GE1/0/1接口类似,不再赘述。 [SwitchA] interface gigabitethernet 1/0/1 [SwitchA-GigabitEthernet1/0/1] arp anti-attack check user-bind enable //使能动态ARP检测功能(即对ARP报文进行绑定表匹配检查功能) [SwitchA-GigabitEthernet1/0/1] quit
- 验证配置结果
# 执行命令display arp anti-attack configuration check user-bind interface,查看各接口下动态ARP检测的配置信息,以GE1/0/1为例。 [SwitchA] display arp anti-attack configuration check user-bind interface gigabitethernet 1/0/1 arp anti-attack check user-bind enable # 执行命令display arp anti-attack statistics check user-bind interface,查看各接口下动态ARP检测的ARP报文丢弃计数,以GE1/0/1为例。 [SwitchA] display arp anti-attack statistics check user-bind interface gigabitethernet 1/0/1 Dropped ARP packet number is 966 Dropped ARP packet number since the latest warning is 605 由显示信息可知,接口GE1/0/1下产生了ARP报文丢弃计数,表明防ARP中间人攻击功能已经生效。 当在各接口下多次执行命令display arp anti-attack statistics check user-bind interface时,管理员可根据显示信息中“Dropped ARP packet number is”字段值的变化来了解ARP中间人攻击频率和范围。
配置文件
# SwitchA的配置文件
#
sysname SwitchA
#
vlan batch 10
#
dhcp enable
#
dhcp snooping enable
user-bind static ip-address 10.0.0.2 mac-address 00e0-fc12-3456 interface GigabitEthernet1/0/3 vlan 10
#
vlan 10
dhcp snooping enable
#
interface GigabitEthernet1/0/1
port link-type access
port default vlan 10
arp anti-attack check user-bind enable
#
interface GigabitEthernet1/0/2
port link-type access
port default vlan 10
arp anti-attack check user-bind enable
#
interface GigabitEthernet1/0/3
port link-type access
port default vlan 10
arp anti-attack check user-bind enable
#
interface GigabitEthernet2/0/1
port link-type trunk
port trunk allow-pass vlan 10
dhcp snooping trusted
#
return