安全与认证Week3

  

Key Management 密钥管理

密钥交换、证书

密钥的类别

密钥管理方面

密钥分发问题

密钥分发方案

        简单的密钥分发:允许安全通信,但不存在先前或之后的密钥。

        带机密性和身份验证的密钥分发:提供更高级别的安全性。

混合密钥分发

公钥分发

        公开公告:用户向接收方分发公钥,或广播给整个社区。主要弱点是伪造。

        公开可用目录:在公共目录注册密钥,但仍然容易受到篡改或伪造的影响。

        公钥机构:提高安全性,要求用户知道目录的公钥,实时访问目录。

公钥证书

  

X.509

理解X.509

        假设有两位朋友 Alice 和 Bob,他们在互联网上进行加密通信,想要确保他们之间的信息传递是安全的。这个例子中,X.509就是一个数字世界中的身份证系统,确保通信的安全性和身份验证。

        注册名册(X.500): Imagine X.500是一本全球唯一身份证明册,里面有每个人的独特标识(比如国家、城市、名字等)。每个人都有一份自己的信息。我觉得可以类比“世界上所有的个人信息证明,比如驾照、护照、身份证“

        数字证书(X.509): Alice和Bob都希望证明自己的身份,而X.509就是他们的“身份证”。CA(证书颁发机构)就像是注册名册的管理者,为每个人颁发一份独一无二的证书。我觉得可以类比“中国人民身份证,一种证明自己的证件类型“

        证书内容: Alice的证书上写着:“这是Alice的身份证书,由CA签发,她的公钥是XXX”。Bob的证书也有类似的信息。

X.509证书包含

        通信过程: 当Alice想向Bob发送一条安全的消息时,她使用Bob的公钥(在Bob的证书中找到)对消息进行加密。只有Bob使用自己的私钥才能解密消息。

        证书验证: 当Bob收到消息时,他可以查看Alice的证书,确保它是由一个可信任的CA签发的。这就像在现实生活中,当你看到一个人的身份证时,你可以确保这是由政府签发的。

        CA层次结构: 如果Alice和Bob使用的是不同的CA,那么这两个CA之间可能会有一个层次结构。就像一个国家的身份证可以被另一个国家的认可一样,CA之间通过证书链建立了信任。

X.509使用过程

X.509身份验证服务

X.509版本3

取消

由X.509引申关于CA

  

用户认证、身份管理

用户认证

        用户认证是验证系统实体声明的身份的过程,包括两个步骤:识别(指定标识符)和验证(将实体(人)与标识符绑定)。

        用户认证与消息认证不同,主要关注保护会话密钥的机密性和及时性,防止重放攻击等。

身份管理

        身份管理涉及验证各方的身份,并在多个企业和众多应用程序之间实现共同的身份管理方案。

        身份联合管理是一种相对较新的概念,涉及在多个企业和众多应用程序中采用共同的身份管理方案,支持成千上万甚至数百万用户。

        标准如Security Assertion Markup Language(SAML)和XML用于在在线业务合作伙伴之间交换安全信息。

 

  

Kerberos

摘要

Kerberos协议大致过程(涉及TGT)

        当你使用计算机网络上的某个服务时(比如文件共享或电子邮件),服务器需要确保你是合法用户并具有访问权限。Kerberos是一种用于实现这种身份验证的安全协议。

让我们通过一个简化的例子来解释Kerberos的工作原理:

        用户登录请求: 假设你是某公司的员工,想要访问公司的文件服务器。当你登录计算机时,你首先需要通过Kerberos进行身份验证。

        获取票据授予票据(TGT): 你的计算机会向Kerberos服务器发出请求,要求一个称为"票据授予票据"(Ticket Granting Ticket,TGT)。TGT是一个加密的凭证,用于证明你是合法用户。

        服务授权: 一旦你获得TGT,你可以使用它来请求访问特定服务,比如文件服务器。你向Kerberos服务器请求一个服务授权票据。

(TGT和服务授权票据区别:TGT是一种特殊的票据,用于向Kerberos服务器请求其他服务的授权票据。 服务授权票据用于向特定服务请求访问权限。它们都是由Kerberos服务器颁发给客户端)

        访问服务: 获得了服务授权票据后,你向文件服务器发出请求,携带着TGT和服务授权票据。文件服务器会验证这些票据,确认你是合法用户,并向你提供访问文件的权限。

        这个过程中的关键是,TGT和服务授权票据都是加密的,只有Kerberos服务器和目标服务能够解密它们。这确保了在整个过程中,你的身份都是安全的。Kerberos充当了一个“身份验证中心”,负责颁发安全的票据,这些票据用于证明你是谁以及你有权访问哪些服务。这有助于防止诸如冒充、窃听等攻击。

Kerberos结构和环境

        Kerberos环境包括Kerberos服务器、多个客户端和多个应用服务器,组成一个领域(realm)。简要介绍了Kerberos的基本结构,包括认证服务器(AS)和票据授予服务器(TGS)。

Kerberos 其余知识点

        包括基本的第三方认证方案,用户首先与AS协商以确认自己的身份,然后使用TGT请求TGS颁发其他服务的访问权限。

Kerberos威胁

Kerberos Requirements要求和机制

Kerberos 问题

Kerberos简单版本

 

简单版本的认证对话

更安全的身份验证过程

        引入了Ticket Granting Server (TGS) 以避免以明文传输密码。

        用户登录时,客户端从认证服务器(AS)请求代表用户的票据授予票据(TGT)。

        TGS票据(KTGS)本身也经过加密。

        加密密钥由认证服务器(AS)和票据授予服务器(TGS)共同知晓,而不是由客户端知晓。

TGS票据的加密过程:

        TGS将票据双重加密,首先使用AS和TGS共同知道的密钥,然后使用由用户密码生成的密钥。密码由用户输入,但密码本身从未在网络上传输。票据包含IP地址、时间戳和生命周期等信息。

客户端获取TGS票据:

        客户端通过输入密码,生成密钥Kc,并恢复TGS票据。AS和用户之间的身份验证使用密钥Kc完成。

服务授权过程:

        客户端向TGS请求服务授权票据,提供用户ID、目标服务ID和TGT。TGS解密TGT,验证用户身份,检查用户是否有权访问请求的服务器,并检查票据的生命周期。

服务授权票据生成:

        服务授权票据(KV)由TGS加密,解密所需的密钥KV由提供服务的服务器知晓,而不是由用户知晓。票据包含时间戳和生命周期。

更安全版本的认证对话

更更安全的身份验证过程,Kerberos (version 4)

Kerberos (version 4) 对话:

        包括客户端向TGS请求访问、TGS向客户端颁发TGT、客户端向TGS请求服务授权票据、以及客户端向服务器请求访问的对话。

认证过程:

        客户端通过请求TGS获得TGT,TGT包含一个由AS生成的会话密钥KC,TGS。

        客户端使用TGT请求服务授权票据,该票据用于访问特定服务器。TGS对用户进行身份验证,颁发服务授权票据,包括新的客户端-服务器会话密钥。客户端通过提供服务授权票据和验证器向服务器请求访问,服务器通过验证票据和验证器对用户进行身份验证。

 

更更安全版本的认证对话

更更更安全的身份验证过程,Kerberos (version 5)

更更更安全版本的认证对话

  

  

IP层的安全性

IPSec

        IPSec是建立在IP层的安全协议,可提供身份验证和加密。包括IPSEC proper(身份验证和加密)和IPSEC密钥管理两个部分。在IPv6中是必需的,在IPv4中是可选的。

IPSec的典型配置

        可以与防火墙或路由器一起使用,为跨越边界的所有流量提供强大的安全性。位于传输层(TCP,UDP)之下,对应用程序透明。透明对终端用户,不影响应用程序。

IPSec体系结构

        Encapsulate Security Payload (ESP):提供认证和/或机密性。

        Authentication Header (AH):提供完整性保护。

        Domain of Interpretation (DOI):包含协议的不同规范的标识符和操作参数。

        Authentication Header (AH):仅提供完整性保护,通过在数据包中插入完整性检查值(ICV)实现。忽略可变字段(生存时间,IP校验和)。

        Encapsulate Security Payload (ESP):提供认证(可选)和保密性。通过插入序列号和可选的ICV实现。通过保护头部和加密来实现认证。

AHESP两者区别

        AH: 主要提供身份验证和完整性保护,用于验证数据包的来源,并确保数据包在传输过程中未被篡改。不提供加密功能,仅用于身份验证和完整性保护。添加一个额外的头部,用于存储身份验证信息。

        ESP: 提供身份验证、完整性保护和加密,除了验证和完整性保护外,还可以对数据进行加密,确保通信的保密性。支持加密,可以对整个数据包进行加密,包括IP头部和有效载荷。除了提供身份验证和完整性保护的头部外,还可以提供加密的额外头部。

AHESP的头部组成

DOI

        IPSec算法:加密:DES(CBC模式)。认证:HMAC/MD5和HMAC/SHA等。可选的DOI依赖算法,如TDES、Blowfish、CAST-128、IDEA、RC5。

        Domain of Interpretation (DOI):包含与协议相关的值,如加密和身份验证算法的标识符、操作参数等。

简单提一下SA,后面细讲

Anti-Replay Service(防重放服务)

        Anti-Replay Service(防重放服务)是一种网络安全机制,用于防止网络通信中的重放攻击。在重放攻击中,攻击者截获并重新发送先前经过身份验证的通信,试图欺骗系统以接受重复的请求或数据包。防重放服务通过引入一些机制,如序列号和滑动窗口,来防止这种攻击。

其工作原理:

        序列号: 数据包在发送时按顺序编号,形成唯一的序列号。接收方使用这些序列号来检测和拒绝已经收到的重复数据包。

        滑动窗口: 发送方和接收方维护一个滑动窗口,窗口内的序列号范围是有效的,而窗口外的序列号被认为是过期的。接收方只接受位于窗口内的数据包,拒绝位于窗口外的数据包。

        定期更新: 窗口定期向前滑动,以便接收方可以接受新的、未曾收到的序列号。这样,即使攻击者截获了一些先前的序列号,由于窗口已经滑动,这些序列号也将被视为过期和无效。

例子:

        假设有一个通过网络进行身份验证的系统,其中用户在登录时会生成一个一次性的令牌,并将其发送给服务器以进行验证。防重放服务可以防止攻击者截获并重复使用此令牌进行欺骗。

        用户A登录系统,生成并发送令牌1。

        令牌1在网络上传输到服务器,服务器验证通过。

        攻击者截获令牌1,并尝试将其重放给服务器。

        由于防重放服务的存在,服务器检测到令牌1已经过期,因此拒绝验证。

处理过程processing

        IPSec(IP Security)中的处理过程和两种主要模式:隧道模式(Tunnel Mode)和传输模式(Transport Mode),以及这两种模式在ESP(Encapsulating Security Payload)和AH(Authentication Header)中的应用

处理过程解释

        假设有两个网络设备,设备A和设备B,它们之间需要进行安全通信。设备A要向设备B发送一条消息,这条消息需要经过身份验证和加密。

         设备A和设备B之间建立了一个IPSec安全关联,其中包含了SPI、身份验证算法(HMAC/SHA)、加密算法(AES)和密钥。

        设备A使用该安全关联对要发送的数据进行数字签名(身份验证检查),然后使用AES算法加密数据。

        设备B接收到数据后,使用相同的安全关联进行数字签名验证,然后使用AES算法解密数据。

处理过程步骤

        安全参数索引(SPI)查找安全关联(SA):设备A和设备B之间建立了一个安全关联,其中包含了用于保护通信的安全参数,如加密算法、身份验证算法和密钥等。SPI是一个唯一的标识符,设备A使用SPI来确定要使用哪个安全关联。

        SA进行身份验证检查:设备A在发送消息之前会使用安全关联中的身份验证信息对消息进行签名,生成数字签名。设备B在接收到消息后,使用相同的安全关联中的身份验证信息来验证数字签名的有效性,确保消息来自合法的设备A。

        SA进行身份验证的数据的加密/解密:如果需要保密性,设备A在发送消息之前使用安全关联中的加密算法和密钥对消息进行加密。设备B在接收到消息后,使用相同的安全关联中的加密算法和密钥来解密消息,以获取原始的、可读的信息。

两种模式
隧道模式(Tunnel Mode)

        在隧道模式下,整个数据包都被加密和/或认证,然后放置在一个新的IP包中。这种模式通常用于建立虚拟专用网络(VPN),其中整个通信流量都受到保护,提供了对流量分析的保护。

传输模式(Transport Mode)

        在传输模式下,只有IP包的有效载荷(通常是数据部分)被加密和/或认证,而IP头部保持不变。这种模式提供了对数据的保密性,但不涉及整个包的加密,因此不提供对IP头部信息的直接保护。

        简单来说就是:Tunnel Mode:保护整个数据包,用于建立虚拟专用网络。Transport Mode:保护有效载荷,提供机密性。

ESP和AH的隧道和传输模式

  

组合安全关联(Security Association,SA)

        在IPSec中,安全关联(Security Association,SA)是定义了一种安全服务的一组参数,包括加密算法、身份验证算法、密钥等。每个SA通常只提供一种安全服务,即要么是身份验证(AH),要么是加密和身份验证(ESP)。

        然而,在某些情况下,可能需要同时实现AH和ESP,以提供更全面的安全性。为了实现同时支持AH和ESP,可以采用组合安全关联的方法。

以下是两个例子,说明了如何组合安全关联:

        主机间身份验证的例子,使用AH-传输模式:

        设定: 设备A和设备B之间建立了通信连接,需要同时进行身份验证和数据传输的完整性保护。组合SA: 需要创建两个SA,一个用于AH传输模式,用于身份验证,另一个用于ESP传输模式,用于传输数据的完整性保护。

        通信流程:设备A发送数据包时,同时对整个数据包进行身份验证(使用AH传输模式)和数据的完整性保护(使用ESP传输模式)。设备B接收数据包后,首先使用AH进行身份验证,然后使用ESP进行数据的完整性保护。

        在WAN中传输时提供机密性的例子,使用ESP-隧道模式:

        设定: 设备A和设备B之间通过广域网(WAN)建立了VPN连接,需要在传输过程中提供数据的机密性。组合SA: 创建一个SA,使用ESP隧道模式,同时提供加密和完整性保护。

        通信流程:设备A要发送数据时,数据会在整个数据包级别被加密(使用ESP隧道模式)。加密后的数据包经过WAN传输到设备B。设备B接收到数据包后,对其进行解密,以还原原始数据。

这些例子说明了在特定场景中,通过组合不同的SA,可以同时满足多种安全需求,例如身份验证、数据完整性保护和数据机密性。这种组合使得IPSec更加灵活,能够适应不同的安全场景。

有关socket

Oakley

中间人攻击

中间人攻击是一种攻击方式,攻击者获取经过身份验证的数据包的副本并将其重新传输到其目标。Oakley使用数字签名、公钥加密和对称密钥加密等方式进行身份验证。

ISAKMP

ISAKMP是由NSA设计的协议,用于交换安全参数,但不用于建立密钥。

ISAKMP用于建立、修改和删除IPSec安全关联(SA),提供交换cookie、安全参数、密钥管理和标识的通用框架。

ISAKMP分为两个阶段:建立安全的认证通道(SA)和协商安全参数(KMP)。

ISAKMP提供协议框架,Oakley提供安全机制。结合版本澄清了两个协议,解决了模糊性。

  

   

防火墙firewall

作用

        保护本地系统/网络免受网络安全威胁。

        允许对外部世界(WAN、互联网)的有序访问。

必要性

        互联网连接对所有网络已不可避免,但互联网访问可能构成安全威胁。

        为每个设备配备强大安全功能并不经济。

特性

        安全墙和受控链接:在本地网络和互联网之间建立受控的链接和安全墙。防火墙可以是一个或多个计算机系统。

        流量控制:所有流量从内部到外部以及相反方向都必须通过防火墙。只有经授权的流量才能通过。防火墙本身免疫于渗透。

        特定控制服务:提供服务控制、方向控制、使用控制和行为控制。

防火墙的作用限制

        无法防御绕过防火墙的攻击。无法防御内部攻击。无法防御计算机病毒。

防火墙的保护作用方法

        包过滤:拒绝未经授权的TCP/IP数据包或连接尝试。

        应用层网关:充当应用层流量的中继。比数据包过滤器更安全,可以在应用层记录和审核流量。

        电路层网关:不允许端到端的TCP连接,而是中继它们。在自身和内部主机以及自身和外部主机之间建立两个连接。

        代理服务:代表内部主机与外部主机建立高级应用层连接,完全隔离内部与外部主机。

其他防火墙服务:加密身份验证、VPN、病毒扫描、内容过滤等。

防火墙配置

        包括不同形式的防火墙:双重接口堡垒主机。屏蔽子网防火墙。

        其他服务:虚拟专用网络(VPN)和分布式防火墙。

信任系统和多级安全

        用于保护数据和资源:基于安全级别(机密、秘密、最高机密等)。

参考监视器概念

        信任系统的核心:完全调解、隔离、可验证性。

防火墙受到攻击

最后,防火墙需要注意的问题包括无法防御绕过防火墙的攻击、内部攻击、计算机病毒等。 Trojan Horse攻击是一种常见的攻击方式,通过植入木马程序来绕过防火墙,引起数据泄露等问题。

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

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

相关文章

【前缀和】303.区域和检索-数组不可变

题目 法1&#xff1a;前缀和 class NumArray {private int[] preSumArray;public NumArray(int[] nums) {preSumArray new int[nums.length 1];for (int i 1; i < nums.length 1; i) {preSumArray[i] preSumArray[i - 1] nums[i - 1];}}public int sumRange(int lef…

【python基础】(六):常用内置函数用法

在Python中&#xff0c;内置函数是指那些随Python环境提供&#xff0c;可以直接使用的函数&#xff0c;无需进行任何额外的导入&#xff08;import&#xff09;操作。这些函数是Python标准库的一部分&#xff0c;可以在任何Python程序中直接调用。内置函数提供了一些基本且强大…

CodeWave智能开发平台--02--目标:文档快速阅读

CodeWave智能开发平台的02次接触-实现快速了解CodeWave平台 CodeWave参考资源 网易数帆CodeWave开发者社区课程中心 网易数帆CodeWave开发者社区文档中心 CodeWave智能开发平台-文档快速阅读指北 大家如果看了本专栏中的第一篇博客&#xff0c;应该知道我接触CodeWave不久&a…

SpringBoot之注册Web组件

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 SpringBoot之注册Web组件 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、注册Servle…

RabbitMQ(七)ACK 消息确认机制

目录 一、简介1.1 背景1.2 定义1.3 如何查看确认/未确认的消息数&#xff1f; 二、消息确认机制的分类2.1 消息发送确认1&#xff09;ConfirmCallback方法2&#xff09;ReturnCallback方法3&#xff09;代码实现方式一&#xff1a;统一配置a.配置类a.生产者c.消费者d.测试结果 …

最优化方法Python计算:无约束优化应用——神经网络分类模型

Hello&#xff0c; 2024. 用MLPModel类&#xff08;详见博文《最优化方法Python计算&#xff1a;无约束优化应用——神经网络回归模型》&#xff09;和Classification类&#xff08;详见博文《最优化方法Python计算&#xff1a;无约束优化应用——逻辑分类模型》&#xff09;可…

TypeScript中的Declare关键字的作用

详细介绍TypeScript中的“declare”关键字的作用&#xff0c;这样你对*.d.ts文件就不陌生了。 当你在TypeScript项目中打开 *.d.ts 声明文件时&#xff0c;你可能会看到 declare 。你知道 declare 是做什么的吗?如果你不知道&#xff0c;读完这篇文章&#xff0c;也许你就会知…

安装VS Code到AWS EC2 Linux 2

文章目录 小结问题及解决参考 小结 本文记录了安装VS Code到AWS EC2 Linux 2。 问题及解决 安装VS Code到AWS EC2 Linux 2采取了以下步骤&#xff1a; 更新VS Code的YUM源&#xff1a; [ec2-userip-100-92-28-119 ~]$ sudo rpm --import https://packages.microsoft.com/k…

2023-12-02 青少年软件编程(C语言)等级考试试卷(一级)解析

2023-12-02 青少年软件编程(C语言)等级考试试卷(一级)解析 一、编程题(共5题,共100分)T1.数的输入和输出 输入一个整数和双精度浮点数,先将浮点数保留2位小数输出,然后输出整数。 时间限制:1000 内存限制:65536 输入 一行两个数,分别为整数N(不超过整型范围),双精…

LanChatRoom局域网聊天室

CPP已经结课&#xff0c;我提交的项目是Qt的入门项目&#xff0c;局域网聊天室LanChatRoom。 这个代码重构了很多遍。第一遍是照着明哥推荐到书&#xff0c;把代码抄了一遍。 但抄下来之后&#xff0c;各种问题&#xff0c;而且是清朝老代码。抄了一遍之后&#xff0c;对代码的…

Python访问ElasticSearch

ElasticSearch是广受欢迎的NoSQL数据库&#xff0c;其分布式架构提供了极佳的数据空间的水平扩展能力&#xff0c;同时保障了数据的可靠性&#xff1b;反向索引技术使得数据检索和查询速度非常快。更多功能参见官网介绍 https://www.elastic.co/cn/elasticsearch/ 下面简单罗列…

python慕课版课后题答案,python慕课作业答案

这篇文章主要介绍了中国大学慕课python测验答案&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获&#xff0c;下面让小编带着大家一起了解一下。 Flag 8月29日前学习完MOOC_Python课程&#xff0c;以下各测试题均来自于Python…

数据结构-线性表-顺序存储

线性表概念 线性表是一种线性结构&#xff0c;它是由n(n≥0)个数据元素a1&#xff0c;a2,…&#xff0c;an组成的有限序列。 线性表的基本运算 初始化 Initiate (L)&#xff1a;建立一个空表 L()&#xff0c;L 不含数据元素。 求表长度 Length(L)&#xff1a;返回线性表 L 的…

深度学习|10.2 边缘检测示例 10.3 更多边缘检测

文章目录 如何在编程中实现卷积运算使用卷积实现边缘检测结果矩阵的元素正负性质的意义水平分类器如何构造卷积运算使用的矩阵 原矩阵通过一个过滤器&#xff08;filter&#xff09;/核心&#xff08;kernel&#xff09;来生成一个新的矩阵。 如何在编程中实现卷积运算 使用卷积…

Kafka安全认证机制详解之SASL_PLAIN

一、概述 官方文档&#xff1a; https://kafka.apache.org/documentation/#security 在官方文档中&#xff0c;kafka有五种加密认证方式&#xff0c;分别如下&#xff1a; SSL&#xff1a;用于测试环境SASL/GSSAPI (Kerberos) &#xff1a;使用kerberos认证&#xff0c;密码是…

Redis:原理+项目实战——Redis实战3(Redis缓存最佳实践(问题解析+高级实现))

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理项目实战——Redis实战2&#xff08;Redis实现短信登录&#xff08;原理剖析代码优化&#xff09;&#x…

golang利用alpn机制实现优先以http2协议访问服务端

文章目录 配置连接池发起请求 配置连接池 初始化http连接池 t1 : &http.Transport{Proxy: func(*http.Request) (*url.URL, error) {// 不读取HTTP_PROXY环境变量return nil, nil},DialContext: (&net.Dialer{// TCP握手超时Timeout: 3 * time.Second,// TCP协议的长…

【计算机毕业设计】SSM游戏点评网站

项目介绍 本项目分为前后台&#xff0c;前台为普通用户登录&#xff0c;后台为管理员登录&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,管理员管理,网站用户管理,游戏资讯管理,游戏类型管理,城市信息管理,竞技场管理,游戏信息管理,游戏评价信息管理等功能。…

【总结】请求跨域及其终极解决方案

文章目录 跨域示例浏览器的同源策略跨域访问类型跨域解决方案方案 1:允许跨域,配置 CORS自定义 Filter 实现使用 Spring 自带的 CorsFilter使用 @CrossOrigin 注解SpringMVC 全局配置Spring Cloud Gateway 配置 CORS方案 2:实现同源请求代理服务器实现同源子域与父域修改(d…

使用UDF扩展Spark SQL

Apache Spark是一个强大的分布式计算框架&#xff0c;Spark SQL是其一个核心模块&#xff0c;用于处理结构化数据。虽然Spark SQL内置了许多强大的函数和操作&#xff0c;但有时可能需要自定义函数来处理特定的数据需求。在Spark SQL中&#xff0c;可以使用UDF&#xff08;User…