【IT168专稿】目前单位的局域网中还没有布署流控系统,某些部门对于网络的滥用就经常造成整个局域网的网速变得很慢。虽然我们通过MRTG软件可监控到是哪个端口的流量过大,也可以以针对某个端口进行限速,但是却不能这么做,因为这样一下那个端口下面所有的微机的网速都被限制了,而那个端口下面又有确实需要保障网速的机器,所以就要区别对待,用一个实际的网络拓扑来说明一下,如图1所示:
▲图1 局域网组网示意图
8楼竖井交换机是一台2层交换机,下面连接了三个网络,一个是领导的办公室,一个是财务部的局域网,一个是办公区的局域网。我们对于网络使用限制的设计思路是利用CISCO3550的ACL实现对于连接8楼交换机的端口(端口18)设置为只允许某些特定的端口、只有指定的用户可以不受限制的访问网络、放开对某个指定IP地址的访问,这样说不是太直观,我们结合具体的实际说明一下。
一、在CISCO上创建ACL实现应用限制
本例中我们创建了一个名为notb的ACL,只开放了某些常用的端口和一些特定的主机,除此之外的默认都是不允许访问的端口,这个ACL在技术上实现没什么难度,但是具体开放哪些端口还是很有讲究的,我们分别说明一下:
(一)满足最基本上网功能的端口
ip access-list extended nobt
permit tcp any any eq ftp
permit tcp any any eq www
permit tcp any any eq pop2
permit tcp any any eq pop3
permit tcp any any eq smtp
(以上几条分别为FTP、浏览网页、收发邮件的操作)
permit udp any any eq domain
(这一条太重要了,也算是我们的一个经验教训,已经放开了WWW端口,为什么用户还是上不去网呢?因为他还无法使用DNS服务,所以必须放开DNS服务,同时注意是UDP协议)
permit tcp any any eq telnet
(因为要telnet到交换机上,所以这个端口也要放开)
permit udp any any eq bootpc
permit udp any any eq bootps
(如果客户端是通过DHCP自动获取IP地址,这两条都要放开)
(二)开放聊天、炒股等常用端口
为什么要开放这些端口,因为网管员对网络的使用做了限制,必然会受到下面用户的抵制,要想让这个限制措施执行下去,所以必须开放一部分网络应用,这就是兵法上讲的“围城必阙”(说包围一座城市,一定要留一个缺口,给对手留下一条活路。)。
permit tcp any any eq 8601
permit tcp any any eq 8002
permit udp any any eq 1057
(这三个端口是同花顺炒股软件的)
permit tcp any any eq 8005
permit tcp any any eq 8006
(这两个端口是中信万通炒股软件的)
permit tcp any any eq 2967
(2967是NORTON杀毒软件客户端与服务器通讯所使用的端口)
permit tcp any any eq 843
permit tcp any any eq 443
permit tcp any any eq 8080
remark 843 443 8080 is fetion
(这三个端口是飞信的)
permit tcp any any eq 1863
(1863是MSN所使用的端口)
permit tcp any any eq 3389
(3389是登陆远程桌面用的)
permit icmp any any
(当然要允许客户端的机器执行PING的操作了,要不然同事那边说上不去网,都无法在电话里面指导着他PING一下网关,大致的判断是哪儿出的故障)
permit tcp any any eq 1080
permit tcp any any eq 5188
(1080和5188是大智慧炒股软件)
permit tcp any any eq 2121
(2121是我们内网FTP服务所使用的端口号)
permit ip any host 172.19.96.202
(172.19.96.202是我们内网服务器的地址)
permit ip any host 192.168.201.3
permit udp any host 192.168.201.3 eq 61440
(我们单位使用的是城市热点的用户管理系统,用户上网时在浏览器中输入用户名和密码192.168.201.3是验证服务器的地址,udp 61440是城市热点客户端所用的端口号)
permit tcp any any eq 7001
permit tcp any any eq 2006
(这是财务部要使用的端口号)
(三)特定的主机不受限制
比如领导的以及确实由于业务的关系使用网络不受任何限制,在这个ACL中一条命令就可以搞定:
permit ip host 10.66.7.101 any
10.66.7.101就是BOSS所使用微机的IP地址。
二、某些不知道端口号的程序的开放方法
比如某些期货交易软件,出于安全方面的考虑,不会在网上公开所使用的端口号和交易服务器的地址,这样的程序要在ACL中放开对它的限制就比较困难,但是前几天也让我找到了解决的方法。即首先在CISCO3550交换机的18口上取消ACL的应用,这样8楼竖井的交换机下面的用户就可以使用期货交易系统了,先在一台微机上退出所有的运行的网络程序,执行一遍netstat –an,然后联上交易系统,再执行一遍netstat –an,对比两次显示的结果,就会发现在目标地址里多出了一个地址,这个地址就是交易服务器的地址,我们在ACL中允许内网所有的微机对这个地址的访问就OK,如下所示:
permit ip any host 58.*.*.26
(这是某期货交易软件的交易服务器的地址)
三、准确找出某个应用程序所用的端口号
有一些网络应用程序,比如聊天工具,会使用多个服务器,但是程序所用的端口号是相对固定的,比如昨天有一位同事在家里给我打来电话(家里面也是用的单位局域网),说是一个名叫YY的聊天程序不能使用,希望我帮助他处理一下,有了上一次的经验,我感觉比较有信心了,还是通过netstat –an来找到所需的信息,但是这次我加了一点小技巧,那就是通过管道命令将两次显示的结果分别记录到两个文件中,再通过FC命令比较这两个文件,即将准确的找到所需的信息,命令操作如下:
D:\>netstat -an >>1230.txt
D:\>netstat -an >>1230a.txt
D:\>fc 1230.txt 1230a.txt
正在比较文件 1230.txt 和 1230A.TXT
***** 1230.txt
TCP 10.65.158.16:3917 61.158.244.141:7081 TIME_WAIT
TCP 127.0.0.1:1032 0.0.0.0:0 LISTENING
***** 1230A.TXT
TCP 10.65.158.16:3917 61.158.244.141:7081 TIME_WAIT
TCP 10.65.158.16:3993 121.11.65.108:8081 ESTABLISHED
TCP 10.65.158.16:3997 115.236.2.74:7081 ESTABLISHED
通过比较就可以看到,在已经建立的进程中,目标地址主要有两个端口号,一个是7081,一个是8081,将这两个端口放开,
permit tcp any any eq 7081
permit tcp any any eq 7081
再应用ACL到指定的端口,还是可以继续使用YY这款软件,说明我们已经在ACL中放开了YY软件连接网络所使用的端口号。
其实,利用360安全卫士中的流量管理中的“网络连接”功能也能看出YY程序所使用的端口号,如图2所示:
▲图2 通过360安全卫士的网络连接功能查看程序所使用的端口号
但是不是每台机器都安装了360安全卫士这款软件,没有条件的时候就使用netstat –an命令,有条件的话,就两个方法结合着来,这样会更准确一点。