什么是ACL访问控制列表

作者:发布时间:2015-01-25浏览:

路由器根据路由表转发数据,只要存在路由,路由器可以把任何数据转发到任意目的地。但有时需要对数据进行控制,比如出于目的需要过滤那些对进行恶意攻击的数据包。Internet是一个开放的网络平台,如何确保数据在这个开放的平台上的安全,越来越成为人们关注的焦点。访问控制列表(Access Control ACL)就是能够在路由器上检查并过滤数据包的技术之一。

ACL概述

随着计算机网络应用范围的扩大,如何控制使用Internet的权限成了网络管理员面临的新问题。例如,怎样识别合法用户;怎样拒绝非法用户的访问等。访问控制列表是一个控制网络数据的有力工具,它可以设定不同的条件,灵活地过滤数据流,在不妨碍合法通信的同时阻止非法或不必要的数据,保护网络资源。

访问控制列表的用途非常广泛,例如:

●出于安全目的,使用访问控制列表检查和过滤数据包;

●对数据流进行限制以提高网络的性能;

●限制或减少路由更新的内容;

●按照优先级或用户队列识别数据包;

●定义经由隧道(VPN)传输的数据;

●定义地址翻译的条件。

访问控制列表由一组有序的条件语句构成,每个条件语句中的关键词Permit(允许)或Deny(禁止)决定了匹配该条件语句的数据是被允许还是被禁止通过路由器的接口。条件中的匹配参数可以是上层协议、源或目的地址、端口号及其他一些选项。访问控制列表应用在接口上,对通过该接口的数据包进行检查和过滤。

【提醒】

访问控制列表不检查使用该列表的路由器自身产生的数据包。

访问控制列表对进入路由器的数据(称为In方向)和从路由器发出的数据(称为Out方向)分别进行控制。如果只禁止某种数据从某个接口进入,那么这种数据仍然可以从该接口发送到网络上。

访问控制列表是基于协议生成并生效的。每种协议集都有自己的访问控制列表,它们可以共存于同一台路由器上运行,分别对各自协议的数据包进行检查过滤。如今Internet只使用单一的IP协议集。

访问控制列表的条件参数都在IP包中(见图1),协议号和IP地址(源地址和目的地地址)都在IP包头部分,端口号在IP包的数据部分,也就是第4层的包头部分。

路由器检查每一个通过应用访问控制列表接口的IP包,将IP包中的参数和访问控制列表中的条件参数进行比较,如果这两个参数相同,就意味着该IP包匹配了条件。根据条件语句中的关键词,路由器对IP包进行相应的处理——允许或禁止数据包从接口进或者出。

 

图1 IP包头结构

扩展推荐