ARP欺骗和ARP泛洪攻击主要原因是终端和交换机对于学习到的ARP信息无法校验真伪,导致终端和交换机对学习到ARP信息重新变更和记录原有的记录信息。
所以要想针对局域网内ARP协议安全防护,需要从欺骗和攻击原理进行防护。
ARP欺骗原理及解决方案
ARP欺骗原理
我们知道,ARP欺骗主要是攻击者通过发送伪造的ARP报文,修改设备或网络被攻击终端的ARP表项,造成用户或网络的报文通信异常,所以找出中间人,对转发节点采取信任节点识别是安全防护的手段。
ARP欺骗分为主机欺骗和网关欺骗两种。
ARP主机欺骗防护
在讲解ARP主机欺骗防护之前我们再了解下ARP欺骗的过程。

PC1向PC2请求MAC地址信息,因为ARP请求报文为广播报文,所以当报文到达交换机后,交换机将收到的ARP报文向除了收到的A报文接口以外的其他所有端口发送。
PC2和PC3同时收到PC1关于PC2的ARP请求报文,正常情况下,PC2向PC1发送一条单播响应报文,告知PC1,PC2的MAC地址是什么。而PC3因为看到请求包数据不是给自己的,直接丢弃掉。
当PC3想要攻击PC1时候,伪造一个ARP应答报文,告知PC1“我就是PC2”。这时候PC会根据新收到的ARP应答报文重新更改自己的ARP表,把原来学习到正确的PC2的MAC表删除掉。记录下:pc2的IP地址和伪造的PC2的MAC地址。
同理,PC3也可以用同样的方式伪造PC1的MAC信息,告知PC2,并使得PC2更改PC1正确IP和MAC映射关系。
这样就达到了PC1和PC2相互访问数据到达PC3这里。
看到这里,相信大家也应该明白针对这种主机欺骗的行为该如何防护了吧。
对。针对ARP欺骗有两种方式。
1、下载防诈骗APP,保证电脑不会收到诈骗电话。
2、对于收到的ARP应答包和更新包保持一颗怀疑的心态。
如何保证终端不会收到诈骗电话,如何让终端始终快速的识别诈骗电话呢?
ARP欺骗解决方案及配置
在之前“什么是ARP”一文中我们提到arp协议类型有动态的有静态的,动态的ARP信息是自主学习到的,具有老化时间也会被新的ARP报文更新掉。
终端ARP静态绑定
要想不被骗,就把所有终端上静态绑定其他终端IP和MAC的对应关系。(win7以上操作系统要使用管理员模式)

可是这种方式会因为网卡坏掉,导致原来绑定信息不正确,需要删除重新绑定,而且在大的局域网中,这个对于管理人员是一个大的挑战。
正所谓,伤其十指不如断其一臂,从源头上打掉诈骗集团或者拦截掉诈骗集团的欺骗信息才是最有效的防护手段。
中间和网关设备ARP防护方法
通过上文ARP报文交互的过程我们可以看到,交换机对于广播报文和单播报文采用无条件信任转发,所以,建立安全可靠的MAC和IP地址表项在交换机上,对于接收到的ARP报文,检查ARP报文报文头的源目MAC和ARP报文中的源目MAC是否一致,就可以很轻松的防止中间人伪造报文进行欺骗。
如何在交换机上建立安全可靠的MAC和IP地址关系通常根据现场终端采用静态分配IP地址和动态IP地址,采用不同的应对方案,但不论哪种方案基本核心思想都是交换机建立安全地址表项。

静态分配IP地址防范ARP攻击
端口安全+ARPCheck
通过手工方式将IP和MAC地址对应关系配置交换机的端口,开启ARP合规检查。
锐捷配置 | 华为配置 |
Ruijie(config)#interface fastEthernet 0/1 Ruijie(config-if-FastEthernet 0/1)#switchport port-security binding 0021.CCCF.6F70 vlan 10 192.168.1.1 ——>把属于vlan10 ,且mac地址是0021.CCCF.6F70 ,ip地址192.168.1.1的PC绑定在交换机的第一个百兆接口上 Ruijie(config-if-FastEthernet 0/1)#switchport port-security ——>开启端口安全功能 Ruijie(config-if-FastEthernet 0/1)#arp-check ——>开启arp-check功能 Ruijie(config-if-FastEthernet 0/1)#exit |
[HUAWEI] user-bind static ip-address 192.168.2.1 mac-address 0021-CCCF-6F70 interface gigabitethernet 0/0/1 vlan 10 [HUAWEI] interface gigabitethernet 0/0/1 [HUAWEI-GigabitEthernet0/0/1] ip source check user-bind enable |
说明:以上只是各个厂家针对静态IP地址终端,端口安全案例,实际在实际项目中还可以使用全局的绑定,详细配置方式可以参考各个厂家命令手册和案例集。
华为等厂家针对ARP欺骗解决方案除了上述方法外,还有ARP表项固化功能、ARP表项严格学习功能、发送免费ARP报文等功能。
动态分配IP地址防范ARP攻击
动态IP地址环境下防范ARP攻击需要结合DHCP Snooping功能进行配置。
主要技术原理是:连接终端的接入设备收到终端DHCP ACK报文后,会从该报文中提取终端的MAC地址以及获取到的IP地址、地址租期等信息,并获取开启DHCP Snooping功能的接口信编号及该接口所属的VLAN,根据这些信息生成DHCP Snooping绑定表。
相对于静态绑定,DHCP Snooping具有灵活可变,不会因为人员位置变动或者网卡信息变动导致管理员重新配置。
动态IP环境下针对ARP防范可根据是否消耗硬件资源表项分为:IP SourceGuard和DAI(Dynamic ARP Inspection动态ARP检测)两种方式。
两则原理都是一样,通过提取DHCP Snooping表中IP和MAC地址信息,校验收到的ARP报文源IP和源MAC信息。
两则区别在于IP Source Guard是通过交换机的硬件表项进行处理,而DAI是通过CPU过滤源MAC/源IP不在Snooping表中的ARP报文。

动态IP环境下ARP安全防护相关配置
方案 | 锐捷配置 | 华为配置 |
IP Source Guard | Ruijie(config)#ip dhcp snooping //开DHCPsnooping功能 Rulie(config)#interface gigabitEthernet 0/49 Ruijie(config-GigabitEthernet 0/49)#ip dhcp snooping trust //设信任端口 Ruljie(config)#interface range fastEthernet 0/1-2 Ruijie(config-if-range)# ip verify source port-security //开IP Source Guard 功能 Rulie(config-if-range)# arp-check //开启ARP校验 |
[HUAWEI]dhcp snooping enable ///开启DHCP Snoogping功能 [HUAWEI]interface gigabitethernet 0/0/1 [HUAWEI-GigabitEthernet0/0/1]dhcp snooping trusted ///设信任端口 [HUAWEI- [HUAWEI]interface gigabitethernet 1/0/2 [HUAWEI-GigabitEthernet1/0/2] arp validate [HUAWEI-GigabitEthernet1/0/2]ip source check user-bind enable //开IP Source Guard 功能 |
DAI | Ruijie(config)#ip dhcp snooping //开启DHCPsnooping功能 Ruijie(config)#interface gigabitEthernet 0/49 Ruijie(config-GigabitEthernet 0/49)#ip dhcp snooping trust //设查信任端口 Ruijie(config)#ip arp inspection van 10//对van1开DAI测功能 |
[HUAWEI]dhcp snooping enable [HUAWEI] vlan 10 [HUAWEI-vlan10]dhcp snooping enable [HUAWEI-vlan10]dhcp snooping trusted interface gigabitethernet 0/0/1 [HUAWEI]Interface gigabitethernet0/0/2 [ HUAWEI-GigabitEthernet1/0/2] arp anti-attack check user-bind enable ////使能动态ARP检测功能 [HUAWEI-vlan10] ip source check user-bind enable |
ARP欺骗解决方案对比分析
项目 | 端口安全 | 全局IP+MAC绑定 | IP Source Guard |
DAI方案 |
适用环境 | 静态IP地址/动态IP地址 | 静态IP地址/动态IP地址 | 动态IP地址 | 动态IP地址 |
表项检测方式 | 硬件检测 | 硬件检测 | 硬件检测 | CPU检测 |
优点 | 严格管控 | 管控更为严格 | 管控灵活简单 | 管控灵活简单 |
缺点 | 配置复杂,灵活性低 | 配置复杂,灵活性高 | 对交换机性能要求较高,需支持IPSG | 对交换机性能要求较高。 |
ARP泛洪攻击原理及解决方案
ARP泛洪攻击原理
ARP 泛洪攻击与ARP欺骗的区别在于,攻击者通过不断向网络中被攻击设备发送大量的ARP请求报文,从而消耗殆尽被攻击者ARP表项,又因为ARP报文一般是送交CPU处理,ARP泛洪攻击同样也也会消耗CPU的资源,大量的ARP广播报文因为广播特性,会占用大量网络带宽,引起网络堵塞。
ARP泛洪攻击解决方案
由ARP攻击原理可知,ARP泛洪攻击主要是消耗设备性能,所以针对ARP防洪攻击解决手段各个厂家都有不同的手段,但所有的厂家都会有以下防护手段。
ARP报文报文限速或限制,ARP隔离等。下面以华为配置为例。
ARP报文限速:
设备对单位时间内收到的ARP报文进行数量统计,如果ARP报文的数量超过了配置的阈值,超出部分的ARP报文将被忽略,设备不作任何处理,有效防止ARP表项溢出。
包括:源MAC地址或源IP地址进行ARP报文限速;全局、VLAN和接口的ARP报文限速。
ARP报文配置示例:针对源IP限速,每秒50个ARP报文
<HUAWEI> system-view
[HUAWEI] arp speed-limit source-ip maximum 50
ARP表项严格学习和限制:包括全局限制和接口限制。
<HUAWEI> system-view
[HUAWEI] arp learning strict ////全局限制
[HUAWEI] interface vlanif 100
[HUAWEI-Vlanif100] arp learning strict force-enable ///接口限制。
好了,ARP安全攻击原理以及防护手段已经知道了,针对ARP攻击方法还有很多方案和解决办法,在不同场景针对不同的攻击灵活合理采用不同的方案,这就要靠现场工程师和运维人员是否能够找出攻击源以及攻击形式。