使用基本ACL限制FTP访问权限示例

news2025/1/9 2:06:21

 ACL简介

定义

访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。

ACL本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。

ACL配置完成后,必须应用在业务模块中才能生效,其中最基本的ACL应用,就是在简化流策略/流策略中应用ACL,使设备能够基于全局、VLAN或接口下发ACL,实现对转发报文的过滤。此外,ACL还可以应用在Telnet、FTP、路由等模块。业务模块之间的ACL默认处理动作和处理机制有所不同,具体请参见ACL应用模块的ACL默认动作和处理机制。

目的

ACL可以实现对网络中报文流的精确识别和控制,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。

图1是一个典型的ACL应用组网场景。

图1 ACL典型应用场景

某企业为保证财务数据安全,禁止研发部门访问财务服务器,但总裁办公室不受限制。实现方式:在Interface 1的入方向上部署ACL,禁止研发部门访问财务服务器的报文通过。Interface 2上无需部署ACL,总裁办公室访问财务服务器的报文默认允许通过。

保护企业内网环境安全,防止Internet病毒入侵。实现方式:在Interface 3的入方向上部署ACL,防止病毒通过该接口入侵。

 

ACL的基本原理

ACL由一系列规则组成,通过将报文与ACL规则进行匹配,设备可以过滤出特定的报文。设备支持软件ACL和硬件ACL两种实现方式。

ACL的组成

一条ACL的结构组成,如图1所示。

图1 ACL的结构组成

  • ACL名称:通过名称来标识ACL,就像用域名代替IP地址一样,更加方便记忆。这种ACL,称为命名型ACL。

    命名型ACL一旦创建成功,便不允许用户再修改其名称。

    仅基本ACL与基本ACL6,以及高级ACL与高级ACL6,可以使用相同的ACL名称;其他类型ACL之间,不能使用相同的ACL名称。

    命名型ACL实际上是“名字+数字”的形式,可以在定义命名型ACL时同时指定ACL编号。如果不指定编号,则由系统自动分配,设备为其分配的编号是该类型ACL可用编号中取值范围内的最大值。

  • ACL编号:用于标识ACL,也可以单独使用ACL编号,表明该ACL是数字型。

    不同的ACL类型使用不同的ACL编号取值标识。

  • 规则:即描述报文匹配条件的判断语句。

    • 规则编号:用于标识ACL规则。可以自行配置规则编号,也可以由系统自动分配。

      ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序。系统按照规则编号从小到大的顺序,将规则依次与报文匹配,一旦匹配上一条规则即停止匹配。

    • 动作:报文处理动作,包括permit/deny两种,表示允许/拒绝。

    • 匹配项:ACL定义了极其丰富的匹配项。除了图1中的源地址和生效时间段,ACL还支持很多其他规则匹配项。例如,二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型),三层报文信息(如目的IP地址、协议类型),以及四层报文信息(如TCP/UDP端口号)等。关于每种匹配项的详细介绍,请参见交换机支持的ACL及常用匹配项。

ACL的实现方式

目前设备支持的ACL,有以下两种实现方式。

  • 软件ACL:针对与本机交互的报文(必须上送CPU处理的报文),由软件实现来过滤报文的ACL,比如FTP、TFTP、Telnet、SNMP、HTTP、路由协议、组播协议中引用的ACL。

  • 硬件ACL:针对所有报文,通过下发ACL资源到硬件来过滤报文的ACL,比如流策略、基于ACL的简化流策略、用户组以及为接口收到的报文添加外层Tag功能中引用的ACL。

两者主要区别在于:

  • 过滤的报文类型不同:软件ACL用来过滤与本机交互的报文,硬件ACL可以用来过滤所有报文。

  • 报文过滤方式不同:软件ACL是被上层软件引用来实现报文的过滤,硬件ACL是被下发到硬件来实现报文的过滤。通过软件ACL过滤报文时,会消耗CPU资源,通过硬件ACL过滤报文时,则会占用硬件资源。通过硬件ACL过滤报文的速度更快。

  • 对不匹配ACL的报文的处理动作不同:当使用软件ACL时,如果报文未匹配上ACL中的规则,设备对该报文采取的动作为deny,即拒绝报文通过;当使用硬件ACL时,如果报文未匹配上ACL中的规则,设备对该报文采取的动作为permit,即允许报文通过。

组网需求

如图1所示,Switch作为FTP服务器,对网络中的不同用户开放不同的访问权限:

  • 子网1(172.16.105.0/24)的所有用户在任意时间都可以访问FTP服务器。
  • 子网2(172.16.107.0/24)的所有用户只能在某一个时间范围内访问FTP服务器。
  • 其他用户不可以访问FTP服务器。

已知Switch与各个子网之间路由可达,要求在Switch上进行配置,实现FTP服务器对客户端访问权限的设置。

图中 使用基本ACL限制FTP访问权限组网图

实验拓扑 

配置思路

采用如下的思路在Switch上进行配置:

  1. 配置时间段和ACL,使设备可以基于时间的ACL,对网络中不同用户的报文进行过滤,从而控制不同用户的FTP访问权限。
  2. 配置FTP基本功能。
  3. 在FTP模块中应用ACL,使ACL生效。

实验步骤

 S2 配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname S2	
[S2]undo info-center enable 
Info: Information center is disabled.

[S2]vlan batch 10 20 30
Info: This operation may take a few seconds. Please wait for a moment...done.
	
[S2]interface Ethernet0/0/1	
[S2-Ethernet0/0/1]port link-type access 	
[S2-Ethernet0/0/1]port default vlan 10	
[S2-Ethernet0/0/1]quit 

[S2]interface Ethernet0/0/2	
[S2-Ethernet0/0/2]port link-type access 	
[S2-Ethernet0/0/2]port default vlan 20
[S2-Ethernet0/0/2]interface Ethernet0/0/3	
[S2-Ethernet0/0/3]port link-type access 	
[S2-Ethernet0/0/3]port default vlan 30	
[S2-Ethernet0/0/3]quit 
	
[S2]interface GigabitEthernet 0/0/1	
[S2-GigabitEthernet0/0/1]port link-type trunk 	
[S2-GigabitEthernet0/0/1]port trunk allow-pass vlan all 	
[S2-GigabitEthernet0/0/1]quit 

 S3 配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname S3	
[S3]undo info-center enable 
Info: Information center is disabled.

[S3]vlan batch 10 20 30 100
Info: This operation may take a few seconds. Please wait for a moment...done.
	
[S3]interface Vlanif 100	
[S3-Vlanif100]ip address 192.168.1.1 24	
[S3-Vlanif100]quit 
	
[S3]interface GigabitEthernet 0/0/2	
[S3-GigabitEthernet0/0/2]port link-type access 	
[S3-GigabitEthernet0/0/2]port default vlan 100	
[S3-GigabitEthernet0/0/2]quit 
	
[S3]interface Vlanif 10	
[S3-Vlanif10]ip address 172.16.105.254 24	
[S3-Vlanif10]quit 
	
[S3]interface Vlanif 20	
[S3-Vlanif20]ip address 172.16.107.254 24	
[S3-Vlanif20]quit 
	
[S3]interface Vlanif 30	
[S3-Vlanif30]ip address 10.10.10.254 24	
[S3-Vlanif30]quit 

[S3]interface GigabitEthernet 0/0/1	
[S3-GigabitEthernet0/0/1]port link-type trunk 	
[S3-GigabitEthernet0/0/1]port trunk allow-pass vlan all 	
[S3-GigabitEthernet0/0/1]quit 
	
[S3]ip route-static 192.168.2.0 24 192.168.1.2


R1 配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sy	
[Huawei]sysname R1	
[R1]undo info-center enable 
Info: Information center is disabled.
	
[R1]interface GigabitEthernet 0/0/2	
[R1-GigabitEthernet0/0/2]ip address 192.168.2.254 24	
[R1-GigabitEthernet0/0/2]quit 
	
[R1]interface GigabitEthernet 0/0/0	
[R1-GigabitEthernet0/0/0]ip address 192.168.1.2 24	
[R1-GigabitEthernet0/0/0]quit 

[R1]ip route-static 0.0.0.0 0 192.168.1.1

FTPserver 配置时间段 

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]s	
[Huawei]sys	
[Huawei]sysname FTPserver	
[FTPserver]undo info-center enable 
Info: Information center is disabled.
	
[FTPserver]time-range ftp-access from 0:0 2023/1/1 to 23:59 2023/12/31
Info: The starting or ending time has been configured earlier than the current t
ime.
	
[FTPserver]time-range ftp-access 14:00 to 18:00 off-day 

配置基本ACL

	
[FTPserver]acl number 2001	
[FTPserver-acl-basic-2001]rule permit source 172.16.105.0 0.0.0.255	
[FTPserver-acl-basic-2001]rule permit source 172.16.107.0 0.0.0.255 time-range f
tp-access 	
[FTPserver-acl-basic-2001]rule deny source any 	
[FTPserver-acl-basic-2001]quit 

 配置FTP基本功能

[FTPserver]ftp server enable 
Info: The FTP server is already enabled.
	
[FTPserver]aaa 
[FTPserver-aaa]local-user huawei password cipher abc.123	
[FTPserver-aaa]local-user huawei privilege level 15
Info: Add a new user.	
[FTPserver-aaa]local-user huawei service-type ftp 	
[FTPserver-aaa]local-user huawei ftp-directory flash:
[FTPserver-aaa]quit 

 配置FTP服务器访问权限

[FTPserver]ftp acl 2001

FTPserver 剩余配置 

[FTPserver]interface Vlanif 2 	
[FTPserver-Vlanif2]ip address 192.168.2.1 24	
[FTPserver-Vlanif2]quit 
	
[FTPserver]interface GigabitEthernet 0/0/1	
[FTPserver-GigabitEthernet0/0/1]port link-type access l	
[FTPserver-GigabitEthernet0/0/1]port default vlan 2	
[FTPserver-GigabitEthernet0/0/1]quit 

[FTPserver]ip route-static 0.0.0.0 0 192.168.2.254

 测试结果(用S3访问FTP服务器),172.16.105.0 网段可以访问FTP服务器

 10.10.10.0 网段无法访问FTP服务器

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

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

相关文章

一起学docker系列之十八Docker可视化工具 Portainer:简介与安装

目录 前言1 简介2 安装过程2.1 创建docker容器数据卷2.2 构建运行protainer容器 3 Portainer 软件详细说明与界面导览3.1 查看本地Docker情况3.2 操作功能3.3 创建容器3.4 部署容器 4 Portainer的优势结语参考地址 前言 Docker作为容器化解决方案的热门工具&#xff0c;其可视…

C#/.NET/.NET Core优秀项目和框架2023年11月简报

前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架&#xff08;公众号每周至少推荐两个优秀的项目和框架当然节假日除外&#xff09;&#xff0c;公众号推文有项目和框架的介绍、功能特点以及部分截图等&#xff08;打不开或者打开GitHub很慢的同学可以优先查看…

海外的直播平台

1、Netflix Netflix以允许人们从众多设备观看系列和电影而闻名。用户可以开设一个帐户并添加不同的用户个人资料&#xff0c;这对于想要为整个家庭拥有单独帐户而又无需开设大量帐户并单独付款的人来说非常有用。它现在增加了一个直播服务&#xff0c;允许观众参加现场练习课程…

❀My学习Linux命令小记录(4)❀

❀My学习Linux命令小记录&#xff08;4&#xff09;❀ 目录 ❀My学习Linux命令小记录&#xff08;4&#xff09;❀ 16.>>指令 17.date指令 18.du指令 19.df指令 20.xargs指令 16.>>指令 功能说明&#xff1a;将前一个查看指令中的结果追加写入到目标文件中…

windows彻底卸载VMware虚拟机

右键停止这些服务 在任务管理器中也结束vmware 在控制面板中卸载 找到注册表 然后在【software】目录下找到【VMware&#xff0c;Inc】&#xff0c;然后选中右键删除&#xff1b; 确保C盘中也没了

九要素一体式微气象仪-难得的气象助手

WX-WQX9 九要素一体式微气象仪是一种气象仪器&#xff0c;帮助我们更好地应对各种天气情况。 一、创新科技&#xff0c;精准预测 WX-WQX9 九要素一体式微气象仪采用了传感器和数据处理技术&#xff0c;可以同时监测温度、湿度、气压、风速、风向、太阳辐射、雨量等多个气象要…

Vue学习笔记-<router-link>的replace的属性

router-link的replace属性 作用&#xff1a;控制路由跳转时操作浏览器历史记录的模式 浏览器的历史记录有两种写入方式&#xff1a;push和replace&#xff0c;其中push是追加历史记录&#xff08;将浏览的url请求入栈&#xff09;&#xff0c;replace则是替换当前记录。路由跳…

泛型算法 bind和lambda表达式

泛型算法 迭代器 bind std::bind1st: std::bind1st 用于将一个二元谓词的第一个参数绑定为指定的值。 std::bind2nd: std::bind2nd 用于将一个二元谓词的第二个参数绑定为指定的值。 lambda表达式 捕获列表 原理

四层LVS与七层Nginx负载均衡的区别

一、四层负载均衡与七层负载均衡&#xff1a; &#xff08;1&#xff09;四层负载均衡&#xff1a; 四层负载均衡工作在 OSI 七层模型的第四层&#xff08;传输层&#xff09;&#xff0c;指的是负载均衡设备通过报文中的目标IP地址、端口和负载均衡算法&#xff0c;选择到达的…

SpringBoot错误处理机制解析

SpringBoot错误处理----源码解析 文章目录 1、默认机制2、使用ExceptionHandler标识一个方法&#xff0c;处理用Controller标注的该类发生的指定错误1&#xff09;.局部错误处理部分源码2&#xff09;.测试 3、 创建一个全局错误处理类集中处理错误&#xff0c;使用Controller…

【开源】基于Vue.js的软件学院思政案例库系统

文末获取源码&#xff0c;项目编号&#xff1a; S 070 。 \color{red}{文末获取源码&#xff0c;项目编号&#xff1a;S070。} 文末获取源码&#xff0c;项目编号&#xff1a;S070。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统管理员2.2 普通教师 三、系统展…

python程序将部分文件复制到指定目录

geotools-28.2中的lib一共有264个jar包&#xff0c;但我只想将部分100个左右jar包引导我的环境中&#xff0c;那个就需要从目录中找出想要的那100个jar&#xff0c;手动挑选太费时间&#xff0c;我简单的写了个小脚本来实现。 我将想要的jar文件名和路径存放到txt中&#xff0…

风控交易系统跟单系统资管软件都有哪些功能特点?

资管分仓软件的主要功能就是母账户可以添加子账号&#xff0c;并且设置出入金&#xff0c;手续费、保证金、风控等功能&#xff0c;同时监控端更可以直观的看子账户的交易情况直接折线图展示更加直观&#xff0c;在监控端的最高权限可以直接一键平仓子账户&#xff08;如果子账…

系列十三、SpringBoot的自动配置原理分析

一、概述 我们知道Java发展到现在功能十分的强大&#xff0c;生态异常的丰富&#xff0c;这里面离开不了Spring及其家族产品的支持&#xff0c;而作为Spring生态的明星产品Spring Boot可以说像王者一般的存在&#xff0c;那么的耀眼&#xff0c;那么的光彩夺目&#xff01;那么…

Optional源码分析(涉及Objects源码和Stream源码)

研究Optional源码之前先谈一谈Objects源码。 主要代码&#xff1a; ForceInlinepublic static <T> T requireNonNull(T obj) {if (obj null) {throw new NullPointerException();} else {return obj;}}ForceInlinepublic static <T> T requireNonNull(T obj, Str…

ES 快照到 S3 并从 Windows 共享目录恢复(qbit)

前言 业务需要将 Elasticsearch 快照到 AWS S3&#xff0c;再将快照拷贝到 Windows 系统&#xff0c;并恢复到 Elasticsearch。如下图所示&#xff1a; 环境 Elasticsearch 7.10.1 Windows Server 2019 Ubuntu 20.04 &#xff08;ES 宿主&#xff09; ES 集群1 安装 S3 插…

Python的文件的读写操作【侯小啾Python基础领航计划 系列(二十七)】

Python_文件的读写操作【侯小啾Python基础领航计划 系列(二十七)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔…

Go 语言中的函数调用。

更好的观看体验&#xff0c;请点击——函数调用 | YinKais Blog 本文将从函数的调用惯例和参数传递方法两个方面分别介绍函数执行的过程。 1、调用惯例 对于不同的编程语言&#xff0c; 它们在调用函数的时候往往都使用相同的语法&#xff1a; somefunction(arg0, arg1) 虽…

风变科技千万营收的AIGC项目,在Fanbook成功落地,专访风变科技CMO江育麟

在AIGC时代&#xff0c;创作生产力被下放到了每一位普通人身上&#xff0c;然后用户与AIGC应用之间还存在一定的认知与技术沟壑。 最近&#xff0c;【AIGC开放社区】注意到一款AIGC课程项目受到了相当的关注&#xff0c;让许多0基础的学员轻松地学会了使用AIGC技术的基本方法。…

Vxworks6.9的在线gdb调试(仿真内核和板载内核)

创作目的&#xff1a;归纳总结常用的技巧和方法&#xff0c;方便自己后续查阅重点节省时间。 一、仿真内核的gdb调试 1、新建DKM工程&#xff0c;选择sim的BSP包 2、DKM工程中添加c文件并编辑入口函数 3、新建vxworks远端系统 4、显示系统起来之后进行加载.out 5、选择Debug模…