局域网安全之ARP问题_第1页
局域网安全之ARP问题_第2页
局域网安全之ARP问题_第3页
局域网安全之ARP问题_第4页
局域网安全之ARP问题_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

局域网安全之ARP问题课程内容ARP流程回顾

常见问题

解决方案

实验与练习

小结2ARP流程回顾ARP流程3ARP流程回顾ARP流程(续)关于ARP的处理流程,请参阅初级教材的《以太网基础》内容ARP协议在设计的时候欠缺安全因素,体现在:1、ARP的请求报文使用广播形式,导致无关的主机也能获取到ARP信息;同时也给局域网通信造成了不必要的压力2、在收到ARP报文后,进行“无条件”更新;没有必要的认证、或其他身份合法性确认机制3、真正合法的ARP信息缺乏必要的更新维持机制4ARP流程回顾常见ARP问题我们经常会听到用户或者网管人员反应:网速好慢啊~怎么又断线啦?我的机器没有中毒,但是QQ号码被盗了,怎么一回事? 很多这种看似无关的问题,根源都与ARP有联系…5课程内容ARP流程回顾

常见问题

解决方案

实验与练习

小结6常见问题正常的ARP请求要解释清楚原因,还是要先理解ARP的工作原理。这里我们结合实际案例来解释:7常见问题正常的ARP请求(续)假设PC1要通过GW访问internet,首先要请求/学习GW的MAC地址PC1通过以太网广播发送ARPreq,其中SenderIP/MAC就是PC1的的真实信息,而TargetIP就是GW的地址即54,TargetMAC为全0GW收到之后会单播返回一个ARPresponse,其中的SenderMAC就是00-e0-0f-09-09-09,也就是PC要学习的内容在这个过程中,PC1和GW会相互缓冲对方的ARP信息,以备后用;ARP的更新只是通过被动接收ARP信息,而不是主动请求,除非相应的缓冲条目超时失效8常见问题ARP欺骗在这个例子中,假如PC4想冒充GW,怎么做呢?由于PC1的ARPreq是广播,所以PC4也能收到PC4单播一个ARPresponse报文给PC1,但SenderIP=54,SenderMAC=00-e0-0f-04-04-04PC1先后收到两个ARPresponse,但无法/不会判断孰真孰假;同时,PC1会把最后收到的response报文看作是前者的更新如果PC4故意设置一个时间延迟返回ARPresponse,那么PC1学习到的关于GW的MAC地址,将必然是错误的9常见问题ARP欺骗(续)这样,PC1访问internet的数据全部会被局域网交换机转发到PC4上(想想看为什么?)如果PC4没有任何后续操作那么PC1就无法上网了如果PC4通过“代理”功能,把接收到的数据再转发到真正的网关GW,那么PC1等被欺骗者还是能够上网,但不同的是,所有的数据都被PC4“监控”和“过滤”了10常见问题ARP欺骗的影响由于ARP机制的不安全,导致PC主机的ARP缓冲信息很容易被其他设备串改。因而,用户访问公网internet的数据流会经过第三方,会被监控/窥视ARP欺骗时,通常会影响局域网中所有的主机,导致整个局域网的数据流全部都经过PC4,如果PC4的处理能力不是很强的话,它就成为了网络的性能瓶颈,用户上网的速度必然很慢,“很卡”了通常ARP欺骗者所关注的是用户的账号、密码之类的有价值信息,而这些信息通常只在网络刚刚连通之后;为了可以制造这个环境,它通常会故意瞬间中断网络,这是完全可以做到的,因为ARP欺骗者是“串接”在网络中的。11常见问题ARP欺骗的影响(续)发生网络瞬间中断时,一般用户通常只会怀疑路由器、交换机是否有问题,而不会怀疑PC的。所以很多宽带路由器为此没少背黑锅瞬断后,用户除了骂娘之外,通常是重新登录相关的服务,其中的账号等敏感信息正式ARP欺骗者所关心的我们关心的并不是欺骗者如何获取各种敏感信息,而是如何让ARP欺骗不成功;为了实现这一点,我们首先要了解有哪些ARP欺骗方式…12常见问题ARP欺骗的种类根据前文的流程图,ARPReq和Response报文都可以轻易更新对方的ARP表项;而且欺骗者不必等待Req请求报文,可以直接发送req/response报文去更新对方--这样的ARP报文成为免费ARP由于通讯是双向的,所以欺骗者只要改变任何一方的ARP信息,就可以改变以太网数据的流向,从而达到其欺骗和敏感信息盗取的目的在标准ARP学习过程中,Req是广播发送的,而Reponse报文是单播的,免费ARP是不是也必须遵循这样的规律呢?我们来详细介绍一下:13常见问题ARP欺骗可能性分析一、针对多个PC的欺骗,用ARPreq报文

使用ARPReq报文来更新对方的ARP表项缓冲信息,必要条件是Dst.IP地址与被欺骗者的IP相同,如果存在多个用户主机(IP地址显然不同),首先必须要得到这些主机的IP地址集合,有两种方法:

1、穷举本网IP地址,对每个IP进行ARPreq扫描(广播)。但这种情况下,每个主机都是前后收到大量的ARP广播,而且都是从同一个源发出的,这比较容易暴露欺骗者自己14常见问题ARP欺骗可能性分析(续)2、先通过ping等程序探知存在的IP地址结合,然后有针对性的发送ARPreq扫描(单播)。虽然开始探测的ping之前,也会有大量ARPreq正常广播,但之后的ARP欺骗报文就全是单播了,有助于在后期实时更新,维持欺骗状态 比较而言,后者在欺骗过程中发送的报文数量较少,而且是单播报文,所以隐蔽性更强,实际环境中也更多的被采用。15常见问题ARP欺骗可能性分析(续)二、针对多个PC的欺骗,用ARPresponse报文

使用ARPresponse报文可以直接更新对方的ARP表项缓冲,不必满足Dst.IP地址与被欺骗者的IP相同,也就是说,欺骗所有PC的时候,只要用一种ARPresponse报文即可,理论上有两种方法:

1、直接使用广播将ARP信息主动response给本网,虽然是广播报文,但一次即可搞定。

2、使用单播报文逐个发送。一般很少有人这么实现,先要穷举/探测所有主机的地址不说,ARPresponse报文的数量也会成倍增加,而且结果是完全一样的16常见问题ARP欺骗可能性分析(续)使用ARPReq和Response报文的比较

使用ARPreq报文来欺骗,好处是在实现欺骗目的的同时,还可以清楚的知道本网中实时存在的主机的集合;但缺点是需要给每个主机单独发送ARP报文,数据量大,对系统处理能力要求高,还相对容易被发现 如果使用ARPresponse报文来欺骗,好处是只要通过一个广播即可实现目的,非常高效;但对于本网中实时的主机信息则无法了解17常见问题ARP欺骗可能性分析(续)三、针对GW的欺骗

通常一个局域网的网关设备只有一个,这里也只讨论这种情况。 对于单个目标设备,使用单播和广播就基本等效了,而且使用单播报文会更好;同时,使用ARPreq还是response报文也差不多了(想想看,为什么?) 18常见问题ARP欺骗可能性分析(续)不同的地方在于,欺骗者需要分别冒充每一个局域网PC去给GW设备发送ARP干扰报文。同样有两种方法:

1、穷举本网段所有的IP地址,分别以它们的身份向GW发送ARP欺骗信息

2、先通过ping等手段得知所有的有效主机列表,然后分别以它们的身份向GW发送ARP欺骗报文 这两种方法都可以,实现起来两者的难度相当,但前者会在网关设备的ARP表中留下很多不存在主机的ARP 多数情况下,欺骗者会采用第二种方式19常见问题ARP欺骗可能性分析(续)ARP欺骗的“可靠性”

ARP欺骗者通过种种途径,实现了目的之后,如何防止使用者把ARP信息恢复呢? 方法很简单,它们通过频繁的周期的发送ARP欺骗报文,使得用户PC或者网关的ARP信息维持在一个非正常的状态 20常见问题ARP攻击ARPFlood

与ARP欺骗不同,ARPFlood通过大量有规律或者无规律的ARP报文冲击一个主机/网络,造成网络资源(CPU、带宽)的极大消耗,严重时会导致网络完全瘫痪 早期的时候,这种Flood通常是由一个主机来发起攻击;但后来攻击者也改进了方法,他们通常会利用计算机系统的漏洞,同时控制一群主机同时发送ARP报文,影响更加严重。这通常被成为DDoS DDoS除了使用ARP报文攻击以外,也会使用IP、ICMP等报文来攻击…21课程内容ARP流程回顾

常见问题

解决方案

实验与练习

小结22解决方案ARP欺骗的现象要解决ARP欺骗的发生,首先应该先判断ARP欺骗的存在,它们发生时,通常会有哪些症状呢?对于网络工程师,我们看到的不应该只是“断线”“卡”“盗号”之类的表面现象,应该更深入一些无论通过何种方式实现的欺骗,我们只要知道,ARP表的正常情况是怎样的,那么通过比较,很容易就发现问题

23解决方案ARP欺骗的现象(续)对于PC,上网必须通过GW,如果PC中关于GW的ARP信息不正确,就必然出现问题分别收集PC的ARP信息和GW设备的网口MAC24解决方案ARP欺骗的现象(续)GW设备网口MAC地址,各个厂家都不太相同。BDCOM设备可以使用showinterfaceFn/m如果两者不同,则PC的ARP信息必然被篡改了,且arp/a中看到的MAC地址就是欺骗者的真实MAC地址有些时候只看PC的状态就可以初步判别ARP问题了,因为MAC地址的OUI段是标示厂家的25解决方案ARP欺骗的现象(续)如果GW发生ARP欺骗,由于欺骗来源通常是少数几个,所以GW的ARP表项中会有多个IP地址对应的MAC地址相同,甚至所有的MAC全都一致。这种状况说明GW的ARP表项被篡改了而且,那个特殊的MAC地址就是欺骗者(下图是正常情况)26解决方案ARP欺骗的现象(续)思考:

如果使用Wireshark/sniffer等软件在局域网中进行抓包分析,当看到哪些状况时,就可能产生ARP欺骗了?(针对PC用户)(针对GW网关)27解决方案处理ARP欺骗处理

当ARP欺骗发生后,只要比对PC和GW的ARP表项,很容易就能根据MAC地址确定欺骗者的来源。 对于被欺骗者,只要清空ARP表项重新学习或者简单重启设备即可;而对于欺骗者,则需要立刻断网隔离,然后进行杀毒或者重装系统处理(ARP欺骗通常跟木马程序有关)预防 处理比较简单,但预防就非常麻烦了。原因在欺骗发生之前,我们无从预知谁会以何种方式进行欺骗,而且欺骗的对象也不知道28解决方案ARP欺骗的预防措施针对ARP欺骗的若干问题,BDCOM推出了若干技术,用以缓解/预防ARP欺骗的发生静态ARP绑定Port-securityDHCP-Snooping29解决方案静态ARP绑定静态ARP绑定

静态ARP绑定的原理非常简单:ARP不安全的的根本原因是采用了没有校验机制的动态学习,那么干脆抛弃它,使用静态设置的方式即可。

路由器(通常需要绑定所有的PC):

arp<A.B.C.D><aa:bb:cc:dd:ee:ff>

30解决方案静态ARP绑定(续)PC设置静态ARP的方法

ARP–s<A.B.C.D><aa:bb:cc:dd:ee:ff>

注:普通的WindowsPC设置静态ARP之后,一旦主机重启,绑定就会失效,为此应该将上述的cmd指令加入到autoexec.bat文件中。

PC通常需要绑定一个网关的ARP即可,想想为什么?31解决方案静态ARP绑定(续)使用静态ARP绑定可以从根本上预防ARP的问题,实现的原理简单,且可以避免局域网中大量因为ARP动态学习引起的广播报文这种方式的缺点也很明显: 需要了解每个主机的IP、MAC对应关系 每台设备都要配置N-1个ARP表项,共N(N-1),信息量大

任何主机/网卡更换时,剩余主机的ARP都需要同步更新、更改 需要PC主机、GW网关之间双向绑定,缺一不可32解决方案Port-SecurityPort-Security

Port-Security是交换机在端口上查询所有接收报文,根据IP、MAC的组合信息来判断是否复合规则,若不符合,则直接丢弃 规则是可以根据实际需要来指定的 该功能分为bind和block两个部分33解决方案Port-Security(续)Port-SecurityBind

Port-Securitybind的原则是,只有符合规则的报文才可通过,其余全部丢弃,命令如下: (注:每个端口可设置多条,但有上限)

switchportport-security

bindmacmac.addr

switchportport-security

bindipip.addr[macmac.addr]

switchportport-security

bindarpip.addr[macmac.addr] switchportport-security

bindbothip.addr[macmac.addr]34解决方案Port-Security(续)Port-SecurityBind判断规则“MAC”,查看接收报文的帧头,判断其源MAC地址是否与预设的相同,只有匹配的才能通过“IP”,查看接收IP报文的帧头和IP头,判断两种源地址是否(同时)符合预设规则,…。可以只判断源IP地址“ARP”,与“IP”类似,对ARP报文有效,只是源地址信息是ARP报文payload中的SenderIP和SenderMAC“Both”,“IP”+“ARP”35解决方案Port-Security(续)Port-SecurityBind功能应用“MAC”-只允许特定的MAC地址/主机接入,通常用于控制用户的合法身份“IP”-交换机端口连接主机的IP和MAC都要符合规则,就是说用户必须使用特定的PC主机、并设置特定的IP地址才能访问网络,通常用于强化用户管理。当然也可以只限制IP地址“ARP”-欺骗者更新给别人的错误ARP信息,都是承载在ARPpayload的(两个Sender地址),只要在每个交换机接口上绑定对应PC的正确IP和MAC对应关系,ARP欺骗报文自然就不会再发送到网络中影响其他主机了36解决方案Port-Security(续)思考:

1、连接GW网关的交换机接口,需要进行Bind吗?

2、同时设定IP和ARP的bind属性,与设定Both的属性,两者的作用相同吗?37解决方案Port-Security(续)Port-SecurityBlock

Port-Securityblock的原则是,符合规则的报文被丢弃,其余全部通过,命令如下: (注:每个端口可设置多条,但有上限)

switchportport-security

blockmacmac.addr

switchportport-security

blockipip.addr[macmac.addr]

switchportport-security

blockarpip.addr[macmac.addr] switchportport-security

blockbothip.addr[macmac.addr]38解决方案Port-Security(续)Port-SecurityBlock判断规则“MAC”,查看接收报文的帧头,判断其源MAC地址是否与预设的相同,匹配的报文将被丢弃“IP”,查看接收IP报文的帧头和IP头,判断两种源地址是否(同时)符合预设规则,…。可以只判断源IP地址“ARP”,与“IP”类似,对ARP报文有效,只是源地址信息是ARP报文payload中的SenderIP和SenderMAC“Both”,“IP”+“ARP”39解决方案Port-Security(续)Port-SecurityBlock功能应用“MAC”,可以用来设置“黑名单”,指定的PC主机将不能访问网络,其余主机不受影响“IP”,与“MAC”类似,但可以通过IP和MAC两个组合信息来强化判断的条件描述。当然也可以只根据IP信息来判断,但作用不明显(为什么?)“ARP”,这个比较难定义,因为无从知道谁会发送欺骗报文,欺骗的又是谁。但一般情况下,只有PC才会发起ARP欺骗,他们通常会冒充GW来发送ARP信息,就是说无论谁发起,ARPpayload中的SenderIP都是等于网关IP的,这就给Block创造了有利条件40解决方案Port-Security(续)在使用SwitchportPort-Security功能进行预防ARP时,通常需要bind和block两者配合使用。对于GW,需要防止自己关于局域网IP地址的ARP信息被篡改,这个从正面防止是比较难的。除了静态ARP绑定以外,就是在交换机每个端口上绑定ARP报文的IP和MAC关系;对于PC,需要防止自己关于GW的ARP信息被篡改,此时可以使用Block功能,在除了连接GW设备的交换机端口上,block所有SenderIP为GW的ARP报文即可,判断比较简单;有条件时,PC上一般不推荐使用静态绑定,麻烦41解决方案DHCP-SnoopingDHCP-Snooping

相比于静态ARP,Port-Security的Bind/Block功能已经进了一步,可以完全在交换机上进行操作,并达到预防ARP欺骗的目的,但操作起来还是非常麻烦,尤其是需要维护大量的IP和MAC对应关系

DHCP-Snooping的就是在实现Port-Security功能的前提下,不需要人工去收集和维护IP、MAC对应关系。该功能可分为DHCPd和DHCP-Relay两部分

很明显DHCP-snooping依存于DHCP而存在。42解决方案DHCP-Snooping(续)DHCPdSnooping

DHCPd-snooping的原理比较简单:根据DHCP协议的原理,服务器在给客户端的最后一个报文DHCPReply中,是包含有对方的IP信息和MAC的,且两者都是正确的信息。

DHCP过程中的这组对应关系恰恰就是“绑定”所需要而人工收集很麻烦的,能不能通过软件来自动处理并利用起来呢?答案是肯定的。43解决方案DHCP-Snooping(续)命令语法

ipdhcpdsnoopingarp

该功能需要配置在开启了DHCPd功能的BDCOM路由器或者三层交换机上。DHCPd每次给客户端分配完地址之后,自动将对方的ARP信息写成静态的条目。44解决方案DHCP-Snooping(续)注意:

1、DHCPd-snooping不需要再额外配置Port-Security功能

2、只能预防网关设备/DHCPd的ARP被欺骗,而客户端的需要另外的手段来防护(想想为什么?)45解决方案DHCP-Snooping(续)DHCP-RelaySnooping

DHCP-Relaysnooping实现的原理与DHCPdsnooping完全一致,只是在局域网交换机上收集这些IP、MAC对应关系,并选择进行“绑定” 通过在交换机端口上的绑定,可以实现客户端PC的ARP免受欺骗,同时也防止客户端PC去欺骗其他主机/网关的ARP信息。

在这一点上,其功能和Port-Securitybind非常相似。46解决方案DHCP-Snooping(续)DHCP-Relay与DHCP-Relaysnooping

注意,DHCP-Relay与DHCP-Relaysnooping,两者完全没有任何直接的关联。 前者是用于解决DHCP的服务器和客户端不在同一广播域中而产生的技术(请参阅DHCP章节的内容) 后者只是用于区分DHCPd-Snooping而给了一个别的称谓。 多数情况下,我们直接把DHCP-RelaySnooping简称为DHCPsnooping,这是本节的核心内容47解决方案DHCP-Snooping(续)DHCPsnooping命令

ipdhcp-relaysnooping

--软件开关,使能DHCPsnooping功能 ipdhcp-relaysnoopingvlan<number>

--指定在某个/某些VLAN中生效 ipdhcp-relaysnoopingdb-file<name>

--将绑定关系写入到Flash种的指定文件

ipdhcp-relaysnoopingdatabase-agent<ip>

--将绑定关系备份到外部服务器中(TFTP协议)

ipdhcp-relaysnoopingwrite-time<interval>

--设定绑定关系更新/写入文件的时间间隔48解决方案DHCP-Snooping(续)以上命令仅作用于DHCP流程中的各个报文,对于ARP、其他IP报文则没有影响同时,从DHCP协议交互过程中,提取必要的正确的IP、MAC对应关系;通常这些信息都是关于Client的思考:

DHCPsnooping中的MAC和IP地址信息分别来自于DHCP交互过程中的哪个报文?49解决方案DHCP-Snooping(续)信任端口

dhcpsnoopingtrust

该命令可以将交换机端口设置为信任/非信任端口 交换机收到Serv端的DHCP报文,如果是从信任端口接收,则正常处理;如果是从非信任端口接收,则直接丢弃 交换机收到Client端的DHCP报文,如果是从信任端口接收,则正常处理;如果是从非信任端口接收,则需要比对其MAC地址是否符合对应关系(如果有),符合则正常处理,不符合则丢置。50解决方案DHCP-Snooping(续) 显然,只有连接在信任端口上的DHCPServ才能正常工作,如果接在非信任端口上,Serv是无法工作的

PC(DHCPclient)无论连接到信任/非信任端口,都可以正常工作,交换机都会进行收集其IP、MAC地址对应关系;

Client连接在信任端口时,DHCP报文正常处理;但如果连接在非信任端口,交换机需要检查其源MAC地址,即其以太网帧的源MAC与DHCPpayload中的ClientMAC地址是否相等,若相等,正常处理;若不等,判为DHCP欺骗,丢弃51解决方案DHCP-Snooping(续)DHCPsnooping调用

DHCPsnooping从DHCP协议交互过程中获取的IP、MAC对应关系,在不做更多操作的情况下,只会对DHCP报文产生影响,但对ARP、IP等比较敏感的报文则不起任何作用 只有经过相应的调用之后才会起到过滤作用,并以此可以实现ARP欺骗的预防、安全绑定等效果52解决方案DHCP-Snooping(续)针对ARP报文 开启ARPinspection后,交换机会判断接收的ARP报文,如果是从trust端口,则默认允许;如果是非信任端口接收的,那么必须先匹配DHCPsnooping手机的IP、MAC对应关系,只有匹配的ARP报文才会放行

iparpinspectionvlan<number>

--全局开启ARPinspection功能

arpinspectiontrust

--指定ARP报文的信任端口 53解决方案DHCP-Snooping(续)针对IP报文 开启IPVerifySource后,交换机会判断接收的IP报文,如果是从trust端口,则默认允许;如果是非信任端口接收的,那么必须先匹配DHCPsnooping手机的IP、MAC对应关系,只有匹配的ARP报文才会放行

ipverifysoucevlan<number>

--全局开启IPVerifySource功能

ip-source

trust

--指定IP报文的信任端口 54解决方案DHCP-Snooping(续)Binding的有效时间 在Port-Security的ARP信息绑定中,绑定关系是永久的,而在DHCP-Snooping的“绑定”中,这个关系则不是。其有效时间取决于DHCP本身地址分配的租约时间 另,如果某端口状态突然变为down,对应的绑定信息会墙纸60秒倒计时,计时结束前,如果端口恢复,则绑定信息保留,否则删除55解决方案其他ARP欺骗预防机制Filter功能 这里要介绍的Filter功能与IP/MACACL没有任何关系,其在生效时与IP本身的地址、端口等参数域没有关联;

Filter是在宏观上统计每个主机在单位时间内发送的数据帧/包的数量来确定其工作是否正常;如果流量超出预期,就进制该用户访问网络。 通常认为,一个MAC或者一个IP地址就是一个用户。 56解决方案其他ARP欺骗预防机制(续)Filter功能 有些ARP欺骗发生时,会伴随着大量报文(广播

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论