访问控制是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和访问,是保证网络安全最重要的核心策略之一。访问控制涉及的技术也比较广,包括入网访问控制、网络权限控制、目录级控制以及属性控制等多种手段。访问控制列表(Access Control List,ACL)是应用在设备或者VLAN接口的指令列表,这些指令列表用来告诉设备哪些数据包可以接收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。
Access⁃list(访问列表)最基本的有两种,分别是标准访问列表和扩展访问列表,二者的区别主要是前者是基于目标地址的数据包过滤,而后者是基于目标地址、源地址和网络协议及其端口的数据包过滤。
1.标准IP访问控制列表
标准IP访问控制列表匹配IP包中的源地址或源地址中的一部分,对匹配的包采取拒绝或允许操作。标准型IP访问列表的配置格式如下:access⁃list[list number][permit|deny][source address][wildcard mask][log]。
标准型IP访问列表键字和参数,在access⁃list命令后面的list number的范围在0~99之间,这表明该access⁃list是一个普通的标准型IP访问列表语句。在0~99之间的数字指示出该访问列表和IP有关,所以list number参数具有双重功能:定义访问列表的操作协议;允许/拒绝数据包通过,使用permit语句可以使得和访问列表项目匹配的数据包通过接口,而de⁃ny语句可以在接口过滤掉和访问列表项目不匹配的数据包。source address代表主机的IP地址,利用不同通配符掩码的组合可以指定主机。通配符掩码是子网掩码的补充,一般情况先确定子网掩码,然后把它转换成可应用的通配符掩码。如果指定一个特定的主机,那么通配符掩码为0.0.0.0。访问列表中,除了使用上述的通配符掩码0.0.0.0来指定特定的主机外,还可以使用“host”这一关键字。
标准型IP访问列表的参数“log”具有日志的作用。一旦访问列表作用于某个接口,那么包括关键字“log”的语句将记录那些满足访问列表中“permit”和“deny”条件的数据包。第一个通过接口并且和访问列表语句匹配的数据包将立即产生一个日志信息,后续的数据包根据记录日志的方式,或者在控制台上显示日志,或者在内存中记录日志。通过Cisco IOS的控制台命令可以选择记录日志的方式。
2.扩展型IP访问列表
扩展型IP访问列表在数据包的过滤方面增加了不少功能和灵活性。除了可以基于源地址和目标地址进行过滤外,还可以根据协议、源端口和目的端口进行过滤,甚至可以利用各种选项进行过滤,这些选项能够对数据包中某些域的信息进行读取和比较。扩展型IP访问列表的通用格式如下:access⁃list[list number][permit|deny][protocol|protocol key word][source address source⁃wildcard mask][source port][destination address destination⁃wildcard mask][destination port][log options]。
和标准型IP访问列表类似,“list number”为访问列表的类型。数字100~199用于确定100个唯一的扩展型IP访问列表。protocol确定需要过滤的协议,其中包括IP、TCP、UDP和ICMP等。应用数据通常有一个在传输层增加的前缀,它可以是TCP或UDP的头部,这样就增加了一个指示应用的端口标志。当数据流入协议栈之后,网络层再加上一个包含地址信息的IP的头部。由于IP头部传送TCP、UDP、路由协议和ICMP,所以在访问列表的语句中,IP比其他协议更为重要。但在有些应用中,可能需要改变这种情况,就需要基于某个非IP进行过滤,如可以阻止TCP的流量访问,但允许其他协议的流量访问。(www.xing528.com)
在实际应用当中,还会经常出现反向访问列表和时间访问控制列表。反向控制列表是在一定特殊环境中,让一个子网或者部门访问其他的网络,但不允许其他的部门访问本网络,也常称为单向访问;时间访问控制列表就是针对时间进行控制,如一个部门在某一段时间能访问一些特定的资源,其他时间不允许访问这些资源。
访问列表的“in”和“out”,不管在哪个端口使用,就在哪个端口下使用“ip access⁃group x in/out”进行配置。所谓“in”,就是在数据包进入接口之前与访问表进行对照,如果是“out”,数据可以先进入路由器,然后在出路由器时检查访问列表,默认是“in”。Cisco的访问列表中,最后默认为“deny any”,所以一般都要在列表最后一项加“access⁃list xxx per⁃mit ip any any”。从IOS 12.0开始,Cisco路由器新增加了一种基于时间的访问列表。通过它,可以根据一天中的不同时间,或者根据一星期中的不同日期,或者二者结合起来,控制对网络数据包的转发。
当端口配置为“in”时,可以判断源地址是VLAN内的地址,配置为“out”时,可以判断源地址是非本VLAN内的地址。
【实现过程】
1)用access⁃list命令配置标准访问列表,如配置“VLAN 100”就只容许来自192.168.0.13这个IP地址的数据包传输出去,而来自其他IP地址的数据包都无法通过“VLAN 100”传输。
2)利用access⁃list命令配置扩展访问列表。如设置“ACL 108”,允许源地址为任意IP,目的地址为192.168.0.13主机的80端口即WWW服务。
3)利用access⁃list和time⁃range配置基于时间的访问列表。例如,202.111.170.0子网在工作时间不能进行Web浏览,即从2009年12月1日1点到2009年12月31日晚24点这一个月的时间内,只有在周六早7点到周日晚10点才可以通过公司的网络访问Internet,可以通过基于时间的访问控制列表来实现这样的功能。
注意:在默认情况下,除非明确规定允许通过,否则访问列表总是阻止或拒绝一切数据包的通过,即在每个访问列表的最后,都隐含有一条“deny any”语句。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。