访问控制列表ACL的配置与应用

本文涉及的产品
访问控制,不限时长
简介:

   访问控制列表(Access Control List,ACL)是应用在路由器接口的指令列表(即规则)。这些指令列表用来告诉路由器,哪些数据包可以接收,哪些数据包需要拒绝。其基本原理如下:ACL使用包过滤技术,在路由器上读取OSI七层模型的第三层及第四层包头中的信息,如源地址、目的地址、源端口、目的端口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的。

   ACL通过在路由器接口处控制数据包的转发还是丢弃,从而过滤通信流量。路由器根据ACL中指定的条件来检测通过路由器的数据包,从而决定是转发还是丢弃数据包。


ACL的类型

   ACL可分为以下三种类型:

标准ACL:检查数据包的源地址。其结果基于源网络/子网/主机IP地址,来决定允许还是拒绝转发数据包。它使用1-99之间的数字作为表号。

扩展ACL:对数据包的源地址与目标地址均进行检查。它也能检查特定的协议、端口号以及其他参数。它使用100-199之间的数字作为表号。

命名ACL:命名访问控制列表允许在标准和扩展访问控制列表中使用名称代替表号。具有灵活性,可以单独添加、删除单条ACL语句,而不必删除整个ACL。


ACL的工作原理

   ACL是一组规则的集合,它应用在路由器的某个接口上。对路由器接口而言,访问控制列表有两个方向:

出:已经过路由器的处理,正离开路由器接口的数据包。

入:已到达路由器接口的数据包,将被路由器处理。

   如果对接口应用了访问控制列表,也就是说该接口应用了一组规则,那么路由器将对数据包应用该组规则进行顺序检查。

(1)如果匹配第1条规则,则不再往下检查,路由器将决定该数据包允许通过或拒绝通过。

(2)如果不匹配第1条规则,则依次往下检查,直到有任何一条规则匹配,路由器将决定该数据包允许通过或拒绝通过。

(3)如果最后没有任何一条规则匹配,则路由器根据默认的规则将丢弃该数据包。

   由此可见,数据包要么被允许,要么被拒绝。

   wKioL1mcIdHRNaCYAAC3MjwoV4Q927.png

   根据以上的检查规则可知,在ACL中,各规则的放置顺序是很重要的。一旦找到了某一匹配规则,就结束比较过程,不再检查以后的其他规则。




标准ACL的配置

1. 创建ACL

创建标准ACL的命令语法如下:

 Router(config)# access-list access-list-number {permit | deny} source [source-wildcard] 
 
 access-list-number:访问控制列表表号,对于标准ACL来说,该表号是1-99中的一个数字
 permit|deny:如果满足测试条件,则允许/拒绝该通信流量
 source:数据包的源地址,可以是主机地址,也可以是网络地址。
 source-wildcard:通配符掩码,也叫做反码。在用二进制0和1表示时,如果某位为1,表明这一位不需要进行匹配操作,如果为0,则表明这一位需要严格匹配

例如:允许来自网络192.168.1.0/24和主机192.168.2.2的流量通过,标准ACL命令如下

  Router(config)# access-list 1 permit 192.168.1.0  0.0.0.255   
  Router(config)# access-list 1 permit 192.168.2.2  0.0.0.0

   192.168.1.0/24的子网掩码是255.255.255.0,那么其反码可以通过255.255.255.255减去255.2553.255.0得到0.0.0.255。

   同样,主机192.168.2.2的子网掩码是255.255.255.255,那么其反码可以通过255.255.255.255减去255.255.255.255得到0.0.0.0。


(1)隐含的拒绝语句

  每一个ACL都有一条隐含的拒绝语句,拒绝所有流量,语句如下:

  Router(config)# access-list 1 deny 0.0.0.0 255.255.255.255    

(2)关键字host、any

  在上面的例子中,192.168.2.2 0.0.0.0可以用“host 192.168.2.2”来表示,相应的ACL可改写为:

  Router(config)# access-list 1 permit host 192.168.1.2         

  0.0.0.0 255.255.255.255可以使用关键字“any”来表示,相应的ACL可改写为:

  Router(config)# access-list 1 deny any                        

(3)删除已建立的标准ACL

删除语法如下:

  Router(config)# no access-list access-list-number             

  对标准ACL来说,不能删除单条ACL语句,只能删除整个ACL。这意味着如果要改变一条或几条ACL语句,必须先删除整个ACL,然后再输入所要的ACL语句。


2. 将ACL应用于接口

  创建ACL后,只有将ACL应用于接口,ACL才会生效。命令语法如下

 Router(config-if)# ip access-group access-list-number {in| out}

参数in|out:用来指示该ACL是应用到入站接口(in),还是出站接口(out)。

  要在接口上取消ACL的应用,可以使用如下命令: 

 Router(config-if)# no ip access-group access-list-number {in| out}

注意:每个方向上只能有一个ACL,也就是每个接口最多只能有两个ACL:一个入方向ACL,一个出方向ACL。


3. 标准ACL的配置实例

  如图所示,要求配置标准ACL实现:禁止PC2访问PC1,而允许其他所有流量

  wKiom1mcLGChx_cqAAC9F-kyMoY962.png

  配置步骤如下:

(1)分析在哪个接口应用标准ACL

  标准ACL既可以应用在入站接口,也可以应用在出站接口,二者有何不同呢?

  路由器对进入的数据包先检查入访问控制列表,对允许传输的数据包才查询路由表,而对于外出的数据包先查询路由表,确定目标接口后才查看出访问控制列表。因此应该尽量把访问控制列表应用到入站接口,因为它比应用到出站接口效率更高:将要丢弃的数据包早路由器进行路由表查询出路之前就拒绝掉。

(2)配置全网互通(略)

(3)配置标准ACL并应用到接口上。

 Router(config)# access-list 1 deny host 192.168.2.2  
 Router(config)# access-list 1 permit any             
 Router(config)# int f0/0                   
 Router(config-if)# ip access-group 1 in



(4)查看并验证配置

  使用show access-list命令查看ACL配置

  Router# show access-lists   

验证配置

  PC2不能ping通主机PC1,但PC3可以ping通主机PC1



扩展ACL的配置

1. 创建ACL

 创建扩展ACL的命令语法如下:

 Router(config)# access-list access-list-number {permit|deny} protocol {source source-wildcard destination destination-wildcard} [operator operan]
 
 accessi-list-number:ACL表号,对于扩展ACL来说,是100-199的一个数字
 protocol:用来指定协议,如IP、TCP、UDP、ICMP等
 source、destination:源、目的,分别用来标识源地址、目的地址
 source-wildcard、destination-wildcard:反码、目的反码
 operator operan:lt(小于)、gt(大于)、eq(等于)、neq(不等于)一个端口

案例1:允许网络192.168.1.0/24访问网络192.168.2.0/24的IP流量通过,而拒绝其它任何流量

Router(config)# access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
Router(config)# access-list 1.0 deny ip any any

案例2:拒绝网络192.168.1.0/24访问FTP服务器192.168.2.2/24的IP流量通过,而允许其他任何流量

Router(config)# access-list 102 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21
Router(config)# access-list 102 permit ip any any

案例3:禁止网络192.168.1.0/24中的主机ping通服务器192.168.2.2/24,而允许其他任何流量

Router(config)# access-list 103 deny icmp 192.168.1.0 0.0.0.255 host 192.168.2.2 echo
Router(config)# access-list 103 permit ip any any

  

2. 将ACL应用于接口

  与标准ACL一样,只有将ACL应用于接口,ACL才生效。配置命令与标准ACL一样(略)


注意:扩展ACL和标准ACL一样,也不能删除单条ACL语句,只能删除整个ACL



3. 扩展ACL的配置实例

  如图所示,要求配置扩展ACL实现:允许PC1访问Web服务器的WWW服务,而禁止主机PC1访问WWW服务器其他任何服务;允许主机PC1访问网络192.168.2.0/24

wKiom1mczfnjnYI1AACqebcHVzU715.png

  配置步骤如下:

(1)分析在哪个接口应用扩展ACL

 与标准ACL一样,应尽量把ACL应用到入口










本文转自 杨书凡 51CTO博客,原文链接:http://blog.51cto.com/yangshufan/1958558,如需转载请自行联系原作者
相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
目录
相关文章
|
1月前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
205 7
|
1月前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。ACL 可应用于路由器、防火墙等设备,通过设定规则控制访问。其类型包括标准、扩展、基于时间和基于用户的ACL,广泛用于企业网络和互联网安全中,以增强安全性、实现精细管理和灵活调整。然而,ACL 也存在管理复杂和可能影响性能的局限性。未来,ACL 将趋向智能化和自动化,与其他安全技术结合,提供更全面的安全保障。
96 4
|
1月前
|
网络协议 安全 网络性能优化
了解访问控制列表 (ACL):概念、类型与应用
了解访问控制列表 (ACL):概念、类型与应用
65 2
|
1月前
|
网络虚拟化 数据安全/隐私保护 数据中心
对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令
本文对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令,帮助网络工程师更好地理解和使用这两个品牌的产品。通过详细对比,展示了两者的相似之处和差异,强调了持续学习的重要性。
56 2
|
2月前
|
网络协议 网络虚拟化 数据安全/隐私保护
访问控制列表(ACL)配置
访问控制列表(ACL)配置
访问控制列表(ACL)配置
|
2月前
|
网络协议 安全 网络安全
Cisco-命名ACL访问控制列表
Cisco-命名ACL访问控制列表
|
2月前
|
安全 网络协议 网络安全
Cisco-扩展ACL访问控制列表
Cisco-扩展ACL访问控制列表
|
2月前
|
安全 网络安全 数据安全/隐私保护
Cisco-标准ACL访问控制列表
Cisco-标准ACL访问控制列表
ly~
|
3月前
|
消息中间件 搜索推荐 大数据
一般情况下在 RocketMQ 中添加 access key 的步骤: 一、确定配置文件位置 RocketMQ 的配置文件通常位于安装目录下的 conf 文件夹中。你需要找到 broker.conf 或相关的配置文件。 二、编辑配置文件 打开配置文件,查找与 ACL(访问控制列表)相关的配置部分。 在配置文件中添加以下内容:
大数据广泛应用于商业、金融、医疗和政府等多个领域。在商业上,它支持精准营销、客户细分及流失预测,并优化供应链管理;金融领域则利用大数据进行风险评估、市场预测及欺诈检测;医疗行业通过大数据预测疾病、提供个性化治疗;政府运用大数据进行城市规划和公共安全管理;工业领域则借助大数据进行设备维护、故障预测及质量控制。
ly~
190 2
|
7月前
|
安全 网络安全 数据安全/隐私保护
【专栏】IT 知识百科:访问控制列表(ACL)是网络安全的关键机制,用于定义和管理网络资源的访问权限
【4月更文挑战第28天】访问控制列表(ACL)是网络安全的关键机制,用于定义和管理网络资源的访问权限。ACL工作原理包括定义规则、匹配规则和执行操作。标准ACL基于源IP过滤,扩展ACL则提供更多筛选条件。时间及用户基础的ACL提供更细化的控制。优点在于增强安全性和精细管理,但管理复杂性和性能影响也是挑战。未来,ACL将趋向智能化和自动化,与更多安全技术结合,以提升网络安全。**
435 0