为了不影响正常业务的进行,企业网络的管理员需要想尽办法封闭BT有可能经过的所有端口,将一些特定的种子发布站点阻挡在外,将企业内的BT尝试整体封杀。
编者按:
BT下载正给越来越多的企业办公带来危害,而公众网、电信网中的BT下载,同样也正在吞噬着运营网络带宽。一旦出现第一颗“种子”(下载源),大量的BT用户就会跟进,形成大规模的BT下载网络。与点到点不同的是,这种“群体生存”网络,虽然体现了互联网的自由,但是同样也反映出互联网的无序。而当这种无序性扩散到企业网和电信网中,则变成无法容忍的干扰。
BT全名为Bit Torrent,是一个P2P软件,与传统FTP、HTTP等下载方式不同,使用BT的人数越多,速度越快。传统的FTP、HTTP、PUB是把文件由服务器端传送到客户端,这样会出现一些问题:用户数量的增多要求高带宽和服务器的高性能,也会影响到服务器的稳定性,因此很多服务器都会有用户人数的限制、下载速度的限制,这样就给用户造成了诸多的不便。而BT从根本上解决了这个问题,BT采用的是一种类似传销的方式来达到共享,在下载的同时,也在为其他用户提供上传,所以不会随着用户数的增加而降低下载速度。使用非常方便,其特点简单地说就是:下载的人越多,速度越快。
常用的BT软件有BitTorrent、PTC、Shareaza、BitTorrent++等。
● BitTorrent是一个多点下载的源码公开的P2P软件,使用非常方便,就像一个浏览器插件,很适合新发布的热门下载。
● PTC(Personal Torrents Collector)是目前 BitTorrent下载用户端里最好的软件之一,PTC的多线程能力使用户能够批量更快地下载和上传资源。
● Shareaza集合了eDonkey、Guntella和BT等流行P2P软件的特点,并可以用于HTTP、FTP下载,具有优秀的界面、简洁的操作以及极强的可制定性。
● BitTorrent++在功能上比BitTorrent有很大的改进,也更为人性化,弥补了BitTorrent过于简单缺乏微调的缺陷,尤其是共享方面的功能。如果中途关闭了BitTorrent++,只要再次打开程序,就会继续进行原来的下载,不用像BitTorrent的续传那么麻烦。
这些BT下载软件以其独特的优势受到广大用户的喜爱,不过,麻烦也随之而来:如果多个用户同时使用BT进行下载,会占用大量网络带宽,严重影响其他用户的正常工作。在一些企业的局域网、学校的校园网、运营商的城域网中,都已经出现了BT滥用网络资源的情况,影响到其他正常业务的开展。因此,在一些环境下完全有必要严格限制用户的BT下载流量或完全禁止BT下载。总的来说,有以下七种最直接的方式可用。
限制浏览BT网站
BT网站很多,但考虑到BT下载的特点:下载的人数越多,速度越快;Seed越多,速度越快。只有比较热门BT网站的Torrent文件下载的人才会比较多,一般的BT网站去的人就比较少,下载的人数也少,除非他能忍受每秒几K的速度。 因此针对比较热门的BT网站,在安全网关上配置URL过滤规则,之后,在出接口上启用过滤Http_Filter功能,禁止对它们的访问即可。
禁止访问Tracker服务器
Tracker是指运行于服务器上的一个程序,这个程序能够追踪到底有多少人同时在下载同一个文件。客户端连上Tracker服务器,就会获得一个下载人员 的名单,据此BT会自动连上别人的机器进行下载。一般对tracker服务器的访问以HTTP的形式进行。
如果企业网络的网关具有图形管理日志,则可以查询到关于HTTP信息的所有记录,如果有BT下载,则在日志中发现相应的HTTP报文,根据报文内容可以得到Tracker服务器信息,然后可以在设备中配置规则,禁止内部用户访问该服务器。
Tracker服务器的数量应该远少于热门BT网站的数量,很多网站都是转的其他网站的Torrent,如果可以找出这些Tracker服务器的地址,这是一种非常有效的方法。利用天清汉马多功能安全网关,根据查询日志可以很容易找到Tracker服务器。
封闭BT下载端口
解决BT对局域网的危害,最彻底的方法是不允许进行BT下载,BT一般使用TCP的6881~6889的端口,网络管理员可以根据网络流量的变化进行判断,在网关中将特定的种子发布站点和端口封掉,在BT下载软件中的Track中可以获得这些信息;但是现在大多数BT软件可以修改端口号,因此网管可以根据实际情况,在不影响正常业务的情况下尽可能将封闭的端口范围扩大,把一些特定的种子发布站点和端口进行封闭。
限制用户带宽
BT之所以会危害到局域网,是因为它占用了大量网络带宽。因此,限制每个用户使用的网络带宽,可以明显缓解BT对网络的危害;同时对于一些运营性网络,完全禁止BT使用是不合理的,限制每个BT的使用带宽就成为一个比较好的选择。网络管理员可以通过一些管理软件或者网络硬件配置,针对应用流进行较细粒度的速率限制,例如将BT用户下载的优先级限制为5(0最高,7最低),带宽限制为64Kbps。这样可以确保BT软件使用的同时不会影响其他业务的开展。
限制最大连接数
在使用BT软件时,下载者会周期性地向tracker登记,使得tracker能了解它们的进度,下载者之间通过直接连接进行数据的上传和下载,这种连接使用的是 BitTorrent 对等协议,它基于TCP。因此网络管理员可以针对这些特点,对TCP最大连接数进行控制,从而达到控制BT对网络带宽的占用。
使用HTTP代理对应用层协议进行过滤
当BT客户端下载时,必须进行Tracker查询,Tracker通过HTTP的GET命令的参数来接收信息,而响应给对方(下载者)的是Bencoded编码的消息。在HTTP请求报文中,携带了BT的特征值 User-Agent:BitTorrent。
网络管理员针对该情况,可以通过一些安全管理设备以及流量管理设备,甚至网络管理系统软件,过滤特定的应用层数据包(如HTTP数据包),然后根据BT数据包中的关键字(BitTorrent),从HTTP数据包中过滤BT数据包(如图1所示)。
图1 使用HTTP 代理方式过滤BT
阻断BT流
现在还有一些BT软件不通过HTTP来获取Peers列表,而是采用TCP/UDP协议,但其BT流中还是包含“BitTorrent”特征码;如果网络设备中具有能够针对BT流中包含的“BitTorrent”特征码进行识别的产品,则进行BT阻断或限制其带宽就容易得多了(如图2所示)。