访问控制列表ACL讲解——想偷偷访问数据,我ACL可不同意

news2024/10/6 18:29:34

作者:Insist--

个人主页:insist--个人主页

梦想从未散场,传奇永不落幕,博主会持续更新优质网络知识、Python知识、Linux知识以及各种小技巧,愿你我共同在CSDN进步

目录

一、ACL的基本概念

1. ACL是什么

2. 为什么需要ACL

3. ACL的原理

二、ACL的组成

三、ACL的类型

1. 标准ACL

2. 扩展ACL

3. 命名ACL

四、ACL的检查条件

五、ACL的匹配顺序

六、ACL的应用方向


📋前言

随着网络的不断发展,网络安全与Qos(网络服务质量)的问题也越发重要,本文的ACL就是与其相关的一种技术。在本文会讲解ACL的基本概念,组成,类型,检查条件,匹配顺序,应用方向。

一、ACL的基本概念

1. ACL是什么

ACL(访问控制列表)是Access Control List的简写。我们可以将ACL理解成一种网络过滤器,ACL可以通过定义一些规则来控制网络的流量,这些规则定义了网络设备(例如:路由器、交换机)应该如何处理流量(哪个需要接收,哪个需要拒绝)。

2. 为什么需要ACL

376796f86bdb4ee999a1b0ad8f8b050e.jpg

ACL可以过滤数据流、增加安全性、保护内部网络,在一些情况下,出于对安全的考虑,不希望全网互通,如上图:网工需要禁止研发部门访问财务部服务器,但总裁办公室能正常访问,这就需要一种技术来实现,这种技术就是ACL。

3. ACL的原理

它的原理就是使用包过滤技术,在路由器上读取网络层和传输层包头中的信息比如:源地址、目的地址等),根据预先设定的规则,对包进行过滤。从而达到访问控制的目的。

二、ACL的组成

97959d46e43e4b1a9fbd9336c0f22e76.png

  • ACL编号:在网络设备上配置ACL时,每个ACL都需要分配一个编号,ACL编号用来标识ACL。
  • 规则:一个ACL通常由若干条“permit/deny”语句组成,每条语句就是该ACL的一条规则。
  • 规则编号:每条规则都有一个相应的编号,用来标识ACL中的规则。可以自定义,也可以系统自动分配(上面给出的访问控制列表号)。
  • 动作:每条规则中的permit或deny,就是这条规则的处理动作。其中,permit是允许,deny是拒绝,结合其他技术使用,处理动作的含义也有所不同。
  • 匹配项:在ACL定义了极其丰富的匹配项,比如说:源地址等等

三、ACL的类型

ACL可以根据其应用和功能分为三种类型,分别是:标准ACL、扩展ACL、命名ACL。

1. 标准ACL

标准ACL主要基于源IP地址来允许或拒绝数据包通过,标准ACL通常用于对网络设备的基本访问控制例如:防止未经授权的设备访问内部网络资源)标准ACL的规则较少,只能进行简单的过滤,因此适用于小型网络环境。

访问控制列标号:1~99

2. 扩展ACL

与标准ACL相比,扩展ACL可以基于源IP、目的IP、指定协议、端口、标志来允许或拒绝数据包通过,这让扩展ACL可以更准确地控制网络流量(例如:根据特定的应用程序或协议类型来允许或拒绝流量)同时扩展ACL的配置与管理比标准ACL更复杂,扩展ACL功能较为全面,所以应用十分广泛。

访问控制列表号:100~199

3. 命名ACL

命名ACL是一种特殊的ACL,允许在标准ACL和扩展ACL中使用名称代替表号(自定义名称)。这让ACL的配置和管理更加的方便和灵活。

四、ACL的检查条件

ACL依靠规则对数据包执行检查,而这些规则通过检查数据包中的指定字段来允许或拒绝数据包的流量。ACL通过五个元素来执行检查,这些元素位于IP头部和传输层头部中,它们分别是源IP地址、目标IP地址、协议、源端口及目标端口。

  • 源IP地址:根据源IP地址判断是否允许数据包通过。
  • 目标IP地址:根据目标IP地址判断是否允许数据包通过。
  • 源端口:根据源端口判断是否允许数据包通过。
  • 目标端口:根据目标端口判断是否允许数据包通过。
  • 协议:根据协议类型判断是否允许数据包通过。

五、ACL的匹配顺序

如果对接口应用了ACL,也就是说该接口应用了一组规则,那么路由器会应用这组规则对数据包进行顺序检查

  • 如果匹配第一条规则,则不再往下检查,路由器将决定该数据包允许通过或拒绝通过。
  • 如果不匹配第一条规则,则依次往下检查,直到有任何一条规则匹配,路由器将决定该数据包允许通过或拒绝通过。j
  • 如果后没有任何一条规则匹配,则路由器根据默认的规则将丢弃该数据包。

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

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

db6b4cac67a343519dd37b5bdd84533b.jpg

六、ACL的应用方向

ACL是一组规则的集合,它应用在路由器的某个接口上。对于路由器接口而言,ACL有以下两个方向。

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

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

一旦确定ACL的应用方向,ACL只对该方向的数据包执行检查,对反方向的数据包不做任何处理。如下图:

0a7cfb851b5646579a8d7a21b6c6cd22.png

ACL应用在R2的F0/0出方向,那么该ACL只检查R1→R3方向上的经过R2的F0/0接口的流量。所以如果在R1上执行到R3的ping命令,则去R3的ping包要接受ACL的检查.而回包不受影响。

注意:ACL要想执行检查,必须应用到接口。一个ACL可以配置多条规则,但是一个接口或一个方向只能应用一个ACL。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1092183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jenkins+Gitlab+Docker(Dockerfile)部署

Docker部署运行 ​ 上一篇内容中使用Jenkins(运行服务器)Gitlab(代码存储库)Webhook(网络钩子)的方式部署运行我们的项目。需要我们在服务器上做好很多相关的环境配置及依赖。 ​ 那么假如有这样一个场景:需要把不同技术栈的项目部署到同一台服务器上运行。比如PH…

DocCMS keyword SQL注入

漏洞描述 DocCMS keyword参数存在 SQL注入漏洞,攻击者通过漏洞可以获取数据库信息 漏洞复现 访问url: 漏洞证明: 文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。 免责声明:由于传播或利…

400电话的技术实现要点

摘要:本文将介绍400电话的技术实现要点。首先,我们将讨论400电话的基本原理和技术架构。然后,我们将深入探讨400电话的关键技术,包括呼叫路由、语音导航、呼叫转接等。最后,我们将讨论如何保障400电话的稳定性和安全性…

JUnit5 【最实用最简洁】

JUnit5 文章目录 JUnit5一、JUnit 的相关技术二、参数化三、给测试用例指定顺序四、断言五、测试套件 安装依赖:在Maven库中安装 为什么学了 Selenium 还要学 JUnit? 1、JUnit5 是单元测试框架,拿着一个技术写自动化测试用例(Sele…

云上攻防-云原生篇Docker安全系统内核版本漏洞CDK自动利用容器逃逸

文章目录 云原生-Docker安全-容器逃逸&内核漏洞云原生-Docker安全-容器逃逸&版本漏洞-CVE-2019-5736 runC容器逃逸-CVE-2020-15257 containerd逃逸 云原生-Docker安全-容器逃逸&CDK自动化 云原生-Docker安全-容器逃逸&内核漏洞 细节部分在权限提升章节会详解&…

【肌电信号】OpenSignals使用方法 --- 肌电信号采集及导入matlab

一、 多通道采集教学 1. 数据线连接 将PLUX设备通过USB或蓝牙与电脑连接,注意确认在几号通道接线。 2.实时数据采集可视化 进行设置。需要在软件中选择你的PLUX设备,并配置相关的参数,如采样率、分辨率、信号类型等 3 支持数据回放和…

zabbix监控实战2

4、zabbix添加监控项 nginx监控 在server上安装nginx 添加模板 浏览图形 mysql监控 zabbix自带mysql模板,所以可以在server1上直接做 创建数据库连接用户 percona数据库模板 清理掉mysql的模块链接 安装并配置好percona的数据库模板 测试脚本 删除tmp下的缓存文…

短链接系统如何设计

shigen坚持日更的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。坚持记录和分享从业两年以来的技术积累和思考,不断沉淀和成长。 今天给大家带来的文章是:《短链接系统如何设计》。在开始之前,先让…

SpringBoot讲义

SpringBoot 文档更新日志 版本更新日期操作描述v1.02021/11/14A基础篇 前言 ​ 很荣幸有机会能以这样的形式和互联网上的各位小伙伴一起学习交流技术课程,这次给大家带来的是Spring家族中比较重要的一门技术课程——SpringBoot。一句话介绍这个技术,…

【基于Kmeans、Kmeans++和二分K均值算法的图像分割】数据挖掘实验三

文章目录 Ⅰ、项目任务要求任务描述:主要任务要求: II、实现过程数据集描述实现描述具体实现过程 III、完整代码代码①代码② Ⅰ、项目任务要求 任务描述: 图像分割是图像处理和计算机视觉中重要的一环,在实际生活中得到了广泛的…

【C++】:关键字+命名空间+输入输出+缺省参数+函数重载+引用

【本节目标】 C关键字命名空间C输入&输出缺省参数函数重载引用 C是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式等 熟悉C语言之后,对C学习有一定的帮助,本章节主要目标&#xff…

2023年天猫淘宝双11红包活动入口是什么时候开始至什么时间结束?

​2023年淘宝天猫双11超级红包活动领取时间是从2023年10月24日20:00开始至11月11日23:59结束,淘宝天猫双十一活动时间内每天都可以领取1超级红包最高可得23888元。 2023年天猫淘宝双十一红包使用时间分为2个阶段:第一阶段是从2023年10月31日20:00开始至…

计算机指令、机器码

目录 背景 在软硬件接口中,CPU 帮我们做了什么事? 从编译到汇编,代码怎么变成机器码? 解析指令和机器码 总结延伸 背景 上大学的时候,我们系里教 C 语言程序设计的老师说,他们当年学写程序的时候&…

3.Python-用Python实现MySQL数据库的增删改查

题记 用python实现mysql数据库的增删改查,以下是具体的代码和操作步骤 安装flask模块 pip install flask 安装mysql.connector模块 pip install mysql-connector-python 编写app.py文件 app.py文件如下: 为什么显示不完整??&am…

【Spring】事务传播机制

事务传播机制 一. 事务传播机制是什么二. 为什么需要事务传播机制三. 事务传播机制有哪些四. Spring 事务传播机制演示1. ⽀持当前事务(REQUIRED)2. 不支持当前事务(REQUIRES_NEW)3. 不⽀持当前事务,NEVER 抛异常4. NE…

订单型企业经营分析指标大全(ODOO15/16)

ODOO-ERP搭建完成之后,我们重点是帮客户建立经营分析能力,以下是针对订单型企业的经营分析指标,涵盖业务运营的监控、资产构成、利润、盈亏点计算、资产运营效率等各方面,并且持续完善。 有些企业不重视,觉得自己企业小…

WebAPI+EF连接SQL Server数据库

右击解决方案-添加-新建项目-选择“类库(.NET Framework)”,新建的项目取名叫WebApi1.EF 添加EF: 新建一个ADO实体数据模型 选择DBFirst 数据源选择MySql 填写数据库地址及账号密码 选择实体框架版本 选择在数据库中的表User 到此配置完成&am…

对称加密和非对称加密以及CA证书

对称加密 对称加密只用到了公匙,这个公匙是消息的发送方和消息的接收方共享的,也就是消息发送方使用这个公匙对消息加密,然后接收方使用公匙对消息解密,最典型的例子比如像 encrypt 加密,比如我们有个 springboot 应用,需要对 application.yml 文件里的密码做加密,我们…

操作系统备考学习 day8 (2.4.1 ~ 2.4.4)

操作系统备考学习 day8 第二章 进程与线程2.4 死锁2.4.1 死锁的基本概念死锁产生的必要条件死锁什么时候会发生死锁的处理策略 2.4.2 死锁预防破坏互斥条件破坏不剥夺条件破坏请求和保持条件破坏循环等待条件 2.4.3 避免死锁银行家算法 2.4.4 死锁的检测和解除死锁的检测死锁的…

faster python之ctypes调用so/dll

目录 .so和.dll文件将go代码编译为动态链接库将C代码编译成动态链接库 ctypes库基础数据类型使用方法基本数据类型数组类型指针类型结构体类型嵌套结构体结构体数组结构体指针结构体指针数组 ctypes加载DLL的方式1. 使用 CDLL 类2. 使用 WinDLL 类(Windows特定&…