ACL(Access Control Lists,缩写ACL),存取控制列表。ACL是一套与文件相关的用户、组和模式项,此文件为所有可能的用户 ID 或组 ID 组合指定了权限。
ACL的作用
限制网络流量提高网络性能
通过设定端口上、下行流量的带宽,ACL可以定制多种应用的带宽管理,避免因为带宽资源的浪费而影响网络的整体性能。如果能够根据带宽大小来制定收费标准,那么运营商就可以根据客户申请的带宽,通过启用ACL方式限定访问者的上、下行带宽,实现更好的管理,充分利用现有的网络资源,保证网络的使用性能。
有效的通信流量控制手段
ACL 可以限定或简化路由选择更新信息的长度,用来限制通过路由器的某一网段的流量。
提供网络访问的基本安全手段
ACL 允许某一主机访问一个网络,阻止另一主机访问同样的网络,这种功能可以有效防止未经授权用户的非法接入。如果在边缘接入层启用二、三层网络访问的基本安全策略,ACL能够将用户的MAC、IP地址、端口号与交换机的端口进行绑定,有效防止其他用户访问同样的网络。
在交换机(路由器)接口处,ACL决定哪种类型的通信流量被转发或被拒绝。根据数据包的协议(IP、IPX等),ACL指定某种类型的数据包具有更高的优先级,在同等情况下优先被交换机(路由器)处理。这种功能保证交换机(路由器)丢弃不必要的数据包,通过不同的队列来有效限制网络流量,减少网络拥塞。
在网络中,ACL不但可以让网管员用来制定网络策略,对个别用户或特定数据流进行控制;也可以用来加强网络的安全屏蔽作用。从简单的Ping of Death***、TCP Syn***,到更多样化更复杂的******,ACL都可以起到一定的屏蔽作用。如果从边缘、二层到三层交换机都具备支持标准ACL及扩展ACL的能力,网络设备就可以将安全屏蔽及策略执行能力延伸到网络的边缘。
ACL规则
网络中经常提到的acl规则是Cisco IOS所提供的一种访问控制 技术。
初期仅在路由器上支持,近些年来已经扩展到三层交换机,部分最新的二层交换机如2950之类也开始提供ACL的支持。只不过支持的特性不是那么完善而已。在其它厂商的路由器或多层交换机上也提供类似的 技术,不过名称和配置方式都可能有细微的差别。本文所有的配置实例均基于Cisco IOS的ACL进行编写。
基本原理:ACL使用包过滤 技术,在路由器上读取第三层及第四层包头中的信息如源地址、目的地址、源端口、目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。
功能:网络中的节点有资源节点和用户节点两大类,其中资源节点提供服务或数据,用户节点访问资源节点所提供的服务与数据。ACL的主要功能就是一方面保护资源节点,阻止非法用户对资源节点的访问,另一方面限制特定的用户节点所能具备的访问权限。
访问控制列表使用原则:
1、最小特权原则
只给受控对象完成任务所必须的最小的权限。也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的。
2、最靠近受控对象原则
所有的网络层访问权限控制。也就是说在检查规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句。
3、默认丢弃原则
在CISCO路由交换设备中默认最后一句为ACL中加入了DENY ANY ANY,也就是丢弃所有不符合条件的数据包。这一点要特别注意,虽然我们可以修改这个默认,但未改前一定要引起重视。
局限性:由于ACL是使用包过滤技术来实现的,过滤的依据又仅仅只是第三层和第四层包头中的部分信息,这种 技术具有一些固有的局限性,如无法识别到具体的人,无法识别到应用内部的权限级别等。因此,要达到end to end的权限控制目的,需要和系统级及应用级的访问权限控制结合使用。
访问控制列表包括:
标准访问列表
扩展访问控制列表
基于名称的访问控制列表
反向访问控制列表
访问控制列表流量记录