您的位置:首页 > 其它

基于时间的访问控制列表

2009-03-14 17:35 309 查看
基于时间的访问控制列表的格式:
  
  基于时间的访问控制列表由两部分组成,第一部分是定义时间段,第二部分是用扩展访问控制列表定义规则。这里我们主要讲解下定义时间段,具体格式如下:
  
  time-range  时间段名称
  absolute start [小时:分钟] [日 月 年] [end] [小时:分钟] [日 月 年]
  
  例如:time-range softer
  absolute start 0:00 1 may 2005 end 12:00 1 june 2005
  
  意思是定义了一个时间段,名称为softer,并且设置了这个时间段的起始时间为2005年5月1日零点,结束时间为2005年6月1日中午12点。我们通过这个时间段和扩展ACL的规则结合就可以指定出针对自己公司时间段开放的基于时间的访问控制列表了。当然我们也可以定义工作日和周末,具体要使用periodic命令。
我们知道,CISCO路由器中的access-list(访问列表)最基本的有两种,分别是标准访问列表和扩展访问列表,二者的区别主要是前者是基于目标地址的数据包过滤,而后者是基于目标地址、源地址和网络协议及其端口的数据包过滤。随着网络的发展和用户要求的变化,从IOS12.0开始,CISCO路由器新增加了一种基于时间的访问列表。通过它,可以根据一天中的不同时间,或者根据一星期中的不同日期,当然也可以二者结合起来,控制对网络数据包的转发。
  一、使用方法
  这种基于时间的访问列表就是在原来的标准访问列表和扩展访问列表中加入有效的时间范围来更合理有效的控制网络。它需要先定义一个时间范围,然后在原来的各种访问列表的基础上应用它。并且,对于编号访问表和名称访问表都适用。
  二、使用规则
  用time-range 命令来指定时间范围的名称,然后用absolute命令或者一个或多个 periodic命令来具体定义时间范围。
  IOS命令格式为:
  time-range time-range-name absolute [start time date] [end time date] periodic days-of-the week hh:mm to [days-of-the week] hh:mm
  我们分别来介绍下每个命令和参数的详细情况
  time-range : 用来定义时间范围的命令
  time-range-name:时间范围名称,用来标识时间范围,以便于在后面的访问列表中引用
  absolute: 该命令用来指定绝对时间范围。它后面紧跟这start和 end两个关键字。在这两个关键字后面的时间要以24小时制、hh:mm(小时:分钟)表示,日期要按照日/月/年来表示。可以看到,他们两个可以都省略。如果省略start及其后面的时间,那表示与之相联系的permit 或deny语句立即生效,并一直作用到end处的时间为止;若省略如果省略end及其后面的时间,那表示与之相联系的permit 或deny语句在start处表示的时间开始生效,并且永远发生作用,当然把访问列表删除了的话就不会起作用了。
  怎么样,看明白了吗?上面讲的就是命令和基本参数为了便于理解,我们看两个例子。
  1、如果要表示每天的早8点到晚8点就可以用这样的语句:
  absolute start 8:00 end 20:00
  2、再如,我们要使一个访问列表从2000年12月1日早5点开始起作用,直到2000年12月31日晚24点停止作用,语句如下:
  absolute start 5:00 1 December 2000 end 24:00 31 December 2000
  这样一来,我们就可以用这种基于时间的访问列表来实现,而不用半夜跑到办公室去删除那个访问列表了。这对于网络管理员来说,是个很好的事情。如果你恰好是网管。。哇。。。什么也不要讲了,快回去好好配置吧:)。好了接下来,让我们接着看下一个periodic命令及其参数。一个时间范围只能有一个absolute语句,但是可以有几个periodic语句。
  periodic:主要是以星期为参数来定义时间范围的一个命令。它的参数主要有宾Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday中的一个或者几个的组合,也可以是daily(每天)、 weekday(周一到周五)或者 weekend(周末)。
  我们还是看几个具体的例子。比如表示每周一到周五的早9点到晚10点半,就可以用periodic weekday 9:00 to 22:30;每周一早7点到周二的晚8点就可以用periodic Monday to Tuesday 20:00。好了,我们已经把这个时间范围如何定义弄清楚了,下面让我们看看如何在实际情况下应用这种基于时间的访问列表。(看仔细记清楚哦)
  三、应用实例
例1



在如上图所示的网络中,路由器有两个以太网接口E0和E1,分别连接着202.111.170.0和202.222.100.0两个子网络,其中202.111.170.50和202.222.100.100分别是WEB服务器1和WEB服务器2。还有一个串口S1,连入Internet。为了让202.111.170.0子网公司员工在工作时间不能进行WEB浏览,从2000年12月1日1点到2000年12月31日晚24点这一个月中,只有在周六早7点到周日晚10点才可以通过公司的网络访问Internet(只有周末才可以访问哦。这样就不用担心某些人上班时间偷着聊天咯)。我们来做如下的基于时间的访问控制列表来实现这样的功能:
  Router# config t
  Router(config)# interface ethernet 0
  Router(config-if)#ip access-group 101 in
  Router(config-if)#time-range http
  Router(config-if)#absolute start 1:00 1 December 2000 end 24:00 31
  December 2000 periodic Saturday 7:00 to Sunday 22:00
  Router(config-if)#ip access-list 101 permit tcp any any eq 80 http
  我们是在一个扩展访问列表的基础上再加上时间控制就达到了目的。因为是要控制WEB访问的协议,所以必须要用扩展列表,也就是说,编号要在100-199之间。这些关于访问列表的基础知识,请参考其他关于Cisco或者CCNA的基础文档。我们定义了这个时间范围名称是http,这样,我们就在列表中的最后一句方便的引用了。有了以上的详细讲解,这个很好看懂了。我们再看下面一个例子。
  
  例2:网络结构同上例,现在假设我们的访问要求变了,服务器WEB2(IP:202.222.100.100)上放着的是新年贺岁版的公司主页,我们希望在2001年12月31日24:00点前,Internet的用户访问的是服务器WEB1(IP:202.111.170.50)上的主页内容,而不能访问WEB2上的内容。在此之后的新年里,访问的是新年版主页而不能访问旧版本的主页。那么,我们利用带有时间控制的访问列表来自动实现这个功能,而不用网络管理员再到新年半夜来手动删除(安心在家看春节联欢晚会吧^&^)。列表内容如下:
  
  Router# config t
  Router(config)#interface serial 0
  Router(config-if)#ip access-group web in
  Router(config-if)#
  time-range changewebabsolute end 24:00 31 December 2000
  Router(config-if)#ip access-list extended web
  permit tcp any host 202.111.170.50 eq 80 changeweb
  deny tcp any host 202.222.100.100 eq 80 changeweb
  permit tcp any host 202.222.100.100 eq 80
  好了,我们分析下这个访问控制列表。第一句是进入端口控制模式。第二句是应用名称访问列表web,并且是用在Serial 0 的入口方向,就是数据流入路由器的时候做协议控制分析。第三句,定义一个时间范围名称是changeweb。第四句是定义扩展名称访问列表web。第五、六句是表示在新年前,只能允许访问WEB1。第七句是允许所有到WEB2的web访问。这样第七句不是在没有时间限制的情况下全部允许了WEB2的访问吗?那我们的目的是如何实现的呢?不要忘记,路由器中访问控制列表的每个表项的顺序是很重要的,它是从上到下执行的,这样,在新年之前,也就是第五、六句起左右的时候,访问WEB2的要求已经被禁止了,所以,第七句就没有用了,而在新年之后呢,第五、六句失效了,第七句才发挥它的作用。允许所有对WEB2的访问请求,那么,新年之后,还能访问WEB1服务器吗?当然不能,因为我们第七句只允许访问WEB2,隐含的意思就是,其余的全部禁止。
  看到这儿,你不是觉的您的想法都被CISCO路由器实现了? 合理有效的利用基于时间的访问控制列表,可以更有效更安全更方便的保护我们的内部网络。这样你的网络才会更安全,网络管理员也会更轻松!

基于时间的访问控制列表配置实例
配置实例:
  
  要想使基于时间的ACL生效需要我们配置两方面的命令:
  
  1、定义时间段及时间范围。
  2、ACL自身的配置,即将详细的规则添加到ACL中。
  3、宣告ACL,将设置好的ACL添加到相应的端口中。
  
  网络环境介绍:



我们采用如图所示的网络结构。路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24。在172.16.4.0/24网段中有一台服务器提供FTP服务,IP地址为172.16.4.13。
  
  配置任务:只容许172.16.3.0网段的用户在周末访问172.16.4.13上的FTP资源,工作时间不能下载该FTP资源。
  
  路由器配置命令:
  
  time-range softer  定义时间段名称为softer
  
  periodic weekend 00:00 to 23:59  定义具体时间范围,为每周周末(6,日)的0点到23点59分。当然可以使用periodic weekdays定义工作日或跟星期几定义具体的周几。
  
  access-list 101 deny tcp any 172.16.4.13 0.0.0.0 eq ftp time-range softer  设置ACL,禁止在时间段softer范围内访问172.16.4.13的FTP服务。
  
  access-list 101 permit ip any any  设置ACL,容许其他时间段和其他条件下的正常访问。
  
  int e 1  进入E1端口。
  
  ip access-group 101 out  宣告ACL101。
  
  基于时间的ACL比较适合于时间段的管理,通过上面的设置172.16.3.0的用户就只能在周末访问服务器提供的FTP资源了,平时无法访问。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: