【原理基础】
1、什么是ARP
ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的底层协议,对应于数据链路层,负责将某个IP地址解析成对应的MAC地址。其基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的进行。
从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。
2、什么是ARP欺骗
我们假设有两台主机A、B,那么,在局域网中,黑客经过收到ARP Request广播包,能够偷听到其它节点的 (IP, MAC) 地址, 黑客就伪装为主机A,然后告诉主机B (我们假设主机B为受害者) 一个假地址,使得B在发送给A 的数据包都被黑客截取,而主机A和主机B浑然不知的一种现象。
目前,很多黑客都会利用ARP欺骗,但我们无法杜绝,因为我们现阶段无法组织ARP欺骗,但是,我们可以将它的欺骗程度无限的降低
3、ARP的攻击原理
我们已经知道,ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络产生阻塞现象,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。值得一提的是,ARP在攻击时会首先访问本地的ARP缓存,而且,这个缓存还是动态的
【实用案例】
我们以配置交换设备H3C为例,来介绍典型的防止同网段的方法:
1、阻止仿冒网关IP的ARP攻击
1)二层交换机防ARP攻击
说明:
3552P是三层设备
网关:100.1.1.1
3552P上的网关mac地址为000f-e200-3999
现在PC-B装有arp攻击软件。现在需要对3026_A进行一些特殊配置,目的是过滤掉仿冒网关IP的arp报文。对于二层交换机如3026c等,可以配置acl;全局配置deny所有源IP是网关的arp报文(自定义规则):
ACLnum5000
rule0deny0806ffff2464010101ffffffff40
rule1permit0806ffff24000fe2003999ffffffffffff34
注: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-filteruser-group5000
这样只有3026C_A上连设备能够下发网关的ARP报文,其它pc就不能发送假冒网关的arp响应报文。
2)三层交换机防攻击配置举例
对于三层设备,需要配置过滤源IP是网关的arp报文的acl规则,配置如下acl规则:
ACLnum5000
rule0deny0806ffff2464010105ffffffff40
注:rule0目的:把所有3526E端口冒充网关的ARP报文禁掉,64010105是网关ip地址的16进制表示形式:100.1.1.5=64010105。