e博士看台(42):用ISA 2004捂住QQ的嘴

网络通信

  最近,有不少读者来信向e博士讨教如何在局域网中禁用即时通信工具QQ。收到这些热心读者的来信后,e博士查阅了大量的资料,综合对比了各种不同的方法,发现使用ISA 2004(Internet Security and Acceleration Server 2004)禁用QQ是一种非常有效的方法。那么如何在局域网中配置ISA 2004禁用QQ呢?

  请QQ闭嘴

  随着QQ的不断发展,它的服务器登录方式已从以前单一的UDP协议8000端口,逐渐发展为通过“UDP协议8000端口、TCP协议的 80/443端口”多种方式登录,而且QQ服务器的数量也很多。用户可以使用多种方式登录不同的QQ服务器,因此,一般的防火墙产品很难对QQ进行禁用。该怎么办呢?最有效的方法是禁用QQ服务器,让QQ客户端无法登录网络。

  ISA 2004提供了非常强大的安全防御功能,只需要进行简单的通信协议定义、计算机集定义并建立新的访问规则,就可以禁用QQ服务器,来实现禁止用户QQ上网。

  提示:由于ISA 2004中并没有提供QQ通信协议,所以我们要根据QQ使用的协议和端口号,在ISA 2004中为QQ通信创建新的协议。此外,由于QQ服务器数目比较多,为了方便新建访问规则,需要按照不同的登录方式将这些QQ服务器划分到不同的计算机集中。

  1.新建通信协议

  这里我们根据QQ的三种不同登录方式所使用的协议和端口号,新建三条通信协议,协议名依次为UDP-8000、TCP-80和TCP-443。为何要新建这些协议呢?这是因为,QQ登录服务器时,使用了QQ服务器的UDP协议的8000端口、TCP协议的80端口、TCP协议的443端口,先定义好这些协议内容,是为了方便建立禁用QQ的规则。

  ●UDP-8000协议

  在ISA 2004管理控制台窗口中,选择进入右侧框体的“工具箱”标签页(图1),点击“协议”分栏,接着点击“新建→协议”,弹出“新建协议向导”对话框,在名称栏中输入“UDP-8000”。点击“下一步”按钮后,在“首要连接信息”对话框中点击“新建”按钮,弹出“新建/编辑协议连接”对话框,在“协议类型”中选择“UDP”,将“方向”设为“发送”,端口范围设置为“从8000到8000”,然后点击“确定”按钮,接着一路点击“下一步”按钮完成UDP-8000协议的建立。

  ●TCP-443协议

  首先在“新建协议向导”对话框的名称栏中输入“TCP-443”,接着在“首要连接信息”对话框中点击“新建”按钮,弹出“新建/编辑协议连接”对话框,在“协议类型”中选择“TCP”,将“方向”设为“出站”,端口范围设置为“从443到443”,点击“确定”按钮后,一路点击“下一步”按钮即可完成TCP-443协议的新建。

  ●TCP-80协议

  在“新建协议向导”的名称栏中输入“TCP-80”,接着在“首要连接信息”对话框中点击“新建”,弹出“新建/编辑协议连接”对话框。在“协议类型”中选择“TCP”,将“方向”设为“出站”,端口范围设置为“从80到80”,点击“确定”按钮后,一路点击 “下一步”按钮即可完成TCP-80协议的新建。

  2.新建计算机集

  由于QQ服务器较多,我们将QQ服务器划分为三类,它们依次是QQ-Server UDP_8000、QQ-Server TCP_443&80和QQ-Server VIP。划分QQ服务器类型,也是为了方便建立禁用QQ的规则。

  ●QQ-Server UDP_8000

  名为“QQ-Server UDP_8000”的计算机集是指开放UDP协议8000端口的QQ服务器集合。很多时候,QQ客户端程序就是通过QQ服务器的8000端口,以UDP协议方式进行登录的。

  在ISA 2004管理控制台右侧框体中的“网络对象”标签页,点击“新建→计算机集”,弹出“新建计算机集规则元素”对话框。在该对话框的名称栏中输入“QQ-Server UDP_8000”,然后点击下方的“添加”按钮,选择“计算机”(图2),将61.144.238.145、61.144.238.156等IP地址添加到列表框中(更多IP地址可到http://www.cpcw.com/42/IP1.rar下载),最后点击“确定”按钮,完成QQ-Server UDP_8000计算机集的建立。

  ●QQ-Server TCP_443&80

  在“新建计算机集规则元素”对话框的名称栏中输入“QQ-Server TCP_443&80”,添加218.17.209.23、218.18.95.153等IP地址(更多IP地址可到http://www.cpcw.com/42/IP2.rar下载),最后点击“确定”按钮即可。

  ●QQ-Server VIP

  “在新建计算机集规则元素”对话框的名称栏中输入“QQ-Server VIP”,然后添加IP地址“218.17.209.42”,最后点击“确定”按钮。

  3.创建访问规则

  完成以上两项工作后,我们就可创建禁止QQ上网的访问规则了。在ISA 2004控制台管理窗口中,右键点击“防火墙策略”,选择“新建→访问规则”,进入“新建访问规则向导”对话框,在名称栏中输入“Deny QQ Server access”。点击“下一步”按钮后,在“规则操作”对话框中选中“拒绝”,点击“下一步”按钮。在“协议”对话框中选择“所选的协议”,并添加已经建立的协议“UDP-8000、TCP-443”和“TCP-80”。

  接下来,指定访问规则源(访问规则源是指局域网内部机器的集合,也就是执行该规则的内部机器),点击“添加”按钮,在“添加网络实体”对话框中选择“内部”并添加。点击“下一步”按钮后,设置需要禁止访问的服务器,点击“添加”按钮,在“添加网络实体”对话框中,将新建的计算机集“QQ-Server UDP_8000、QQ-Server TCP_443&80和QQ-Server VIP”添加到列表框中。进入“用户集”设置对话框,选择“所有用户”后点击“完成”按钮。

  最后,在“防火墙策略”窗口中选中“Deny QQ Server access”规则,点击上方的“应用”按钮。这样就可完成“禁止QQ上网”规则的创建,局域网用户就不能使用QQ上网了。

  不足之处:虽然该访问规则可以禁止QQ上网,但细心的用户会发现,在局域网中,为了保证用户能正常上网办公,是不能禁用HTTP协议的。因此新建的ISA 2004访问规则中没禁用HTTP协议,这样一来,局域网用户就可以通过HTTP代理使用QQ上网了。

  禁用HTTP代理

  很多网管为了保证用户能够正常上网工作,并没有禁用HTTP协议,那么该如何解决这个问题呢?

  其实,利用ISA 2004中新增的“签名”功能,就可有效地禁止QQ使用HTTP代理进行登录。

  1.过滤

  ISA 2004可以对应用层中经协议处理后生成的数据包进行过滤,不但能对数据包中的IP头和TCP头信息进行检查,还能够检测应用层数据包中的关键字。

  我们可以利用这种过滤“关键字”的功能,对HTTP协议包中的QQ数据包的关键字进行过滤,一旦发现QQ数据包的关键字,就能找到QQ数据包,然后将它丢弃,达到屏蔽QQ通信的目的。

  2.禁用

  在ISA 2004管理控制台窗口中,右键点击“允许用户访问外部网络”规则(这是一条允许用户使用HTTP协议上网的访问规则),选择“配置HTTP”选项,弹出“为规则配置HTTP策略”对话框,进入“签名”标签页。

  在“签名”标签页中点击“添加”按钮,弹出“签名”对话框(图3),在“名称”栏中输入“QQ”,然后在“查找范围”下拉列表框中选择“请求URL”,接着在“签名”栏中输入QQ数据包中包含的关键字“tencent.com”,最后点击“确定”按钮。这样就可使QQ无法使用HTTP代理服务器上网了。

  不足之处:如果HTTP代理提供加密功能,将QQ数据包进行加密,那么“签名”功能就无法过滤HTTP通信中的QQ数据包的关键字。这样就无法禁用具有加密功能的HTTP代理,但此方法对一般的HTTP代理(无加密功能)来说,效果还是很好的。