局域网ARP攻击和防护

1       ARP攻击原理介绍

1)         ARP协议的缺陷

ARP协议是建立在信任局域网内所有节点的基础上的,他的效率很高。但是不安全。它是无状态的协议。他不会检查自己是否发过请求包,也不知道自己是否发过请求包。他也不管是否合法的应答,只要收到目标mac地址是自己的ARP reply或者ARP广播包(包括ARP replyARP request),都会接受并缓存。

2)         ARP攻击原理

ARP欺骗攻击建立在局域网主机间相互信任的基础上的当A发广播询问:我想知道IP192.168.0.3的硬件地址是多少?

此时B当然会回话:我是IP192.168.0.3我的硬件地址是mac-b,可是此时IP地址是192.168.0.4C也非法回了:我是IP192.168.0.3,我的硬件地址是mac-c。而且是大量的。

所以A就会误信192.168.0.3的硬件地址是mac-c,而且动态更新缓存表这样主机C就劫持了主机A发送给主机B的数据,这就是ARP欺骗的过程。

假如C直接冒充网关,此时主机C会不停的发送ARP欺骗广播,大声说:我的IP是192.168..1,我的硬件地址是mac-c,此时局域网内所有主机都被欺骗,更改自己的缓存表,此时C将会监听到整个局域网发送给互联网的数据报。

3)         ARP攻击的危害

通过ARP攻击可以实现中间人攻击,导致受害者的上网数据都会经过攻击者,从而受害者的上网数据完全暴露给了攻击者,哪怕受害者使用https访问外部网站,数据同样可以被攻击者劫持和查看。

2       ARP防护方法

2.1    主机层防护

2.1.1  手工绑定网关IPMAC(方法一)

Windows主机系统下使用“arp –s“命令静态绑定网关IPMAC地址

arp s 192.168.1.1 AA-AA-AA-AA-AA-AA

此种方法适用于主机使用静态分配ip的场景。

2.1.2  在终端电脑安装ARP防火墙(防火二)

在终端电脑上面安装ARP防火墙,例如360ARP防火墙等等。

此种方法适用于终端主机以动态获取IP或静态分配IP的场景

2.2    网络层(交换机)防护

2.2.1  交换机MAC地址绑定(方法一)

交换机的每个接入层端口绑定连接的主机的MAC地址,下面是以思科交换机绑定MAC地址为示例的:

Switchc onfig terminal

#进入配置模式

Switch(config)# Interface fastethernet   0/1

#进入具体端口配置模式

Switch(config-if)#Switchport   port-secruity

#配置端口安全模式

Switch(config-if )switchport   port-security mac-address MAC(主机的MAC地址)

#配置该端口要绑定的主机的MAC地址

Switch(config-if )no switchport   port-security mac-address MAC(主机的MAC地址)

#删除绑定主机的MAC地址

 

此种方法适用于终端主机以动态获取IP或静态分配IP的场景

2.2.2  交换机IP-MAC地址绑定(方法二)

在交换机的接入层端口绑定连接的主机的IP+MAC

2.2.3  交换机启用DHCP snooping(方法三)

一、采用DHCP服务的常见问题

架设DHCP服务器可以为客户端自动分配IP地址、掩码、默认网关、DNS服务器等网络参数,简化了网络配置,提高了管理效率。但在DHCP服务的管理上存在一些问题,常见的有:

DHCP Server的冒充

Ø  DHCP ServerDOS攻击,如DHCP耗竭攻击

Ø  某些用户随便指定IP地址,造成IP地址冲突

 

1DHCP Server的冒充

由于DHCP服务器和客户端之间没有认证机制,所以如果在网络上随意添加一台DHCP服务器,它就可以为客户端分配IP地址以及其他网络参数。只要让该DHCP服务器分配错误的IP地址和其他网络参数,那就会对网络造成非常大的危害。

 

2DHCP Server的拒绝服务攻击 

通常DHCP服务器通过检查客户端发送的DHCP请求报文中的CHADDR(也就是Client MAC address)字段来判断客户端的MAC地址。正常情况下该CHADDR字段和发送请求报文的客户端真实的MAC地址是相同的。攻击者可以利用伪造MAC的方式发送DHCP请求,但这种攻击可以使用Cisco 交换机的端口安全特性来防止。端口安全特性(Port Security)可以限制每个端口只使用唯一的MAC地址。但是如果攻击者不修改DHCP请求报文的源MAC地址,而是修改DHCP报文中的CHADDR字段来实施攻击,那端口安全就不起作用了。由于DHCP服务器认为不同的CHADDR值表示请求来自不同的客户端,所以攻击者可以通过大量发送伪造CHADDRDHCP请求,导致DHCP服务器上的地址池被耗尽,从而无法为其他正常用户提供网络地址,这是一种DHCP耗竭攻击。DHCP耗竭攻击可以是纯粹的DOS攻击,也可以与伪造的DHCP服务器配合使用。当正常的DHCP服务器瘫痪时,攻击者就可以建立伪造的DHCP服务器来为局域网中的客户端提供地址,使它们将信息转发给准备截取的恶意计算机。甚至即使DHCP请求报文的源MAC地址和CHADDR字段都是正确的,但由于DHCP请求报文是广播报文,如果大量发送的话也会耗尽网络带宽,形成另一种拒绝服务攻击。

 

3、客户端随意指定IP地址

客户端并非一定要使用DHCP服务,它可以通过静态指定的方式来设置IP地址。如果随便指定的话,将会大大提高网络IP地址冲突的可能性。

 

二、DHCP Snooping技术介绍

DHCP监听(DHCP Snooping)是一种DHCP安全特性。Cisco交换机支持在每个VLAN基础上启用DHCP监听特性。通过这种特性,交换机能够拦截第二层VLAN域内的所有DHCP报文。

DHCP监听将交换机端口划分为两类:

  ●非信任端口:通常为连接终端设备的端口,如PC,网络打印机等

  ●信任端口:连接合法DHCP服务器的端口或者连接汇聚交换机的上行端口

 

通过开启DHCP监听特性,交换机限制用户端口(非信任端口)只能够发送DHCP请求,丢弃来自用户端口的所有其它DHCP报文,例如DHCP Offer报文等。而且,并非所有来自用户端口的DHCP请求都被允许通过,交换机还会比较DHCP 请求报文的(报文头里的)源MAC地址和(报文内容里的)DHCP客户机的硬件地址(即CHADDR字段),只有这两者相同的请求报文才会被转发,否则将被丢弃。这样就防止了DHCP耗竭攻击。

信任端口可以接收所有的DHCP报文。通过只将交换机连接到合法DHCP服务器的端口设置为信任端口,其他端口设置为非信任端口,就可以防止用户伪造DHCP服务器来攻击网络。DHCP监听特性还可以对端口的DHCP报文进行限速。通过在每个非信任端口下进行限速,将可以阻止合法DHCP请求报文的广播攻击。

DHCP监听还有一个非常重要的作用就是建立一张DHCP监听绑定表(DHCP Snooping Binding)。一旦一个连接在非信任端口的客户端获得一个合法的DHCP Offer,交换机就会自动在DHCP监听绑定表里添加一个绑定条目,内容包括了该非信任端口的客户端IP地址、MAC地址、端口号、VLAN编号、租期等信息。

Switch#show ip dhcp snooping binding
  MacAddress
  
  IpAddress
  
  Lease(sec) Type
  
  VLAN
  
  Interface
  ------------------ --------------- ---------- ------------- -----------
  00:0F:1F:C5:10:08 192.168.10.131 682463 dhcp-snooping 10 FastEthernet0/1

这张DHCP监听绑定表为进一步部署IP源防护(IPSG)和动态ARP检测(DAI)提供了依据。说明:

 

²  非信任端口只允许客户端的DHCP请求报文通过,这里只是相对于DHCP报文来说的。其他非DHCP报文还是可以正常转发的。这就表示客户端可以以静态指定IP地址的方式通过非信任端口接入网络。由于静态客户端不会发送DHCP报文,所以DHCP监听绑定表里也不会有该静态客户端的记录。

 

²  信任端口的客户端信息不会被记录到DHCP监听绑定表里。如果有一客户端连接到了一个信任端口,即使它是通过正常的DHCP方式获得IP地址,DHCP监听绑定表里也不有该客户端的记录。如果要求客户端只能以动态获得IP的方式接入网络,则必须借助于IPSGDAI技术。

 

²  交换机为了获得高速转发,通常只检查报文的二层帧头,获得目标MAC地址后直接转发,不会去检查报文的内容。而DHCP监听本质上就是开启交换机对DHCP报文的内容部分的检查,DHCP报文不再只是被检查帧头了。

 

²  DHCP监听绑定表不仅用于防御DHCP攻击,还为后续的IPSGDAI技术提供动态数据库支持。

 

三、DHCP SnoopingARP探测的关系

 

ARP 探测就是对经过设备的所有ARP 报文进行检查,DHCP Snooping需要提供数据库信息供 ARP 探测使用,在开启DAI 功能的设备上,当收到ARP报文时,DAI 模块就根据报文查询DHCP snooping的绑定数据库,只有当收到得ARP 报文得macip 和端口信息都匹配时才认为收到的ARP 报文是合法的,才进行相关的学习和转发操作,否则丢弃该报文。

 

 

参考资料:

http://bbs.51cto.com/thread-1116776-1-1.html



本文转自 老鹰a  51CTO博客,原文链接:http://blog.51cto.com/laoyinga/2048736

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值