网络层访问权限控制技术 ACL详解(四)
基于时间的ACL
在保证了服务器的数据安全性后,领导又准备对内部员工上网进行控制。要求在上班时间内(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)这三个端口上。这个需求如下表所示:
|
应用
|
协议
|
源地址
|
源端口
|
目的地址
|
目的端口
|
操作
|
|
IE
|
TCP
|
10.1/16
|
所有
|
所有
|
80
|
限制访问
|
|
IE
|
TCP
|
10.1/16
|
所有
|
所有
|
443
|
限制访问
|
|
MSN
|
TCP
|
10.1/16
|
所有
|
所有
|
1863
|
限制访问
|
|
QQ
|
TCP
|
10.1/16
|
所有
|
所有
|
8000
|
限制访问
|
|
QQ
|
UDP
|
10.1/16
|
所有
|
所有
|
8000
|
限制访问
|
|
QQ
|
UDP
|
10.1/16
|
所有
|
所有
|
4000
|
限制访问
|
|
HTTP代理
|
TCP
|
10.1/16
|
所有
|
所有
|
8080
|
限制访问
|
|
HTTP代理
|
TCP
|
10.1/16
|
所有
|
所有
|
3128
|
限制访问
|
|
Socks
|
TCP
|
10.1/16
|
所有
|
所有
|
1080
|
限制访问
|
|
All other
|
IP
|
10.1/16
|
N/A
|
所有
|
N/A
|
允许访问
|
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%\system32\drivers\etc\services
Linux:/etc/services
对于在services文件中找不到端口的应用,可以在运行程序的前后,运行netstat –ap来找出应用所使用的端口号。
0
相关文章