在计算机网络世界中,ACL是最基本的安全组件之一,是一种监视传入和传出流量并将其与一组定义的语句进行比较的功能。
ACL 主要存在于具有包过滤功能的网络设备中,包括路由器和交换机。
本文瑞哥将用图解的形式带大家揭开ACL的神秘面纱。
让我们直接开始!
什么是ACL?
- 英文全称:Access Control List
- 中文名称:访问控制列表
ACL是一个规则列表,用于指定允许或拒绝哪些用户或系统访问特定对象或系统资源,访问控制列表也安装在路由器或交换机中,它们充当过滤器,管理哪些流量可以访问网络。
ACL类型
ACL一般有两种类型:
ACL类型
- 文件系统ACL:一般是过滤对文件和/或目录的访问。
- 网络ACL:过滤对网络的访问,一般用于网络设备,比如路由器、交换机等。
本文会着重介绍网络ACL。
ACL优点
ACL优点非常多,比如:
- 通过限制网络流量帮助提高网络性能
- 通过定义权限和访问权限来提供安全性
- 对进入网络的流量提供精细控制
为什么使用ACL?
ACL 起到维护网络流量正常流动的作用,这种对网络流量的监管是维护组织或网络安全的主要方式,访问控制列表有助于限制似乎不适合组织安全的流量,从而最终实现更好的网络性能。
使用访问控制列表的主要原因是维护网络的安全并保护它免受易受攻击和危险的尝试,如果消息在未经过滤的情况下通过网络传输,则将组织置于危险之中的机会就会增加。
通过使用访问控制列表,为网络授予特定的安全级别,来规范所有那些被授权和未被授权由用户使用的服务器、网络和服务,此外,ACL 有助于监控进入和离开系统的所有数据。
ACL控制
如图,SW3和SW1由于ACL的控制,不允许访问,SW4到SW2允许访问。
ACL的组成
ACL 是一组规则或条目,每台设备可以设置一个包含单个或多个条目的 ACL,其中每个条目可以设置不同的规则,允许或拒绝某种流量。
一般ACL有以下部分:
ACL的组成
ACL编号
标识ACL条目的代码。
ACL名称
ACL 名称也可以用来标识 ACL 条目。
备注
可以为ACl添加注释或详细描述
ACL语句
就是写一些拒绝或者允许流量的语句,这个很重要,后面会详细讲。
网络协议
比如IP、TCP、UDP、IPX 等,可以根据这些网络协议编写规则。
源地址、目的地址
就是这些ACL规则针对的出入地址,比如你的电脑访问公司服务器,那么你的电脑就是源地址,公司的服务器就是目的地址。
源地址、目的地址
日志
传入和传出的流量可以用ACL日志功能去记录,用来统计或者排查网络问题。
ACL的分类
从大的方向讲ACL分为四大类:
ACL的分类
标准 ACL
这是安全性最弱的基本 ACL,只查看源地址。
以下是编号是5号的ACL,是标准 ACL,允许172.16.1.0/24的网络:
access-list 5 permit 172.16.1.0 0.0.0.255
扩展 ACL
更高级的 ACL,能够根据其协议信息阻止整个网络和流量。
以下是编号为150号的ACl,如果目标将 HTTP 端口 80 作为主机端口,允许从172.16.1.0/24网络到任何IPv4网络的所有流量:
access-list 200 permit tcp 172.16.1.0 0.0.0.255 any eq www
动态 ACL
更安全的 ACL,它利用身份验证、扩展 ACL 和 Telnet,只允许用户在经过身份验证过程后访问网络。
自反 ACL
将会话过滤功能添加到其他 ACL 类型的数据包过滤功能中,也被称为IP 会话 ACL,使用上层会话详细信息来过滤流量。
自反 ACL 不能直接应用于接口,通常嵌套在扩展的命名访问列表中,不支持在会话期间更改端口号的应用程序,例如 FTP 客户端。
ACL 规则
- ACL 规则按顺序匹配的,假如有多行,一定是从第一行开始,一直到最后一行。
- 每个 ACL 的末尾都有一个隐式拒绝,如果没有条件或规则匹配,则数据包将被丢弃。
- 一般会有出站和入站ACL,每个方向每个协议每个接口只能分配一个 ACL,即每个接口只允许一个入站和出站 ACL。
- 尽可能使用备注和日志提供有关 ACL 的详细信息,以便于后期排查问题和记忆。
ACL使用场景
ACL使用场景
一般情况下就是这三种情况:
NAT
在地址转换的时候,内外网安全性考虑,会设置大量的ACL去控制网络流量。
防火墙
这个就不用说了,防火墙干的事情就是ACL的规则。
QoS
这个一般在流策略中比较常见,控制不同网段的用户对流量的访问权。
一般来说,ACL使用场景逃不过这三种情况,即使有其他的情况,肯定也是可以用这三种情况去概况联想的。
总结
ACL是一组允许或拒绝访问计算机网络的规则,网络设备,即路由器和交换机,将 ACL 语句应用于入站和出站网络流量,从而控制哪些流量可以通过网络。