查看: 2235|回复: 0

[Q Q 技巧] 用ACL禁止QQ和网络游戏

[复制链接]
  • TA的每日心情
    开心
    2022-2-10 11:50
  • 签到天数: 107 天

    [LV.6]常住居民II

    发表于 2004-8-14 00:59:17 | 显示全部楼层 |阅读模式
    很多公司规定在上班时间禁止使用QQ和网络游戏,可是一直以来只能靠大家的自觉执行,在公司里上班时间用QQ聊天和打网络游戏之类的现象还是很普遍,那么就需要想办法从技术角度解决这个问题。

    <B>访问控制列表</B>

    对于禁止QQ和网络游戏,其实可以通过路由器的访问控制列表(ACL)来实现的。那么什么是访问控制列表呢?访问控制列表是思科的IOS提供的一种控制网络访问的工具,利用ACL可以在路由器的接口上灵活地控制过滤数据包,从而可以决定在路由器的任意接口上允许或者禁止我们需要控制的数据包。一个IP访问列表是控制一个或一组IP或其上的端口的一串命令序列。

    IP访问控制列表分为三类,分别为标准访问控制列表(Standard access lists),扩展访问控制列表(Extended access lists)和命名访问控制列表(Named access lists)。

    标准访问控制列表是基于源地址和掩码,是对整个TCP/IP协议族的过滤,列表的编号是1至99,格式如下:

    Router(config)#access-list access-lists-number(1~99) {deny|permit} souce [wildcard]

    Router(config-if)#{protocol} access-group access-list-number {in|out}

    扩展访问列表检查源地址和目的地址,可以精确地过滤TCP或者UDP的端口。列表的编号是100至199,格式如下:

    Router(config)#access-list access-list-number(100-199) {permit|deny} protocol source source-wildward [operator port] destination destination destination-wildcard [operator port] [established] [log]

    Router(config-if)#ip access-group access-list-number {in|out}

    命名访问控制列表可以使用一组字母和数字的组合来代替扩展访问控制列表中的数字,使用它可以用来删除某一条特定的控制字符串,这样就可以更方便的精心修改。

    具体关于ACL的使用请参阅2003年10月的《网管员世界》或者思科的培训教材,比如CCNA的培训教材或相关资料。

    <B>禁止QQ和网络游戏</B>

    所有的网络应用,此处所指的是QQ和基于TCP/IP的网络游戏,都是通过和远端的服务器建立TCP或UDP的连接进行通讯的,也就是说,它们是用TCP或UDP端口进行通讯的。我们可以禁止QQ和网络游戏特定的TCP或UDP端口,但是我们如何才能知道QQ和网络游戏是通过哪个端口和服务器端口通讯的呢?大家应该都知道,一般的操作系统里有一条“netstat”命令,可以列出详细的端口列表。但是面对众多的IP地址和端口号,我们是很难看出哪一个IP地址和端口才是我们需要控制的。

    其实,有很多单机版的网络防火墙软件,可以让我们详细并即时地看到哪一个应用软件在使用什么端口和远端通讯。在这里我推荐大家使用天网防火墙个人版。

    下面就以我公司禁止QQ的设置为例来演示一下。我公司上网是通过Cisco 2611路由器的NAT功能上网的,Web和Mail都是通过NAT的端口映射实现的。

    首先,打开QQ以后,在天网防火墙里可以看到QQ正在和服务器UDP 8080端口进行通讯,那么我们要做的就是禁止源地址UDP 8080端口。

    Router(config)# access-list 102 udp deny any any eq 8080

    Router(config)# access-list 102 tcp permit any any

    Router(config)# access-list 102 udp permit any any

    Router(config)# access-list 102 ip permit any any

    Router(config-if)# ip access-group 102 in

    第一个命令定义了编号为102的ACL,禁止所有源地址和目的地址的UDP 8080端口的数据包,最后一个命令是在interface模式下,此处应在靠近局域网的端口应用上面定义的编号为102的ACL。因为ACL默认需要至少有一条规则让数据可以通过网络接口,所以第二、三、四行的命令是规定所有的TCP、UDP、IP协议可以通过。

    设置完成以后,用天网防火墙可以看到QQ在不停的尝试和远端服务器UDP 8080端口进行通信,但是过一会儿以后,发现QQ又可以连接上去了。这是因为新版的QQ可以使用TCP 80端口进行通信。因为TCP 80端口是HTTP专用的,所以如果我们禁用TCP 80端口的话,将使整个局域网无法访问所有的网站,这是绝对不行的。因此,我们只有将所有QQ服务器的都找出来,然后禁止访问。因为标准ACL是过滤所有源地址的整个协议族的,所以我们可以用标准ACL实现。

    Router(config)# access-list 2 deny host 61.144.238.145

    Router(config)# access-list 2 deny host 61.144.238.146

    ......

    Router(config)# access-list 2 permit any

    Router(config-if)# ip access-group 2 out

    前面两个命令定义了编号2的标准ACL,禁止所有源地址为Host后面的IP的数据包。

    对于网络游戏的禁止方法,是和禁止QQ的方法一样的,用天网防火墙个人版找出服务器的端口,然后加以禁止。因为游戏服务器一般不会使用HTTP端口来进行通信,所以只要用扩展ACL就可以。如果扩展ACL规则不是很多的话,可以将所有的扩展ACL合并多一起。

    <B>管理方法</B>

    对于ACL的管理,可以用ACL命令;对于标准和扩展ACL,只能对整条ACL进行管理。如果要删除一条ACL的话,使用:

    no access-list number

    如果要在一整条序列中添加一个规则的话,这样会相当麻烦。所以,如果使用标准和扩展ACL的话,建议使用思科 TFTP Server进行管理。将运行的配置文件拷贝到TFTP:

    Router(config)# copy run tftp

    然后将拷贝下来的config文件用写字板打开,就可以进行编辑了。对ACL进行编辑以后,我们需要将原有的运行配置里的需要更改的access-list先删掉,然后将修改后的文件拷贝到运行配置中,这条规则将立刻生效。

    将修改后的文件恢复到路由器的运行配置中:

    Router(config)# copy tftp run

    如果要将此配置文件备份到路由器的Flash中,可以使用“copy run start”命令,这样的话每次路由器启动的时候都会自动加载此配置文件。

    一般的路由器都提供了ACL功能,利用ACL可以实现包过滤防火墙的一些功能,比如限制网络访问,限制网络流量等功能。对于一些网络流量不是很大的场合,完全可以借助ACL使路由器实现防火墙的部分功能,达到提高网络安全性和提升网络管理水平的作用。
    楼主新帖
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表