实战:校园网与P2P应用的封堵战役
【IT168 报道】校园网络安全至今为止仍然面临着三个方面的挑战:P2P(Peer-to-Peer)应用、垃圾邮件和病毒攻击。它们的后果必然造成了带宽的滥用;校园网出口堵塞、网关设备和防火墙过载;在缺乏监控手段这一校园网管理的一个通病的环境下,视频与语音的远程教学效果低下。
其中,P2P技术的泛滥是一个使得本就压力巨大的带宽更加捉襟见肘。大量的下载数据流剧烈地改变了网络的流量,造成了网络的阻塞,恶化了用户的网络上行速率。与此同时,校园网出口设备投资成本和投资费用的增加,并不能够使网络优化工作简单化。
P2P是NAT网关的宿敌
P2P技术,即端到端对等网络技术(图1),是指网络主机在充当客户端获取资源的同时充当服务器向其它对等体(Peer)提供服务。随着计算机网络的广泛应用和多媒体资源的丰富,P2P技术被主要应用于文件(主要是大型的多媒体文件)共享方面。当前用于文件共享的P2P协议种类很多,在美国大量使用的是KaZaA,在欧洲存在大量用户的是eDonkey和WinMx,在我国使用最频繁的是BitTorrent;其它常用的P2P 协议还有如FastTrack、eMule、Grokster、Groove、Gnutella等。P2P用户的总数庞大到数以百万计,并且根据不完全的统计,其在互连网中占用的带宽资源也高达60%以上。目前大部分的校园网络都是以内部建立私有网络后采用NAT技术进行网络连接,面对越来越多的网络通讯应用程序传输量甚至越来越多的攻击行为,NAT网关已经承受了重大的效能挑战。
![]() |
| 图1 |
现在的P2P客户端软件中都包含UPnP(Universal Plug and Play,图2)技术。在比如我们国内使用最多的BT下载软件中,UPnP技术可以对于网关的压力体现在两个方面:(一)对于一台内网电脑,下载软件的UPnP功能可以使网关或路由器的NAT模块做自动端口映射,将监听的端口从网关或路由器映射到内网电脑上。(二)网关或路由器的网络防火墙模块开始对Internet上其他电脑开放这个端口。这种无限制的端口开饭连接数量的增加,使得网关设备对于使用随机端口管理失效;并且NAT方法对使用NAT穿越技术的P2P下载软件也没有很好的解决办法。
![]() |
| 图2 |
P2P类型病毒不容忽视
新一代的蠕虫病毒为了增强蠕虫的攻击能量,已经采用了一种新的设计思路,即:每感染一台主机后,都会在本机创建一个最简单的服务器,然后启动多个连接线程,在新线程中寻找有同等类型的P2P连接主机,一旦找到,通过自身的消息功能发送给对方代用欺骗性消息,对方一但执行即被感染。例如:当对方收到消息,点击连接后,就会启动浏览器,浏览器和第一台被感染的主机建立http服务等正常的网络通信,下载服务器的页面同时执行其中的恶意代码,恶意代码再将自身拷贝到机器上并运行,完成再次传播。这样的结果将使得一个没有健全防毒体系的校园网络成为一个“僵尸网络”,随时爆发不可控制的DDO攻击。
传统类型的病毒也会利用使用者下载内容的同时将病毒捆绑(图3),用户可能在疏于防范的情形下安装“弹出式广告、木马程序、间谍软件”等。已经有不少案例可以显示,P2P聊天软件、下载程序都已经被广告软件商利用,广告或间谍程序被自动解压缩安装后,将造成使用者系统的严重损耗。
![]() |
| 图3 |
P2P封堵的几种通用做法
P2P数据通信具有流量大、种类繁多、特征变化迅速、检测困难的特点。在没有专业的流量控制设备的情况下,我们也只能在网关型设备上做一些手脚,比如:
* Cisco NBAR过滤数据包
1、在Cisco网站上下载一个叫:bittorrent.pdlm的文件
2、上传到路由器上(可以通过TFTP,FTP 等方法)
3、定义P2P协议类型,例如BT:ip nbar pdlm bittorrent.pdlm
4、定义Class-map和policy-map
class-map mathc-all bittorent
match protocol bittorrent
policy-map bittorrent-policy
class bittorrent
drop
5、应用到接口上
interface fastethernet 0/0
service-policy input bittorrent-policy
service-policy output bittorrent-policy
- 封堵方法* 采用ACL封堵端口
ACL是最为普遍的安全方法,较为严格的是只开启必要端口,屏蔽其他端口;另外一种是对于P2P软件占用的端口进行限制,而这种方法有其局限性,因为现在有的P2P软件,端口可以自动改变或者手工指定,使得网管员的工作量大增。
1、 严格限制
access-list 101 permit tcp any any eq 53
access-list 101 permit tcp any any eq 80
access-list 101 permit tcp any any eq 25
access-list 101 permit tcp any any eq 110
access-list 101 deny ip any any
2、 特定端口限制(BT精灵封堵范例)
access-list 101 deny tcp any any range 6881 6890
access-list 101 deny tcp any range 6881 6890
access-list 101 permit ip any any
封堵方法* 封锁P2P服务器
此种方法能有效的封锁大批的P2P“源”服务器,网管员通过简单的管理服务器IP地址就能封锁禁止P2P软件的使用,这对于自定义端口的客户端软件起到了非常有效的封锁作用。但是网络中存在着非常多P2P服务器,要找到每个服务器的IP地址然后进行封锁非常麻烦,而且也容易漏掉某些服务器,访问控制列表只能封锁IP地址不能封锁域名,对于IP地址经常变化的BT服务器来说,起到屏蔽的作用几乎不可能。
封堵方法* 限制NAT连接数量
Cisco IOS 12.3T还提供此项特性,它支持NAT对单用户限制,即可以对做地址转换的单个IP限制其NAT的表项数。因为P2P软件共同的特点就是同时会有很多的连接数,从而占用了大量的NAT表项,因此应用该方法可有效限制校园网内P2P下载的使用。命令参数如下:
ip nat translation max-entries {number | all-vrf number | host ip-address number | list listname number | vrf name number}
建立流量模型刻不容缓
我们不得不承认P2P的连接方式最大程度上发挥了Internet主机对等的特点,即每个运行TCP/IP栈的主机都可以平等地(端到端)接收或发起方问。但是,我们还应该清楚的看到我们许多的校园网络还不能控制应用对资源的消耗。例如,网络上究竟有多少应用,流量从哪里来,到哪里去,用户做什么等等。这些问题现在的网络均不能有效识别,而这些要求恰恰是网络要实现服务分级控制及分析的基础。
因此,一种合理的出发点是利用QoS机制,在保障正常教育教学运行的情况下,允许用户使用P2P应用。对于P2P流量的控制,从长远来看可以通过QoS和网络设备流量感知技术的结合,实现对业务透明的智能控制,还没有建立流量统计与管理的校园网应该马上行动起来。
