【hcie-cloud】【27】华为云Stack网络安全防护

文章目录

  • 前言
  • 网络安全概述
    • 常见网络攻击类型
    • 流量型攻击DDoS
    • 单包攻击
    • 网络攻击防范
  • 网络安全服务
    • 华为云Stack网络防护
      • HCS租户网络纵深防护
      • HCS常用网络安全防护服务对比
    • 云防火墙详述
      • 云防火墙(CFW)- 定义
      • 云防火墙(CFW)- 实现原理
      • 云防火墙(CFW)- 功能
      • 云防火墙(CFW)- 应用场景和价值
      • CFW用户业务模型
      • CFW用户业务模型(续)
      • 云防火墙(CFW)- 配置流程
      • 云防火墙(CFW)- 添加规则
    • 网络ACL详述
      • 网络ACL - 定义
      • 网络ACL - 使用说明
      • TCP/IP五元组
      • 网络ACL配置案例
      • 网络ACL - 配置流程
      • 网络ACL - 添加规则
    • 边界防火墙详述
      • 边界防火墙(EdgeFW)- 定义
      • 边界防火墙(EdgeFW)- 实现原理
      • 边界防火墙(EdgeFW)- 功能和应用场景
      • 边界防火墙(EdgeFW)- 配置流程
        • 1、 创建策略组
        • 开启防护
        • 查看威胁日志和报表
  • 学习推荐

前言

  • 业务互通必须通过网络,无论是从内部还是外部访问,网络安全至关重要,而网络攻击类型也是多种多样,通过本章的学习,我们将了解如何保障云平台的网络安全,以及华为云Stack所能提供的网络安全防护能力。
  • 学完本课程后,您将能够:
    • 了解常见网络攻击类型
    • 掌握网络安全服务原理和使用

网络安全概述

常见网络攻击类型

在这里插入图片描述

流量型攻击DDoS

  • DDoS攻击是指攻击者通过控制大量僵尸主机,向攻击目标发送大量攻击报文,导致被攻击目标所在网络的链路拥塞,系统资源耗尽,从而无法向正常用户提供服务。
    在这里插入图片描述
攻击类型描述
TCPFlood 利用TCP协议发起的DDoS攻击,常见的攻击有SYN Flood,SYN+ACK Flood,ACK Flood,FIN/RST Flood等。
UDPFlood 使用UDP协议发起的攻击,常见攻击有UDP Flood,UDP分片攻击等。
ICMPFlood 利用ICMP协议在短时间内发送大量的ICMP报文导致网络瘫痪,或采用超大报文攻击导致网络链路拥塞。
HTTPFlood 利用HTTP协议交互,发动HTTP Flood,或者HTTP慢速攻击等。
GRE Flood利用GRE报文发动的DDoS攻击,利用GRE报文的解封装消耗攻击目标的计算资源。
  • 流量型攻击从攻击层面可以分为网络层和应用层,通过构造大量报文造成接口流量拥塞、设备处理卡顿,从而使正常业务流量无法得到及时处理的问题,借此来中断业务。
    • TCP flood:攻击者首先伪造地址对服务器发起SYN请求,服务器就会回应一个ACK+SYN,而真实的IP没有发送请求,不作回应。服务器没有收到回应,会重试3-5次并且等待一个SYN Time(一般30秒-2分钟)后,丢弃这个连接。如果攻击者大量发送这种伪造源地址的 SYN请求,服务器端将会消耗非常多的资源来处理这种半连接(SYN_RECV状态),保存遍历会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行 SYN+ACK的重试,服务器无暇理睬正常的连接请求造成拒绝服务。这种情况称作服务器端受到了SYN Flood攻击(SYN洪水攻击)
    • UDP flood:UDP协议是一种无连接的服务,攻击者向服务器发送大量UDP协议数据包,导致服务器带宽和系统资源耗尽,无法提供正常服务。比较常见的是攻击者利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器等。
    • ICMP flood:ICMP Flood 攻击属于流量型的攻击方式,攻击者使用工具发送大量的伪造源IP的ICMP报文,造成服务器带宽资源被大量占用,给服务器带来较大的负载,影响服务器的正常服务。由于目前很多防火墙直接过滤ICMP报文, 因此ICMP Flood出现的频度较低。
    • HTTP flood:常见的HTTP Flood攻击分为HTTP get flood、HTTP post flood,是指利用应用层Http协议,向服务器发送海量Http请求,造成服务器繁忙和资源耗尽,无法正常提供服务的DDoS攻击。

单包攻击

  • 单包攻击不是通过使网络拥塞,或消耗系统资源的方式进行攻击,而是通过发送有缺陷的报文,使主机或服务器在处理这类报文时系统崩溃,或发送特殊控制报文、扫描类报文探测网络结构,为真正的攻击做准备。
    • 扫描型攻击
      攻击者运用ICMP报文探测目标地址,以确定哪些目标系统确实存活着并且连接在目标网络上;或攻击者对端口进行扫描探测,探寻被攻击对象目前开放的端口,从而确定攻击方式。
    • 畸形报文攻击
      攻击者通过发送大量有缺陷的报文,从而造成主机或服务器在处理这类报文时系统崩溃。典型的有Teardrop攻击,Smurf攻击,Land攻击等。
    • 特殊报文控制类攻击
      一种潜在的攻击行为,不具备直接的破坏行为,攻击者通过发送特殊控制报文探测网络结构,为后续发起真正的攻击做准备。典型的有超大ICMP报文控制攻击,IP报文控制攻击等。

网络攻击防范

  • 单包攻击防范
    防火墙
    在这里插入图片描述

  • 流量型攻击防范

    • 防火墙
    • AntiDDoS
      在这里插入图片描述

网络安全服务

华为云Stack网络防护

HCS租户网络纵深防护

在这里插入图片描述

HCS常用网络安全防护服务对比

服务名称防护粒度实现方式配置特点
安全组VM(网卡)级ACL 分布式的软件实现,iptables列表式规则配置方式:VM1到VM2的访问控制,需要在VM1和VM2所在的组内都配置规则,规则还分入出
云防火墙VM级ACL分布式的软件实现,iptables基于流量拓扑图的配置方式。基于业务标签组配置规则,不用记忆IP。只需配置VM1到VM2所在的组间访问规则即可
网络ACL子网级ACL,不支持同一子网内VM之间的访问防护分布式的软件实现,iptables列表式规则配置方式
EdgeFW基于EIP的南北向ACL、IPS、AV,防护对象是EIP,生效位置是EIP流量经过的南北向业务墙,不支持东西向的流量防护依赖硬件防火墙列表式规则配置方式

云防火墙详述

云防火墙(CFW)- 定义

云防火墙(Cloud Firewall),分散在每一台弹性云服务器前,通过为每一台弹性云服务器提供直接防护,实现最细粒度的微隔离访问控制。在流量可视化的辅助下,可提供基于用户业务属性标签的安全策略配置能力,降低安全运维复杂度。
在这里插入图片描述

云防火墙(CFW)- 实现原理

  • 云防火墙架构
    在这里插入图片描述
组件功能描述典型部署原则
ManageOne云防火墙管理控制台,用户通过该模块访问CFW,实现对策略的创建、管理等。部署于Global层。
CFW-Service云防火墙业务节点,实现对CFW的服务化管理。部署于Region层,两节点集群部署。
CFW-ES/CFW-DF云防火墙的日志节点,用于收集租户弹性云服务器的流量日志。1、CFW-ES节点部署于Region层,两节点集群部署。2、CFW-DF
Neutron网络节点,提供用于定义网络连通性和寻址的API。部署于Region层。
  • CFW业务流如下:
  • 用户通过ManageOne运营面(B2B场景为ManageOne租户面)上的云防火墙界面创建、管理不同的属性、业务区和规则,并为用户的弹性云服务器打上已创建属性的标签。
  • CFW-Service调用Neutron提供的FWaaS接口完成规则的创建。
  • Neutron向CFW-ES/CFW-DF写入弹性云服务器的流量信息。
  • CFW-Service从CFW-ES/CFW-DF中读取弹性云服务器的流量信息并呈现给CFW-Console。

云防火墙(CFW)- 功能

在这里插入图片描述

云防火墙(CFW)- 应用场景和价值

在这里插入图片描述

CFW用户业务模型

  • 云防火墙的使用基于如下常见的用户业务模型,以一个新闻网站业务系统为例进行说明。

在这里插入图片描述

  • 以一个新闻网站应用系统的全生命周期流程为例,通常一个应用系统需要部署多套,分别在开发环境、测试环境、生产环境,以对应开发、测试、上线生产等不同阶段的需要。如上图所示,采用经典的web-app-db三层结构,每层都是多台能力相同的弹性云服务器做等价分担。

CFW用户业务模型(续)

  • 防火墙规则配置示例:

    • web层的弹性云服务器只允许外网访问其80端口。
    • app层只允许被web层的弹性云服务器访问其8848端口。
    • db层只允许app层的弹性云服务器访问其4094端口。
  • 角色

    • 角色是为弹性云服务器(实质为ECS网卡)指定的一类属性标签,该属性标签通常用来描述ECS在业务中承担的能力,例如图中的web、app、db就可以作为角色属性。
  • 应用

    • 应用也是为弹性云服务器(实质为ECS网卡)指定的一类属性标签,该属性标签通常用来描述弹性云服务器属于哪个应用系统,例如新闻网站业务系统就可以作为应用属性。
  • 环境

    • 环境也是为弹性云服务器(实质为ECS网卡)指定的一类属性标签,该属性标签通常用来描述弹性云服务器属于生命周期的哪个阶段,例如上页图中的开发、测试、生产就可以作为环境属性。
  • 业务区

    • 业务区是用环境和应用属性标签标记并创建的区域,通常用于指明某环境下的某个应用系统。如上页图中所示就可以认为代表了3个业务区,可以为每个业务区配置不同的安全策略。
  • 策略
    - 建设模式:业务区刚创建时,策略是建设模式,业务区内所有网卡之间的访问全部放通,配置的规则未真正生效;

    • 实施模式:当用户根据流量线配置完规则后可将其发布为实施模式,配置的规则才真正生效。

云防火墙(CFW)- 配置流程

  • 创建属性标签—创建业务区—为虚机打属性标签—添加规则
    • 分别创建角色、应用和环境;
      • 角色、应用、环境是用多个维度的属性标签的来描述一个弹性云服务器(实质是弹性云服务器网卡)的归属,以便于梳理用户的业务系统的资产和访问控制。
    • 创建业务区
      • 识别并创建业务区,创建业务区时需要绑定应用和环境,通常根据环境来创建业务区,如案例中的3个环境,开发、测试、生产则可以创建3个业务区。
    • 为虚机打属性标签
      • 通过资产管理页签,查看租户已创建的ECS资源,编辑属性,为对应网卡绑定应用、环境和角色。
    • 添加规则
      两种方式进行管理:
      • 通过策略管理页签进入,添加配置规则;
      • 通过拓扑图页签进入,点击对应流量线,进入流量配置界面,添加配置规则。

云防火墙(CFW)- 添加规则

  • 拓扑图确认流量线配置放行规则
    在这里插入图片描述

网络ACL详述

网络ACL - 定义

在这里插入图片描述

  • 网络ACL(Network ACL)是虚拟私有云的安全服务,对子网进行访问控制,支持黑白名单(即允许和拒绝策略),根据与子网关联的入方向/出方向ACL(Access Control List)规则,判断数据包是否被允许流入/流出子网。
  • 通过服务器的iptables实现的分布式网络ACL,针对南北和东西流量的全防护。

网络ACL - 使用说明

在这里插入图片描述

  • 网络ACL可以与虚拟私有云相关联,为虚拟私有云提供安全防护。
资源约束
网络ACL1、一个网络ACL可以关联多个子网,但一个子网同一时间只能关联一个网络ACL。2、每个新建网络ACL初始状态都是拒绝所有流量(默认规则为拒绝所有流量),需要用户添加自定义规则来放通所需数据流量。3、网络ACL区分入方向和出方向规则,用户需要分别为入方向和出方向的数据设置规则,否则会导致无法响应入方向的请求。4、网络ACL对所关联子网内的云服务器之间的互访不产生影响
网络ACL规则1、支持协议类型:TCP、UDP、ICMP(IPv6网络中为ICMPv6)及ANY(所有协议)。2、支持策略类型:允许、拒绝和驳回。3、支持根据数据流量的源/目的IP地址及端口进行流量控制。4、规则的生效顺序为:由规则列表第一条开始应用至最后一条。如果同一网络ACL规则列表中存在规则冲突,默认应用位置更前的规则。5、支持对IPv4网络和IPv6网络的流量控制

TCP/IP五元组

在这里插入图片描述

  • 5元组是一个通信术语,通常指由源IP(source ip),源端口(source port),目标IP (destination ip),目标端口(destination port),4层通信协议(the layer 4 protocol)5个字段来表示一个会话。
  • 如下图所示,一个数据包的封装格式中包含了五元组信息,安全组、网络ACL、防火墙等技术都是通过解析数据包中的信息进行规则匹配。

网络ACL配置案例

某企业部署了一个web网站系统,按照典型的三层架构部署,web、app、db分别属于不同的子网,为保障数据库安全,现要求ECS-web只能访问ECS-app,不能访问ECS-db,ECS-app可以访问ECS-db 3306端口,请用网络ACL实现此需求。
在这里插入图片描述

网络ACL - 配置流程

申请网络ACL—关联子网—添加网络ACL规则
在这里插入图片描述
在这里插入图片描述

网络ACL - 添加规则

在这里插入图片描述

  • 根据五元组,添加规则
    • 入方向规则
    • 出方向规则
  • 根据要求,应添加两条规则
    • 允许ecs-web访问ecs-app,请问动作、协议、源地址、目的地址分别填写什么?
    • 允许ecs-app访问ecs-db 3306端口,各个项分别填写什么?

边界防火墙详述

边界防火墙(EdgeFW)- 定义

EdgeFW(Edge Firewall),即边界防火墙,位于内、外部网络的边界处,是连接内网与外网的桥梁。边界防火墙针对云数据中心与外部网络之间的南北向流量,为用户提供边界安全防护功能,支持以弹性IP为防护对象的入侵检测防御(IPS)和网络防病毒(AV)功能。
在这里插入图片描述

边界防火墙(EdgeFW)- 实现原理

  • 边界防火墙架构
    在这里插入图片描述
组件功能描述典型部署原则
ManageOne安全服务管理控制台,用户通过该模块访问EdgeFW,实现对服务的创建、使用和管理等部署于Global层
SCC-LB安全服务负载均衡节点,对Console的请求负载均衡部署于Region层,两节点主备部署
SCC-Service安全服务业务节点,实现对EdgeFW的服务化管理部署于Region层,两节点集群部署
SCC-GaussDB数据库节点,为EdgeFW提供数据存储能力部署于Region层,两节点主备部署
SSA-ES/SSA-DF1、SSA-DF:数据采集器,负责采集防火墙发送的日志,实时转换成需要的格式和字段,并存储到SSA-ES。2、SSA-ES:数据分析引擎,快速地存储、搜索和分析大量日志1、SSA-DF部署于Region层,两节点主备部署。2、SSA-ES部署于Region层,两节点集群部署
SecoManager硬件防火墙的管理平台,实现对硬件防火墙的纳管-
硬件防火墙提供核心的报文阻断、入侵检测、防病毒能力-
  • EdgeFW的业务流为:
    • 用户通过ManageOne运营面(B2B场景为ManageOne租户面)安全服务界面申请EdgeFW,并设置安全策略。
    • SCC-LB将设置的策略发送给SCC-Service。
    • SCC-Service调用SecoManager,安全策略经过SecoManager自动编排后下发到硬件防火墙。
    • 硬件防火墙将检测到的EIP流量异常记录至SSA-ES/SSA-DF中。
    • SCC-Service利用SSA-ES的搜索能力,为用户提供报表统计和日志查询。
    • 在防护过程中,SCC-Service将读取的配置信息保存至SCC-GaussDB。

边界防火墙(EdgeFW)- 功能和应用场景

  • EdgeFW服务有以下功能:

    • 安全防护:可针对弹性IP进行南北向流量的访问控制、入侵防御和防病毒
    • 安全日志:根据源、目的IP、日期、攻击事件、协议等查看日志明细
    • 统计报表:图表的形式展示攻击类型、趋势、协议等排行
  • 约束

    • 弹性IP的流量必须流经该硬件防火墙才能被本服务保护
  • 应用场景:
    当用户的核心业务暴露在互联网外时,可以使用边界防火墙的入侵检测模块进行防护,并对攻击行为进行统计
    在这里插入图片描述

边界防火墙(EdgeFW)- 配置流程

1、 创建策略组

在这里插入图片描述

开启防护

在这里插入图片描述

查看威胁日志和报表

在这里插入图片描述
在这里插入图片描述

学习推荐

  • 学习推荐
    华为support网站:https://support.huawei.com

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL进阶之路】亿级数据量表SQL调优实战

欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送! 在我后台回复 「资料」 可领取编程高频电子书! 在我后台回复「面试」可领取硬核面试笔记! 文章导读地址…

Spark编程实验六:Spark机器学习库MLlib编程

目录 一、目的与要求 二、实验内容 三、实验步骤 1、数据导入 2、进行主成分分析(PCA) 3、训练分类模型并预测居民收入 4、超参数调优 四、结果分析与实验体会 一、目的与要求 1、通过实验掌握基本的MLLib编程方法; 2、掌握用MLLib…

Elasticsearch深度分页问题

目录 什么是深度分页 深度分页会带来什么问题 深度分页问题的常见解决方案 滚动查询:Scroll Search search_after 总结 什么是深度分页 分页问题是Elasticsearch中最常见的查询场景之一,正常情况下分页代码如实下面这样的: # 查询第一…

Ps:堆栈模式在摄影后期的应用

Photoshop 的堆栈模式 Stack Mode为摄影师提供了一种强大的后期处理能力,通过堆叠和处理多张照片来实现无法单靠一张照片完成的效果。 正确的前期拍摄策略和后期处理技巧可以显著提高最终图像的质量和视觉冲击力。 ◆ ◆ ◆ 前期拍摄通用注意事项 在前期拍摄时&am…

【Linux学习】线程互斥与同步

目录 二十.线程互斥 20.1 什么是线程互斥? 20.2 为什么需要线程互斥? 20.3 互斥锁mutex 20.4 互斥量的接口 20.4.1 互斥量初始 20.4.2 互斥量销毁 20.4.3 互斥量加锁 20.4.4 互斥量解锁 20.4.5 互斥量的基本原理 20.4.6 带上互斥锁后的抢票程序 20.5 死锁问题 死锁…

【医学大模型 动态知识图谱】AliCG概念图 = 知识图谱 + 实时更新、细粒度概念挖掘、个性化适应

AliCG概念图 提出背景能力强化细粒度概念获取长尾概念挖掘分类体系进化对比传统知识图谱 部署方法如何提高信息检索的质量?如何在神经网络中学习概念嵌入?如何在预训练阶段利用概念图? 提出背景 论文: https://arxiv.org/pdf/2106.01686.pdf…

论文解读:MobileOne: An Improved One millisecond Mobile Backbone

论文创新点汇总:人工智能论文通用创新点(持续更新中...)-CSDN博客 论文总结 关于如何提升模型速度,当今学术界的研究往往聚焦于如何将FLOPs或者参数量的降低,而作者认为应该是减少分支数和选择高效的网络结构。 概述 MobileOne(≈MobileN…

《剑指Offer》笔记题解思路技巧优化 Java版本——新版leetcode_Part_2

《剑指Offer》笔记&题解&思路&技巧&优化_Part_2 😍😍😍 相知🙌🙌🙌 相识🍓🍓🍓广度优先搜索BFS🍓🍓🍓深度优先搜索DF…

九、java 继承

文章目录 java 继承3.1 根父类Object3.2 方法重写3.3 继承案例:图形类继承体系3.4 继承的细节3.4.1 构造方法3.4.2 重名与静态绑定3.4.3 重载和重写3.4.4 父子类型转换3.4.5 继承访问权限protected3.4.6 可见性重写3.4.7 防止继承final 3.5 继承是把双刃剑3.5.1 继承…

70.SpringMVC怎么和AJAX相互调用的?

70.SpringMVC怎么和AJAX相互调用的&#xff1f; &#xff08;1&#xff09;加入Jackson.jar&#xff08;2&#xff09;在配置文件中配置json的消息转换器.(jackson不需要该配置HttpMessageConverter&#xff09; <!‐‐它就帮我们配置了默认json映射‐‐> <mvc:anno…

Netty应用——实例-群聊系统(十六)

编写一个Netty群聊系统&#xff0c;实现服务器端和客户端之间的数据简单通讯 (非阻塞)实现多人群聊服务器端:可以监测用户上线&#xff0c;离线&#xff0c;并实现消息转发功能客户端:通过channel可以无阳塞发送消息给其它所有用户&#xff0c;同时可以接受其它用户发送的消息(…

哈夫曼树的学习以及实践

哈夫曼树 哈夫曼树的基本了解哈夫曼树的基本概念创建霍夫曼树的思路编码构建的思路代码实现创建HuffmanTree结点初始化HuffmanTree创建霍夫曼树霍夫曼树编码 哈夫曼树的基本了解 给定 n 个 权值 作为 n 个 叶子节点&#xff0c;构造一颗二叉树&#xff0c;若该树的 带权路径长…

C语言第二十三弹---指针(七)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 指针 1、sizeof和strlen的对比 1.1、sizeof 1.2、strlen 1.3、sizeof 和 strlen的对比 2、数组和指针笔试题解析 2.1、⼀维数组 2.2、二维数组 总结 1、si…

C语言每日一题(56)平衡二叉树

力扣网 110 平衡二叉树 题目描述 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,…

牛客错题整理——C语言(实时更新)

1.以下程序的运行结果是&#xff08;&#xff09; #include <stdio.h> int main() { int sum, pad,pAd; sum pad 5; pAd sum, pAd, pad; printf("%d\n",pAd); }答案为7 由于赋值运算符的优先级高于逗号表达式&#xff0c;因此pAd sum, pAd, pad;等价于(…

Linux系统之部署File Browser文件管理系统

Linux系统之部署File Browser文件管理系统 一、File Browser介绍1.1 File Browser简介1.2 File Browser功能1.3 File Browser使用场景 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本 四、安装File Browser4…

Linux_线程

线程与进程 多级页表 线程控制 线程互斥 线程同步 生产者消费者模型 常见概念 下面选取32位系统举例。 一.线程与进程 上图是曾经我们认为进程所占用的资源的集合。 1.1 线程概念 线程是一个执行分支&#xff0c;执行粒度比进程细&#xff0c;调度成本比进程低线程是cpu…

SpringCloud-Eureka服务注册中心测试实践

5. Eureka服务注册中心 5.1 什么是Eureka Netflix在涉及Eureka时&#xff0c;遵循的就是API原则.Eureka是Netflix的有个子模块&#xff0c;也是核心模块之一。Eureka是基于REST的服务&#xff0c;用于定位服务&#xff0c;以实现云端中间件层服务发现和故障转移&#xff0c;服…

fast.ai 深度学习笔记(六)

深度学习 2&#xff1a;第 2 部分第 12 课 原文&#xff1a;medium.com/hiromi_suenaga/deep-learning-2-part-2-lesson-12-215dfbf04a94 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 来自 fast.ai 课程的个人笔记。随着我继续复习课程以“真正”理解它&#xff0c;…

Java 基于微信小程序的私家车位共享系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…