企业信息化安全管理人员在设计企业的安全架构的时候,大部分只管住企业终端主机的安全,如服务器、用户终端电脑的安全,但是,对于不怎么起眼的交换机就没有给与足够多的重视。
作者:eNet硅谷动力 来源:eNet硅谷动力 2008年9月9日
关键字: 企业内部网 交换机
企业信息化安全管理人员在设计企业的安全架构的时候,大部分只管住企业终端主机的安全,如服务器、用户终端电脑的安全,但是,对于不怎么起眼的交换机就没有给与足够多的重视。
其实,根据笔者的经验,交换机在企业网络安全中也是一颗定时炸弹,一不小心,企业网络安全就可能被其破坏掉。或许有人不信,下面笔者就介绍几种常见的利用交换机来进行攻击的事件。或许,从这以后大家会转变自己的观念。
常见交换机攻击之一生成树攻击。
假设我们所住的城市只有一家超市,但是,到这家超市去可能就不止一条路。现在的问题就是,每条道路的话,距离这个超市有近有远,我们当然希望选择一条最近的道路,除非,这条道路堵车了,我们才会不得已选择其他的道路。有多条路的时候,就可能产生一个回路。也就是说,最后绕了一个圈子,我们仍然可能回到起点。
在企业交换网络中,也会遇到这种回路的情况。在企业网络中要是有回路,那么企业网络就会变得拥塞不堪,从而可能会引起网络风暴,也可能进一步恶化,最终使得网络崩溃。生成树协议可以防止冗余的交换环境出现回路。
如企业现在某个用户,到企业文件服务器,出于冗余的考虑,可能有两条道路。一条是直接通过交换机连接到文件服务器上;另外一条在文件服务器与用户之间可能需要经过两个交换机。当用户发出的信息,最后没有到达文件服务器,而是在网络中转了一圈,又回到用户的主机上。这就使一个回路,这是我们在设计网络过程中需要尽量避免的。
生成树协议可以防止冗余的交换环境出现回路。使用生成树协议的交换机都通过一种叫做网桥的协议数据单元来共享信息。网桥数据协议每两秒就会发送一个次。交换机可以发送或者接收这些网桥协议数据单元,从而来确定通过哪个交换机传递数据,路径最近。每个交换机都会利用生成树协议确定并返回到达相关目的地的最佳路线。当某个交换机出现故障或者某条线路比较拥挤的时候,则生成树协议会自动把这条线路标记为“拥塞”,则相关数据就会走另外一条后备道路,而不会在那边等待。
而常见的拒绝服务攻击就可以利用这个漏洞,进行生成树攻击。如黑客可以把一台计算机连接到不止一个交换机上,然后发送网桥ID很低的网桥数据协议单元,就可以欺骗交换剂,使交换机认为这是最近的捷径。这就导致了生成树协议重新收敛,从而引起回路,就可能导致网络崩溃。
在一些安全性要求比较要的企业中,设置必要的冗余线路是必要的。若网络并不复杂的话,则笔者建议采用手工转换的方法,而禁止使用生成树协议。若一定要使用生成树协议的,则就需要经产对网络进行稽核,看看是否存在回路。
常见的交换机攻击之二:MAC地址攻击。
我们都知道,在交换机中,有一张MAC地址表,在这表中,记录着某个MAC地址所对应的端口。如现在主机A通过交换机发送一条信息给B。若是第一次通信,则交换机会根据ARP等方法确认对方的位置。根据IP地址确认对方的MAC地址与对应的端口号之后, 就会在自己的MAC地址表中进行记录。下次再向B发送信息的时候,交换机就会核对这张表,若表中有这条记录的话,交换机就会直接把这条记录转发出去。很明显,这种处理机制,可以节省网络带宽,提高网络运行效率。因为若没有这一份表,则在通信之前,每次交换机都需要确认到底该从哪个端口发送出去,甚至通过广播协议确认端口信息,这显然对于数据转发的效率是有不利影响的。
在交换机中,一般是把MAC地址存储在内容可寻址存储器中,英文简称为CAM,它是一个128K大小的保留内存,专门用来存储MAC地址以及对应的端口号,以便交换机快速查询。现在如果病毒向CAM(内容可寻址存储器)发送大量的数据包,就会导致交换机开始向各个端口发送大批量的信息。显然,这给网络安全埋下了隐患,最后甚至会导致交换机在拒绝服务攻击中发生崩溃。交换机崩溃是一个比较严重的事件,它会使得企业内部的很多应用服务无法响应。
现在一些交换机在设计的时候,本身就提供了一些防攻击的工具,如采用一些技术,当交换机的资源快耗竭的时候,他就会通知发送方,暂缓发送信息。他的进入端口也会不再接收任何数据。这虽然也会造成网络的中断,但是至少交换机不会崩溃。
另外在一些比较新型的交换机者,也配备了一些自我反击功能。下面笔者以思科的交换机为例,看看其在这方面有什么可圈可点的表现。思科可以防止MAC/CAM 攻击。通过配置“端口安全性模块”可以实现如下控制。
一是可以配置端口上最大可以通过的MAC地址数量。
二是可以配置端口上学习或通过哪些MAC地址。、
三是可以实现对于超过规定数量的 MAC处理进行违背处理。
具体来说,端口上学习或通过哪些 MAC地址,可以通过静态手工定义,也可以在交换机自动学习。交换机动态学习端口MAC ,直到指定的MAC 地址数量,交换机关机后重新学习。目前比较新的技术是Sticky Port Security,交换机将学到的MAC地址写到端口配置中,交换机重启后配置仍然存在。如此的话,当计算机重新启动之后,MAC地址对应表仍然存在交换机中,如此的话,就可以减少MAC攻击的几率。
而对于超过规定数量的MAC处理进行处理一般有三种方式,可能不同的型号稍微有点区别。
第一种方式:Shutdown,这种方式保护能力最强,也最极端。所以在遇到一些特殊的情况,可能会误判,从而可能会为我们管理网络带来麻烦,如某台设备中了病毒,病毒间断性伪造源 MAC 在网络中发送报文。此时,交换机就会误判,而直接把这个端口关闭掉。
第二种方式:Protect,丢弃非法流量,不报警。也就是说,当交换机认为已经超过规定数量的MAC地址,则就会把这个数据流量直接拒绝掉,并且,不会向管理员报警。
第三种方式:Restrict ,丢弃非法流量,报警。这种方式跟第二种方式类似,为一的不同是,这种方式当遇到意外情况的时候,会向管理员报警。
对比上面三种处理方式,笔者建议是采用第三种处理。因为这个灵活性更大,而且,不会因为误判而影响到其它的数据流量。
常见的交换机攻击之三:ARP欺骗。
在上面笔者也稍微谈到了ARP的功能。当用户A希望通过交换机发送一条信息给用户B的时候,用户A传递给交换机的是目的主机的IP地址,而不是MAC地址。而交换机则是根据MAC地址来确定对方的位置。所以,遇到这种情况的时候,交换机会利用ARP协议,像整个网络内发送广播,询问这个IP地址所对应的MAC地址是多少。然后主机B会回应交换机,说我的IP地址是什么什么,对应的MAC地址为多少多少等等。
而恶意黑客可以发送被欺骗的ARP恢复,从而获取发往另一个主机的信息流。现在假设网络内的另外一台主机C,其已经被黑客攻破,成为一台肉鸡。当交换机通过ARP协议向各个用户询问某个IP地址的主人时,主机B与主机C都响应了这个ARP请求,说自己是这个IP地址的主人。这所造成的结果,就是在交换机的MAC地址表中,有两条记录。到后续交换价发往这个MAC地址的所有数据都被同时发送到了用户B与用户C。如此的话,黑客就可以通过企业内部网络中的主机C而获取到其不应该得到的信息。
可见,ARP欺骗可以实现会话劫持。这就好像电话窃听一样,当有人在打电话的时候,我们只需要在这电话线上搭上一根线,就可以窃听到通话的内容。而现在通过ARP欺骗的话,则还要简单,电话线都不用搭。只要冒认对方的身份,就可以轻而易举的获得自己想要的信息。特别是到企业网络的某台主机被黑客攻克,成为对方的肉鸡的话,则连企业外部的非法人员都可以获得这些信息。很显然,若某个企业或者单位具有比较有价值的信息时,黑可就可以利用这种方法来取得自己所想要的信息。
可见,交换机的安全隐患也是很大的,若我们不给其套一件保护衣的话,则其很可能成为病毒危害企业网络的工具。所以,尽量为我们的交换机采取一些安全措施,以保障企业网络的安全。