ACL控制的配置方法及实例

2014-04-29 19:32张玲丽
电子世界 2014年21期
关键词:访问控制

【摘要】访问控制列表ACL有多种,不同场合应用不同种类的ACL。本文以实际场景为例,为实现不同的网络连接目的,而做的相应的配置,并分析了各种配置的适用范围和优劣。这些 ACL 技术从简到繁、从网络层到应用层,为网络的边界安全提供了灵活的解决方案。

【关键词】ACL;访问控制;路由器配置

Abstract:There are many types of access control lists(ACL).Different kinds of ACL were suitable for different occasions.According to the different purpose of network connection,the corresponding configurations were completed.Also,this text analyzed the applicable range and advantages and disadvantages of various kinds of configuration.The ACL technology from simple to complex,during the network layer to application layer,provided a flexible solution for the boundary of the network security.

Key words:ACL;Access control;The router configuration

1.ACL控制技术概述

当今社会,网络已经如同空气、水等一样对我们人类的生活非常重要。网络安全、网络管理就了所有用户都关心的问题,如何通过硬件设备来方便有效的管理网络是每个网络管理员必须掌握的技能,而ACL访问控制技术就是一种简单而又行之有效的方法。访问控制列表简称为ACL,访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,源端口,目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。由于ACL涉及的配置命令很灵活,功能也很强大,在做具体的配置前,我们需要了解ACL设置的原则。原则可概括如下:①最小特权原则,即只给受控对象完成任务所必须的最小的权限,也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的;②最靠近受控对象原则,也就是说在检查规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句;③默认丢弃原则,在Cisco路由交换设备中默认最后一句为ACL中加入了deny any any,也就是丢弃所有不符合条件的数据包。这一点要特别注意,虽然可以修改这个默认,但未改前一定要引起重视。

2.标准 ACL控制

访问控制列表ACL分很多种,不同场合应用不同种类的ACL。其中最简单的就是标准访问控制列表,他是通过使用IP包中的源IP地址进行过滤,使用的访问控制列表号1到99来创建相应的ACL。

为了方便说明配置目的和配置过程,网络背景描述如下:假设某公司分为处于异地的总部和分部,总经理在总部负责办公,且总部有一Web服务器,分部有一Ftp服务器,以及许多的员工PC机,其公司的网络连接示意图如图1所示。

标准访问控制列表是最简单的ACL,具体格式如下:access-list ACL号 permit/deny host ip地址 。如现今要求禁止172.16.0.0/16网段中除总经理的172.16.0.2这台计算机之外的所有计算机均不得访问192.168.0.0/24的计算机,只需要在分部的路由器上做如下配置。

Router1(config)#access-list 1 permit host 172.16.0.2

Router1(config)#access-list 1 deny any

由于Cisco默认添加了DENY ANY的语句在每个ACL中,所以上面的access-list 1 deny any这句命令可以省略。另外在路由器连接网络不多的情况下也可以在E0端口使用ip access-group 1 out命令来宣告,宣告结果和上面最后两句命令效果一样。

此处小结一下:标准ACL占用路由器资源很少,是一种最基本最简单的访问控制列表格式。应用比较广泛,经常在要求控制级别较低的情况下使用。如果要更加复杂的控制数据包的传输就需要使用扩展访问控制列表了,他可以满足我们到端口级的要求。

3.扩展 ACL控制

标准访问控制列表是基于IP地址进行过滤的,是最简单的ACL。那么如果希望将过滤细到端口怎么办呢?或者希望对数据包的目的地址进行过滤。这时候就需要使用扩展访问控制列表了。使用扩展IP访问列表可以有效的容许用户访问物理LAN而并不容许他使用某个特定服务(例如Web,Ftp等)。扩展访问控制列表使用的ACL号为100到199。

扩展访问控制列表是一种高级的ACL,配置命令的具体格式如下:access-list ACL号 [permit deny][协议][定义过滤源主机范围]

[定义过滤源端口][定义过滤目的主机访问]

[定义过滤目的端口]。例如,现要求禁止分部的计算机访问总部的计算机,包括那台服务器,不过惟独可以访问172.16.0.254上的WWW服务,而其他服务不能访问。

可在总部的路由器上做如下配置。

Router2(config) #access-list 101 permit

tcp any 172.16.0.254 0.0.255.255 eq www

Router2(config)int fa1/0

Router2(config-if)#ip access-group 101 out

扩展ACL有一个最大的好处就是可以保护服务器,例如很多服务器为了更好的提供服务都是暴露在公网上的,这时为了保证服务正常提供所有端口都对外界开放,很容易招来黑客和病毒的攻击,通过扩展ACL可以将除了服务端口以外的其他端口都封锁掉,降低了被攻击的机率。

扩展ACL功能很强大,他可以控制源IP、目的IP、源端口、目的端口等,能实现相当精细的控制,扩展ACL不仅读取IP包头的源地址/目的地址,还要读取第四层包头中的源端口和目的端口的IP。不过他存在一个缺点,那就是在没有硬件ACL加速的情况下,扩展ACL会消耗大量的路由器CPU资源。所以当使用中低档路由器时应尽量减少扩展ACL的条目数,将其简化为标准ACL或将多条扩展ACL合一是最有效的方法。

4.高级ACL控制的应用

4.1 基于名称的访问控制列表

不管是标准访问控制列表还是扩展访问控制列表都有一个弊端,那就是当设置好ACL的规则后发现其中的某条有问题,希望进行修改或删除的话只能将全部ACL信息都删除。也就是说修改一条或删除一条都会影响到整个ACL列表。这一个缺点会带来繁重的负担,不过可以用基于名称的访问控制列表来解决这个问题。基于名称的访问控制列表的格式:ip access-list[standard extended][ACL名称],如果设置ACL的规则比较多的话,应该使用基于名称的访问控制列表进行管理,这样可以减轻很多后期维护的工作,方便我们随时进行调整ACL规则。

4.2 反向访问控制列表

使用访问控制列表除了合理管理网络访问以外还有一个更重要的方面,那就是防范病毒,我们可以将平时常见病毒传播使用的端口进行过滤,将使用这些端口的数据包丢弃。这样就可以有效的防范病毒的攻击。不过即使再科学的访问控制列表规则也可能会因为未知病毒的传播而无效,毕竟未知病毒使用的端口是我们无法估计的,而且随着防范病毒数量的增多会造成访问控制列表规则过多,在一定程度上影响了网络访问的速度。这时我们可以使用反向控制列表来解决以上的问题。

反向访问控制列表属于ACL的一种高级应用。他可以有效的防范病毒。通过配置反向ACL可以保证AB两个网段的计算机互相PING,A可以PING通B而B不能PING通A。说得通俗些的话就是传输数据可以分为两个过程,首先是源主机向目的主机发送连接请求和数据,然后是目的主机在双方建立好连接后发送数据给源主机。反向ACL控制的就是上面提到的连接请求。

反向访问控制列表格式非常简单,只要在配置好的扩展访问列表最后加上established即可。

如图1所示的网络结构中,路由器连接了二个网段,分别为172.16.0.0/16,192.168.0.0/24,为了使172.16.0.0/16网段中的计算机免受来自192.168.0.0/24这个网段的病毒攻击,做如下配置。

Router1(config)#access-list 101 permit tcp 192.168.0.0 0.0.0.255 172.16.0.0 0.0.255.255 established

//定义ACL101,容许所有来自172.16.3.0网段的计算机访问172.16.4.0网段中的计算机,前提是TCP连接已经建立了的。当TCP连接没有建立的话是不容许172.16.3.0访问172.16.4.0的。

Router1(config)#int fa0/0

Router1(config)# ip access-group 101 out //将ACL101宣告出去

设置完毕后病毒就不会轻易的从192.168.0.0/24传播到172.16.0.0/16的服务器区了。因为病毒要想传播都是主动进行TCP连接的,由于路由器上采用反向ACL禁止了192.168.0.0/24网段的TCP主动连接,因此病毒无法顺利传播。

检验反向ACL是否顺利配置的一个简单方法就是拿172.16.0.0/16里的一台计算机PING在192.168.0.0/24中的计算机,如果可以PING通的话再用172.16.0.0/16那台计算机PING 172.16.0.0/16的服务器,PING不通则说明ACL配置成功。

通过上文配置的反向ACL会出现一个问题,那就是192.168.0.0/24的计算机不能访问服务器的服务了,假如图中172.16.0.254提供了WWW服务的话也不能正常访问。解决的方法是在ESTABLISHED那句前头再添加一个扩展ACL规则,例如:access-list 101 permit tcp 192.168.0.0 0.0.0.255 172.16.0.0 0.0.255.255 eq www。

这样根据“最靠近受控对象原则”即在检查ACL规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句。192.168.0.0/24的计算机就可以正常访问该服务器的WWW服务了,而下面的ESTABLISHED防病毒命令还可以正常生效。

还有基于时间和流量等的控制列表就不在这里一一举例了。

5.思考与小结

ACL技术是Cisco IOS防火墙的重要组成部分,其基于包过滤的基本网络安全策略,能够实现防火墙的基本功能,在一定程度上提高了网络的安全性。只有对所处网络环境有深入的了解,如要明确有哪些应用、使用哪些端口、访问哪些地址等,这样才能作出最合理、完善的ACL控制规则,满足用户的需要。

参考文献

[1]潘文婵.通过访问控制列表分析网络病毒入侵和恶意攻击[J].信息网络安全,2010(4):59-60.

[2]陈勇兵.路由器访问控制列表应用与实践[J].实验技术与管理,2010,27(3):92-93.

[3]李清平.路由器和三层交换机联合实现扩展ACL[J].计算机与数字工程,2010,38(5):170-174.

[4]王芳,韩国栋.路由器访问控制列表及其实现技术研究[J].计算机工程与设计,2007,28(23):5638-5639.

[5]刘建伟,张卫东.网络安全实验教程[M].北京:清华大学出版社,2007.

基金项目:武汉职业技术学院校级课题“基于IBX1000的局域网VoIP的设计与实践(项目编号:2013LX049)”。

作者简介:张玲丽(1980—),女,湖北武汉人,硕士研究生,武汉职业技术学院电信学院讲师,主要研究方向:通信技术。

猜你喜欢
访问控制
一种跨策略域的林业资源访问控制模型设计
内外网隔离中ACL技术的运用
云计算访问控制技术研究综述
ONVIF的全新主张:一致性及最访问控制的Profile A
利用IP访问控制流量
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
基于岗位映射的应急组织间跨域访问控制研究
从操作系统层面谈信息安全与自主访问控制