阅读排行榜

评论排行榜

最新评论

--【匿名用户】:E-works热心网友
--【匿名用户】:E-works热心网友
病毒可恶,制造病毒的更可恶 --佳丽
云安全,貌似还不错啊~ --蒲公英的约定
不错! --李翔
用杀软只用盗板的,中毒重装系统 哈哈 随便他们怎么吹嘘 --powerleader
分析很深刻。 --黄培
其实也是,现在的信息化建设,很多软件厂商利用人们对之还感觉是个新事物就吹嘘,这种做法真是不可取。 --【匿名用户】:E-works热心网友
其实也是,现在的信息化建设,很多软件厂商利用人们对之还感觉是个新事物就吹嘘,这种做法真是不可取。 --【匿名用户】:E-works热心网友
写的很好,确实,为什么服务这么难做,因为现在所处的阶段决定的,就像经常说的我国处于社会主义初级阶段的国情一样,所以,我们做好当前阶段的工作,能促进下个阶段的到来已经很不错了。 --【匿名用户】:E-works热心网友

浅谈企业内部网络对ARP攻击的应对
关键字: ARP防范 局域网 

随着局域网管理类软件的滥用,木马、病毒的传播,ARP攻击逐渐成为造成局域网网络故障的主要原因之一。从ARP攻击的原理上来说,要解决这个问题,似乎非常简单,只需要使用静态ARP表就可以。但是根据我的经验,在ARP攻击中伴生着一些其他的问题,特别是在上百台机器的网络中,仅仅是简单的在路由上绑定IP/MAC、机器上使用静态ARP 表,是远远不够的。(对于相关协议、技术,网上已有很多专业文章,本文不在这方面着重探讨,只就攻击的原理及解决方法进行探讨。)

 

首先简单的介绍一下什么是ARP所谓ARP,全称是Address Resolution Protocol(地址解析协议), TCP/IP 设计者利用乙太网的广播性质﹐设计出来的地址解析协定。ARP协议的基本功能就是通过目标主机的IP地址,查询目标主机的MAC地址,以保证通信的顺利进行。

 

上面这段话很明确的告诉我们,在LAN中,各主机之间的通讯不是通过IP地址来确定位置的,而是通过MAC地址。ARP协议的功能就是将IP地址和MAC地址对应起来,以使数据能够正确的发送到目标主机上。还有一个重要的信息就是,ARP包的发送和接受都是合法而且不可禁止的,我们不能通过关闭端口的方法来防止ARP攻击。

 

再来看看ARP攻击。原理也很简单,攻击者不停的发送错误的ARP包给被攻击者,或者干脆自己伪装成网关,那么被攻击者的数据包就无法传递到正确的网关上去,从而造成断线。如果这种攻击是无差别的,那么这个网络中所有的机器都无法正常上网。最初的“网络执法官”一类的管理软件就是典型的单体攻击,到后来出现的“网吧传奇杀手”这类木马,就是无差别的攻击。

 

如何去防止ARP攻击呢?常用的方法是:在本地机器上配置静态ARP表并在路由器上绑定IP/MAC。在本地机器上配置静态ARP的方法是建立一个批处理,可以这样写:

@echo off
arp -d
arp -s
路由器LAN IP  路由器LAN MAC

然后将这个批处理文件放到启动项里,这样每当机器启动的时候就会自动的绑定路由器的IP/MAC。然后在路由器里去绑定局域网内所有机器的IP/MAC,并且在过滤列表里添加这些IP/MAC,以使任何没有登记过的机器都无法上网。

 

看起来,这样就可以防止ARP攻击了。从理论上来讲,也确实是可以。但是在实际使用中我们发现,效果并没有理论上那么好,断网、掉包的情况仍然频繁。这是为什么呢?

 

在现实中,发现并处理ARP攻击的一般流程是:被攻击者发出警报,断网不能上线了。网络管理员来查看情况,发现有ARP攻击并定位攻击者,然后处理。当我们使用了刚才讲到的方法处理过之后情况会是怎样的呢?首先我们来明确几点现实中存在的问题:

 

1.               在没有进行初级防护的情况下,遭受ARP攻击会造成网络的中断,是彻底的断开,网页无法打开,PING网关完全不通。而在进行过初级防护的情况下,被攻击者的网络没有彻底断开,可能只是有掉包,网速变得比较慢。

2.               由于ARP包是个合法的包,防火墙通常都不会给出被攻击的提示。

3.               如果杀毒软件有效,那么就不会中毒,也就没有ARP攻击。因为杀毒软件没有发出警报,所以中毒者也不知道自己机器中毒。

4.               对于企业来讲,内部传送的文件都不会有太严格的检查,而且机器上安装的杀毒软件版本很有可能全都一样,ARP病毒传播是很容易的。

5.               不能指望每台电脑的使用者都有一定的网络知识,能发现并报告网络的异常。

6.               电脑的使用者中也会有熟悉网络的,但他不是管理员,他可能会通过非正常的方法让自己能够上网,而不去理会到底是谁在发起攻击,也不会通知管理员。这种行为会让网络产生更多不可控因素。

 

明确以上几点后我们再来看采取了初级防护措施后的情况。某台机器中了ARP病毒开始在网络中发起攻击,而这台机器的主人不知道自己的机器中了病毒还在正常的使用。而被攻击者的防火墙并没有报警,网络也没有断开。这个时候,无论是攻击者还是被攻击者,都没有发现任何问题,也就不会向网络管理员报告,网络管理员也不知道网络中出现了ARP攻击。然后病毒开始流传,更多的机器中毒。当中毒的机器到达一定数量的时候,问题就出现了。ARP攻击包占用了大量的带宽,网络连接变得不稳定,开始掉包,网速变慢。在这个时候网络管理员才发现,再来进行处理的时候,已经为时已晚。由于中毒的机器多了,处理难度加大,造成的损失也就更大了。

 

就此看来,做初级防护还不如不做。如果不做,在出现第一个ARP病毒的时候,就会造成网络的故障,发现和处理可以更及时。做了,反而会使情况恶化到一定程度才会被发现,增加了解决问题的难度和成本。那么,我们到底该如何来解决这个问题呢?

 

1.               网络管理员必须能够完全的掌握LAN中每台机器的上网权限,能够明确的知道每对IP/MAC地址是哪台机器在使用。要做到这一点,前期工作比较大,需要一台能够支持IP/MAC绑定,并支持IP/MAC过滤的路由。在路由里面绑定每一台机器的IP/MAC,并且过滤掉任何未经记录的机器。

2.               在每台机器上都安装专用的ARP防火墙。这种防火墙可以在遭受ARP攻击的时候发出警报,告知每一个使用者在看到警报的时候通知网络管理员。

3.               发现并定位到攻击源的时候,先拔掉网线再来处理。就是不方便到现场也要电话通知相关人员断开该机器的物理连接。不要试图通过任何非断开物理连接的方式来断开攻击源的网络,ARP攻击不需要通过路由,只要机器开着并物理连接到了网络中,就会产生影响。

4.               网络管理员的手中应该要有一份纸质的对照表,能迅速的查找到是哪个办公室的哪台机器。不要完全依靠电子文档,很多时候都是不方便查阅的。

5.               经常的使用抓包软件来监测。如果能有效的使用抓包软件,可以及时的发现很多问题,不止ARP攻击,还有网络病毒。抓包的结果是最有力的证据。

 

    就目前来说,ARP攻击的彻底解决还是任重道远。采取上述方法,可以有效的进行防护,能在第一时间发现并解决问题。希望广大的网络维护人员能够更轻松的应对ARP攻击。

发表于: 2007-12-17 17:58 李卓刚 阅读(1123) 评论(1)  收藏(0) 好文推荐
# re: 浅谈企业内部网络对ARP攻击的应对
2007-12-23 22:12 | 黄培
很好的文章。
标题  
姓名  
主页
内容   
请输入验证码:
*
(如果看不到图片,请多刷新几次页面)
  登录   Top
[使用Ctrl+Enter键可以直接提交]