ARP攻击是一种常见的网络问题,对此,需要恰当配置交换设备。以下以H3C设备为例,介绍典型的配置方法。
一、对于阻止仿冒网关IP的arp攻击
1、二层交换机防攻击配置举例
3552P是三层设备,其中ip:100.1.1.1是所有pc的网关,3552P上的网关mac地址为000f-e200-3999。现在PC-B装有arp攻击软件。现在需要对3026_A进行一些特殊配置,目的是过滤掉仿冒网关IP的arp报文。
对于二层交换机如3026c等,可以配置acl
(1)全局配置deny 所有源IP是网关的arp报文(自定义规则)
ACL num 5000
rule 0 deny 0806 ffff 24 64010101 ffffffff 40
rule 1 permit 0806 ffff 24 000fe2003999 ffffffffffff 34
rule0目的:把整个3026C_A端口冒充网关的ARP报文禁掉,其中蓝色部分64010101是网关ip地址的16进制表示形式:100.1.1.1=64010101。
rule1目的:把上行口的网关ARP报文允许通过,蓝色部分为网关3552的mac地址000f-e200-3999。
在S3026C-A系统视图下发acl规则:
[S3026C-A]packet-filter user-group 5000
这样只有3026C_A上连设备能够下发网关的ARP报文,其它pc就不能发送假冒网关的arp响应报文。
2、三层交换机防攻击配置举例
对于三层设备,需要配置过滤源IP是网关的arp报文的acl规则,配置如下acl规则:
ACL num 5000
rule 0 deny 0806 ffff 24 64010105 ffffffff 40
rule0目的:把所有3526E端口冒充网关的ARP报文禁掉,其中蓝色部分64010105是网关ip地址的16进制表示形式:100.1.1.5=64010105。
二、仿冒他人IP的arp攻击
作为网关的设备有可能会出现arp错误表项,在网关设备上还需对仿冒他人IP的arp攻击报文进行过滤。
当PC-B发送PC-D的arp的reply攻击报文,源mac是PC-B的mac (000d-88f8-09fa),源ip是PC-D的ip(100.1.1.3),目的ip和mac是网关(3552P)的,这样3552上就会学错arp,如下:
--------------------- 错误 arp 表项 --------------------------------
IP Address MAC Address VLAN ID Port Name Aging Type
100.1.1.4 000d-88f8-09fa 1 Ethernet0/2 20 Dynamic
100.1.1.3 000f-3d81-45b4 1 Ethernet0/2 20 Dynamic
PC-D的arp表项应该学习到端口e0/8上,而不应该学习到e0/2端口上。
①在3552上配置静态arp,可以防止该现象:
arp static 100.1.1.3 000f-3d81-45b4 1 e0/8
②同理,在图2中,也可以配置静态arp来防止设备学习到错误的arp表项。
③对于二层设备(3050和3026系列),除了可以配置静态arp外,还可以配置IP+mac+port绑定,比如在3026C端口4上作如下操作:
am user-bind ip-addr 100.1.1.4 mac-addr 000d-88f8-09fa int e0/4
则ip为100.1.1.4并且mac为000d-88f8-09fa的arp报文可以通过e0/4端口,仿冒其它设备arp报文无法通过,从而不会出现错误arp表项。