图解网络:访问控制列表 ACL,功能堪比防火墙!

本文涉及的产品
云防火墙,500元 1000GB
访问控制,不限时长
日志服务 SLS,月写入数据量 50GB 1个月
简介: ACL是一组允许或拒绝访问计算机网络的规则,网络设备,即路由器和交换机,将 ACL 语句应用于入站和出站网络流量,从而控制哪些流量可以通过网络。

你好,这里是网络技术联盟站。

在计算机网络世界中,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 规则

  1. ACL 规则按顺序匹配的,假如有多行,一定是从第一行开始,一直到最后一行。
  2. 每个 ACL 的末尾都有一个隐式拒绝,如果没有条件或规则匹配,则数据包将被丢弃。
  3. 一般会有出站和入站ACL,每个方向每个协议每个接口只能分配一个 ACL,即每个接口只允许一个入站和出站 ACL。
  4. 尽可能使用备注和日志提供有关 ACL 的详细信息,以便于后期排查问题和记忆。

ACL使用场景

ACL使用场景

一般情况下就是这三种情况:

NAT

在地址转换的时候,内外网安全性考虑,会设置大量的ACL去控制网络流量。

防火墙

这个就不用说了,防火墙干的事情就是ACL的规则。

QoS

这个一般在流策略中比较常见,控制不同网段的用户对流量的访问权。

一般来说,ACL使用场景逃不过这三种情况,即使有其他的情况,肯定也是可以用这三种情况去概况联想的。

总结

ACL是一组允许或拒绝访问计算机网络的规则,网络设备,即路由器和交换机,将 ACL 语句应用于入站和出站网络流量,从而控制哪些流量可以通过网络。

本文主要介绍了ACL的以下内容:

  • 什么是ACL?
  • ACL类型
  • ACL优点
  • 为什么使用ACL?
  • ACL的组成

    • ACL编号
    • ACL名称
    • 备注
    • ACL语句 ⭐
    • 网络协议
    • 源地址、目的地址
    • 日志
  • ACL的分类

    • 标准 ACL
    • 扩展 ACL
    • 动态 ACL
    • 自反 ACL
  • ACL 规则
  • ACL使用场景

    • NAT
    • 防火墙
    • QoS
  • 总结

感谢您的阅读,如果觉得文章对您有帮助,别忘了点赞👍、收藏⭐哦!有任何问题,欢迎在下方评论区与我讨论!!!

目录
相关文章
|
9天前
|
Apache 数据安全/隐私保护
HAProxy的高级配置选项-ACL篇之基于源地址访问控制案例
这篇文章介绍了HAProxy的ACL(访问控制列表)功能,特别是如何基于源地址进行访问控制的高级配置选项,并通过实战案例展示了如何配置ACL规则以允许或阻止特定IP地址或IP范围的访问。
33 7
HAProxy的高级配置选项-ACL篇之基于源地址访问控制案例
|
9天前
|
Apache 数据安全/隐私保护
HAProxy的高级配置选项-ACL篇之基于策略的访问控制
这篇文章介绍了HAProxy的高级配置选项,特别是如何使用ACL(访问控制列表)进行基于策略的访问控制,通过实战案例展示了如何配置HAProxy以允许或拒绝来自特定源地址的访问。
34 6
HAProxy的高级配置选项-ACL篇之基于策略的访问控制
|
8天前
|
网络协议 C语言
C语言 网络编程(十三)并发的TCP服务端-以进程完成功能
这段代码实现了一个基于TCP协议的多进程并发服务端和客户端程序。服务端通过创建子进程来处理多个客户端连接,解决了粘包问题,并支持不定长数据传输。客户端则循环发送数据并接收服务端回传的信息,同样处理了粘包问题。程序通过自定义的数据长度前缀确保了数据的完整性和准确性。
|
8天前
|
网络协议 C语言
C语言 网络编程(十四)并发的TCP服务端-以线程完成功能
这段代码实现了一个基于TCP协议的多线程服务器和客户端程序,服务器端通过为每个客户端创建独立的线程来处理并发请求,解决了粘包问题并支持不定长数据传输。服务器监听在IP地址`172.17.140.183`的`8080`端口上,接收客户端发来的数据,并将接收到的消息添加“-回传”后返回给客户端。客户端则可以循环输入并发送数据,同时接收服务器回传的信息。当输入“exit”时,客户端会结束与服务器的通信并关闭连接。
|
8天前
|
C语言
C语言 网络编程(八)并发的UDP服务端 以进程完成功能
这段代码展示了如何使用多进程处理 UDP 客户端和服务端通信。客户端通过发送登录请求与服务端建立连接,并与服务端新建的子进程进行数据交换。服务端则负责接收请求,验证登录信息,并创建子进程处理客户端的具体请求。子进程会创建一个新的套接字与客户端通信,实现数据收发功能。此方案有效利用了多进程的优势,提高了系统的并发处理能力。
|
8天前
|
C语言
C语言 网络编程(九)并发的UDP服务端 以线程完成功能
这是一个基于UDP协议的客户端和服务端程序,其中服务端采用多线程并发处理客户端请求。客户端通过UDP向服务端发送登录请求,并根据登录结果与服务端的新子线程进行后续交互。服务端在主线程中接收客户端请求并创建新线程处理登录验证及后续通信,子线程创建新的套接字并与客户端进行数据交换。该程序展示了如何利用线程和UDP实现简单的并发服务器架构。
|
12天前
|
安全 网络安全 开发者
探索Python中的装饰器:简化代码,增强功能网络安全与信息安全:从漏洞到防护
【8月更文挑战第30天】本文通过深入浅出的方式介绍了Python中装饰器的概念、用法和高级应用。我们将从基础的装饰器定义开始,逐步深入到如何利用装饰器来改进代码结构,最后探讨其在Web框架中的应用。适合有一定Python基础的开发者阅读,旨在帮助读者更好地理解并运用装饰器来优化他们的代码。
|
17天前
|
存储 网络协议 网络虚拟化
解锁未来网络新纪元!NFV基础知识大揭秘,让你的网络功能秒变“变形金刚”!
【8月更文挑战第25天】网络功能虚拟化(NFV)正引领网络架构的重大变革。NFV通过虚拟化技术将传统专有硬件上的网络功能转移到标准IT设备上,实现软硬件解耦,提升灵活性与成本效益。其关键技术架构包括NFV基础设施(NFVI)、虚拟网络功能(VNF)及管理编排模块。NFV不仅降低了成本和能耗,还加快了业务创新速度,并支持资源共享。目前,NFV已广泛应用于固定和移动网络中,提供用户接入控制等多种服务,未来将在网络发展中扮演更重要角色。
47 4
|
18天前
|
JavaScript 网络协议 API
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
|
11天前
|
Java Spring XML
掌握面向切面编程的秘密武器:Spring AOP 让你的代码优雅转身,横切关注点再也不是难题!
【8月更文挑战第31天】面向切面编程(AOP)通过切面封装横切关注点,如日志记录、事务管理等,使业务逻辑更清晰。Spring AOP提供强大工具,无需在业务代码中硬编码这些功能。本文将深入探讨Spring AOP的概念、工作原理及实际应用,展示如何通过基于注解的配置创建切面,优化代码结构并提高可维护性。通过示例说明如何定义切面类、通知方法及其应用时机,实现方法调用前后的日志记录,展示AOP在分离关注点和添加新功能方面的优势。
24 0