分类: 网络与安全
2005-09-01 23:23:31
在保证了服务器的数据安全性后,领导又准备对内部员工上网进行控制。要求在上班时间内(9:00-18:00)禁止内部员工浏览internet,禁止使用QQ、MSN。而且在2003年6月1号到2号的所有时间内都不允许进行上述操作。但在任何时间都可以允许以其它方式访问Internet。天哪,这可叫人怎么活呀,但领导既然这样安排,也只好按指示做了。 首先,让我们来分析一下这个需求,浏览internet现在基本上都是使用http或https进行访问,标准端口是TCP/80端口和TCP/443,MSN使用TCP/1863端口,QQ登录会使用到TCP/UDP8000这两个端口,还有可能使用到udp/4000进行通讯。而且这些软件都能支持代理服务器,目前的代理服务器主要布署在TCP 8080、TCP 3128(HTTP代理)和TCP1080(socks)这三个端口上。这个需求如下表所示:
然后,让我们看看ACL应该在哪个位置配置比较好呢?由于是对访问Internet进行控制,涉及到的是公司内部所有的网段,这们这次把ACL就放到公司的Internet出口处。在RTA上进行如下的配置,就能够满足领导的要求了: time-range TR1 absolute start 00:00 1 June 2003 end 00:00 3 June 2003 periodic weekdays start 9:00 18:00 exit ip access-list extend internet_limit deny tcp 10.1.0.0 0.0.255.255 any eq 80 time-range TR1 deny tcp 10.1.0.0 0.0.255.255 any eq 443 time-range TR1 deny tcp 10.1.0.0 0.0.255.255 any eq 1863 time-range TR1 deny tcp 10.1.0.0 0.0.255.255 any eq 8000 time-range TR1 deny udp 10.1.0.0 0.0.255.255 any eq 8000 time-range TR1 deny udp 10.1.0.0 0.0.255.255 any eq 4000 time-range TR1 deny tcp 10.1.0.0 0.0.255.255 any eq 3128 time-range TR1 deny tcp 10.1.0.0 0.0.255.255 any eq 8080 time-range TR1 deny tcp 10.1.0.0 0.0.255.255 any eq 1080 time-range TR1 permit ip any any int s0/0 ip access-group internet_limit out 或int fa0/0 ip access-group internet_limit in 或者将ACL配置在SWA上,并 int vlan 3 ip access-group internet_limit out 呵呵,现在让我们来看看在基于时间的访问列表中都有哪些新内容吧: time-range TR1:定义一个新的时间范围,其中的TR1是为该时间范围取的一个名字。 absolute:为绝对时间。只使用一次。可以定义为1993-2035年内的任意一个时点。具体的用法请使用?命令查看。 Periodic:为周期性重复使用的时间范围的定义。完整格式为periodic 日期关键字 开始时间 结束时间。其中日期关键字的定义如下所示: Monday 星期一 Tuesday 星期二 Wednesday 星期三 Thursday 星期四 Friday 星期五 Saturday 星期六 Sunday 星期天 daily 每天 weekdays 周一至五 weekend 周末 access-list 101 deny ip 10.1.0.0 0.0.255.255 any time-range TR1:注意这一句最后的time-range TR1,使这条ACL语句与time-range TR1相关联,表明这条语句在time-range TR1所定义的时间范围内才起作用。 注意:给出三种配置位置是帮助大家深刻理解关于in/out的区别的。acl是对从一个接上流入(in)或流出(out)路由器的包进行过滤的。 网管发问了,“你是怎么找到这些应用的所使用的端口的?”。呵呵,在如下文件中可以找到大多数应用的端口的定义: Win9x:%windir%services WinNT/2000/XP:%windir%system32driversetcservices Linux:/etc/services 对于在services文件中找不到端口的应用,可以在运行程序的前后,运行netstat –ap来找出应用所使用的端口号。 |