监听的原理及防范方法
2009-05-28得印
得 印
我们在电视或者电影中经常会看到这样的情景,间谍或者警察,在某户人家的电话线总线上,拉出一根电话分线,对这个电话进行窃听。现在这种方法在网络中也逐渐蔓延开来。
由于局域网中采用的是广播方式,因此在某个广播域中(往往一个企业局域网就是一个广播域),可以监听到所有的信息包。而非法入侵者通过对信息包进行分析,就能够非法窃取局域网上传输的一些重要信息。如现在很多黑客在入侵时,都会把局域网扫描与监听作为他们入侵之前的准备工作。因为凭借这些方式,他们可以获得用户名、密码等重要的信息。如现在不少的网络管理工具,号称可以监听别人发送的邮件内容、即时聊天信息、访问网页的内容等等,也是通过网络监听来实现的。可见,网络监听是一把双刃剑,用到正处,可以帮助我们管理员工的网络行为;用的不好,则会给企业的网络安全以致命一击。
一、监听的工作原理
要有效防止局域网的监听,则首先需要对局域网监听的工作原理有~定的了解。知己知彼,百战百胜。只有如此,才能有针对性地提出一些防范措施。
现在企业局域网中常用的网络协议是“以太网协议”。而这个协议有一个特点,就是某个主机A如果要发送一个数据包给B,其不是一对~的发送,而是会把数据包发送给局域网内的包括主机B在内的所有主机。在正常情况下,只有主机B才会接收这个数据包。其他主机在收到数据包的时候,看到这个数据库的目的地址跟自己不匹配,就会把数据包丢弃掉。
但是,若此时局域网内有台主机C,其处于监听模式。则这台数据不管数据包中的IP地址是否跟自己匹配,就会接收这个数据包,并把数据内容传递给上层进行后续的处理。这就是网络监听的基本原理。
在以太网内部传输数据时,包含主机唯一标识符的物理地址(MAC地址)的帧从网卡发送到物理的线路上,如网线或者光纤。此时,发一个某台特定主机的数据包会到达连接在该线路上的所有主机。当数据包到达某台主机后,这台主机的网卡会先接收这个数据包,进行检查。如果这个数据包中的目的地址跟自己的地址不匹配的话,就会丢弃这个包。如果这个数据包中的目的地址跟自己地址匹配或者是一个广播地址的话。就会把数据包交给上层进行后续的处理。在这种工作模式下,若把主机设置为监听模式,则其可以了解在局域网内传送的所有数据。如果这些数据没有经过加密处理的话,那么后果就可想而知了。
二、常见的防范措施
1采用加密技术,实现密文传输
从上面的分析中我们看到,若把主机设置为监听模式的话,则局域网中传输的任何数据都可以被主机所窃听。但是,若窃听者所拿到的数据是被加密过的,则其即使拿到这个数据包,也没有用处,无法解密。这就好像电影中的电报,若不知道对应的密码,则即使获得电报的信息,对他们来说,也是无用的。
所以,比较常见的防范局域网监听的方法就是加密。数据经过加密之后,通过监听仍然可以得到传送的信息,但是,其显示的是乱码。结果是,其即使得到数据,也是一堆乱码,没有多大的用处。
现在针对这种传输的加密手段有很多,最常见的如lPSec协议。lPSec有三种工作模式,一是必须强制使用,二是接收方要求。三是不采用。当某台主机A向主机B发送数据文件的时候,主机A与主机B会先进行协商,其中包括是否需要采用lPSec技术对数据包进行加密。一是必须采用,也就是说,无论是主机A还是主机B都必须支持lPSec。否则的话,这个传输将会以失败告终。二是请求使用,如在协商的过程中,主机A会问主机B,是否需要采用lPSec。若主机B回答不需要采用,则就用明文传输,除非主机A的lPSec策略设置的是必须强制使用。若主机B回答的是可以用lPSec加密,则主机A就会先对数据包进行加密,然后再发送。经过lPSec技术加密过的数据,一般很难被破解。而且,重要的是这个加密、解密的工作对于用户来说,是透明的。也就是说,我们网络管理员配置好lPSec策略之后,员工不需要额外的动作。是否采用lPSec加密、不采用会有什么结果等等,员工主机之间会自己进行协商,而不需要我们进行额外的控制。
在使用这种加密手段的时候,唯一需要注意的就是如何设置lPSec策略。若在使用强制加密的情况下,一定要保证通信的双方都支持lPSec技术,否则的话,就可能会导致通信的不成功。最懒的方法。就是不管三七二十一,给企业内的所有电脑都配置lPSec策略。虽然,都会增加一定的带宽,给网络带来一定的压力,但是,基本上,这不会对用户产生多大的直接影响。或者说,他们不能够直观地感受到由于采用了lPSec技术而造成的网络性能降低。
2利用路由器等网络设备对网络进行物理分段
我们从上面的以太网工作原理的分析中可以知道。如果销售部门的某位销售员工发送给销售经理的一份文件,会在公司整个网络内进行传送。我们若能够设计一种方案,可以让销售员工的文件直接给销售经理,或者至少只在销售部门内部的员工可以收到的话,那么,就可以很大程度地降低由于网络监听所导致的网络安全的风险。
如我们可以利用路由器来分离广播域。若我们销售部门跟其他部门之间不是利用共享式集线器或者普通交换机进行连接,而是利用路由器进行连接的话,就可以起到很好的防范局域网监听的作用。如此时,当销售员A发信息给销售经理B的时候,若不采用路由器进行分割,则这份邮件会分成若干的数据包在企业整个局域网内部进行传送。相反,若我们利用路由器来连接销售部门跟其他部门的网络,则数据包传送到路由器之后,路由器会检查数据包的目的IP地址,然后根据这个IP地址来进行转发。此时,就只有对应的IP地址网络可以收到这个数据包,而其他不相关的路由器接口就不会收到这个数据包。很明显,利用路由器进行数据包的预处理,就可以有效地减少数据包在企业网络中传播的范围,让数据包能够在最小的范围内传播。
不过,这个利用路由器来分段的话,有一个不好的地方,就是在一个小范围内仍然可能会造成网络监听的情况。如在销售部门这个网络内,若有一台主机被设置为网络监听,则其虽然不能够监听到销售部门以外的网络,但是,对于销售部门内部的主机所发送的数据包,仍然可以进行监听。如财务经理发送一份客户的应收账款余额表给销售经理的话,由路由器转发到销售部门的网络后,这个数据包仍然会到达销售部门网络内的任一主机。如此的话,只要销售网络中有一台网络主机被设置为监听,就仍然可以窃听到其所需要的信息。不过若财务经理发送这份文件给总经理。由于总经理的网段不在销售部门的网段,所以数据包不会传送给财务部门所在的网络段,而销售部门中的侦听主机就不能够侦听到这些信息了。
另外,除采用路由器进行网络分段外,还可以减轻网络带宽的压力。若数据包在这个网络内进行传播的话,会给网络带来比较大的压力。相反,通过路由器进行网络分段,从而把数据包控制在一个比较小的范围之内,那么显然可以节省网络带宽,提高网络的性能。特别是企业在遇到DDOS等类似攻击的时候,可以减少其危害性。
3利用虚拟局域网实现网络分段
我们可以利用路由器这种网络硬件来实现网络分段。但是。这毕竟需要企业购买路由器设备。其实,我们也可以利用一些交换机实现网络分段的功能。如有些交换机支持虚拟局域网技术,就可以利用它来实现网络分段,减少网络侦听的可能性。
虚拟局域网的分段作用跟路由器类似,可以把企业的局域网分割成一个个的小段。让数据包在小段内传输,将以太网通信变为点到点的通信,从而可以防止大部分网络监听的入侵。
不过,这毕竟还是通过网络分段来防止网络监听,所以,它也有上面所说的利用路由器来实现这个需求的缺点,就是只能够减少网络监听入侵的几率。在某个网段内,仍然不能够有效避免网络监听。
所以,比较好的方法,笔者还是推荐采用加密技术来防止网络监听给企业所带来的危害,特别是防止用户名、密码等关键信息被窃听。