Files
NE_YuR/8_acl/acl.md
2025-10-23 16:59:51 +08:00

7.7 KiB
Raw Blame History

什么是ACL如何使用ACL? - 华为

什么是ACL

访问控制列表ACLAccess Control List是由一条或多条规则组成的集合。所谓规则是指描述报文匹配条件的判断语句这些条件可以是报文的源地址、目的地址、端口号等。 ACL本质上是一种报文过滤器规则是过滤器的滤芯。设备基于这些规则进行报文匹配可以过滤出特定的报文并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。

为什么使用ACL

ACL作为一个过滤器设备通过应用ACL来阻止和允许特定流量的流入和流出如果没有它任何流量都会自由流入和流出使得网络容易受到攻击。 如下图所示为保证财务数据安全企业在路由设备上应用ACL可以阻止内网内部研发部门主机对财务服务器的访问同时允许总裁办公室访问财务服务器。为了保护企业内网的安全在路由设备上应用ACL可以封堵网络病毒常用的端口防止Internet上的恶意流量入侵。 img

ACL可以做什么

借助ACL可以实现以下功能

  • 提供安全访问企业重要服务器资源被随意访问企业机密信息容易泄露造成安全隐患。使用ACL可以指定用户访问特定的服务器、网络与服务从而避免随意访问的情况。
  • 防止网络攻击Internet病毒肆意侵略企业内网内网环境的安全性堪忧。使用ACL可以封堵高危端口从而达成为外网流量的阻塞。
  • 提高网络带宽利用率网络带宽被各类业务随意挤占服务质量要求最高的语音、视频业务的带宽得不到保障造成用户体验差。使用ACL实现对网络流量的精确识别和控制限制部分网络流量从而保障主要业务的质量。

ACL的组成

ACL的每一条规则都会允许或者阻止特定的流量在定义一条合理的ACL规则之前需要了解其基本组成。

  • ACL标识使用数字或者名称来标识ACL。
    • 使用数字标识ACL不同的类型的ACL使用不同的数字进行标识。关于每类ACL编号的详细介绍请参见 ACL的分类。
    • 使用名称标识ACL可以使用字符来标识ACL就像用域名代替IP地址一样更加方便记忆。
  • 规则:即描述匹配条件的判断语句。
    • 规则编号用于标识ACL规则所有规则均按照规则编号从小到大进行排序。
    • 动作包括permit/deny两种动作表示设备对所匹配的数据包接受或者丢弃。
    • 匹配项ACL定义了极其丰富的匹配项。包括生效时间段、IP协议 ICMP、TCP、UDP等、源/目的地址以及相应的端口号21、23、80等

ACL的分类

随着ACL技术的发展其种类越来越丰富根据其不同的规则和使用场景常用的可分为以下几类

基本ACL

基本ACL规则只包含源IP地址对设备的CPU消耗较少可用于简单的部署但是使用场景有限不能提供强大的安全保障。

高级ACL

相较于基本ACL高级ACL提供更高的扩展性可以对流量进行更精细的匹配。通过配置高级ACL可以阻止特定主机或者整个网段的源或者目标。除此之外还可以使用协议信息IP、 ICMP、TCP、UDP去过滤相应的流量。

二层ACL

在公司的内部网络中想对特定的终端进行访问权限控制这时就需要二层ACL。使用二层ACL可以根据源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息对流量进行管控。

用户ACL

由于企业内部同部门的工作人员的终端不在同一个网段难以管理需要将其纳入一个用户组并对其用户组进行访问权限管理这时候就需要用户ACL。用户ACL在高级ACL的基础上增加了用户组的配置项可以实现对不同用户组的流量管控。

如何使用ACL

使用步骤

ACL的使用分为两个步骤

  1. 设置相应的ACL规则。 为ACL设置相关规则的时候需要了解入口流量与出口流量如下图所示入口流量指的是进入设备以路由器为例接口的流量无论来源是外部Internet还是内部网络同理出口流量指的是从设备接口流出的流量。

img

入口流量与出口流量

当外部Internet访问内部网络时通过路由器接口2的入口流量其源IP地址为外部的公网IP而当内部网络需要访问外部网络时通过路由器的接口1的入口流量其源IP地址则为内网的IP。

  1. 将ACL应用在相应的设备接口的特定方向in/out上。 规则设置完成后需要将ACL应用在设备的接口上才能正常工作。因为所有的路由和转发决策都是由设备的硬件做出的所以ACL语句可以更快地执行。

匹配机制

设备使用ACL的匹配机制如下图所示。

img

ACL的匹配机制

ACL规则的匹配遵循”一旦命中即停止匹配”的机制。当ACL处理数据包时一旦数据包与某条ACL规则匹配就会停止匹配设备根据该条匹配的语句内容决定允许或者拒绝该数据包。如果数据包内容与ACL语句不匹配那么将依次使用ACL列表中的下一条语句去匹配数据包直到列表的末尾。一般在ACL的列表末尾会有一条隐式的拒绝所有的语句所以数据包与所有的规则都不匹配的情况下会被直接拒绝。此时设备不会将此数据包流入或流出接口而是直接将其丢弃。

ACL的应用场景

在NAT中使用ACL

通过NAT的端口映射可使得外网访问内部网络。考虑到内部的网络安全不可能允许所有的外部用户访问内部网络这时可以设置ACL规则并应用在企业路由器上使得特定的外网用户可以访问内部网络。

img

在NAT中使用ACL

如上图所示,当公网主机想建立与内网主机的通信时,其发向内部网络主机的流量经过 NAT 设备时设备利用ACL对流量进行过滤阻断了PC4对PC2的访问同时允许PC3对PC1的访问。

在防火墙中使用ACL

防火墙用在内外网络边缘处防止外部网络对内部网络的入侵也可以用来保护网络内部大型服务器和重要的资源如数据。由于ACL直接在设备的转发硬件中配置在防火墙中配置ACL在保护网络安全的同时不会影响服务器的性能。

img

在防火墙中使用ACL

如上图所示在防火墙上配置ACL只允许外部特定主机PC A访问内部网络中的数据中心并禁止其他外部主机的访问。

在QoS中使用ACL限制用户互访

ACL应用在QoS的流策略中可以实现不同网段用户之间访问权限的限制从而避免用户之间随意访问形成安全隐患。

img

使用ACL限制不同网段用户的互访

如上图所示某公司为财务部和市场部规划了两个网段的IP地址。为了避免两个部门之间相互访问造成公司机密的泄露可以在两个部门连接Router的接口的入方向上应用绑定了ACL的流策略从而禁止两个部门的互访。