当前位置: 首页 > news >正文

SSL VPN基础原理

目录

SSL ---安全传输协议(安全套接层)---TLS ----传输层安全协议

SSL的工作原理

SSL会话建立的过程    

​编辑

数据传输过程中的封装示意图

无客户端认证的过程

有客户端认证的过程

SSL VPN的核心技术---虚拟网关技术

服务器验证的点:

资源访问

文件共享


Ip sec VPN针对Client to LAN的场景,存在的弱势点:
1,IKEV1不支持远程用户接入,IKEV2支持,但是采用EAP认证的方法,目前尚未普及;
2,因为需要进行参数协商,所以,我们的PC设备需要安装专门的应用程序来进行支持;
3,因为IPSEC VPN需要抓取感兴趣流,但是,PC设备所在私网网段不固定,需要不断的调整 策略,导致部署不灵活。
4,因为IPSEC VPN主要通过抓取感兴趣流来进行访问控制,最多可以深入到服务层面,但
是,无法深入到应用层面。所以,如果需要进行更细颗粒度的控制,则IPSEC VPN略显不 足。

SSL VPN 的优势
1,SSL VPN采用的是一种基于B/S架构的模式,不需要额外安装客户端,可以直接通过浏览
      器进行访问。
2,部署更加灵活,因为他的封装位置在于传输层和应用层之间,不会保护传输层和网络层的
      数据,所以,不会影响到网络环境。
3,因为SSL VPN针对的是应用层进行控制,所以,可以实现更细颗粒的控制,可以深入到          应用层面。

SSL ---安全传输协议(安全套接层)---TLS ----传输层安全协议

SSL的工作原理

        SSL协议因为是基于 TCP 协议工作的,所以,通信双方需要先建立 TCP 会话,之后,因为 SSL 协议需要进行安全保证,需要协商安全参数,所以,也需要建立SSL会话。之后,所有的数据将加密传输。SSL的加密和认证体系,采用的是 证书体系 来实现的。

SSL记录协议 ---相当于将应用层的数据加密封装之后,放置在这个记录协议中。
SSL握手协议 ---允许服务器和客户端相互认证,并在应用层协议传输数据之前,协商出一个                           加密算法和 会话密钥(对称加密算法的密钥)
SSL密码变化协议 ---客户端和服务器都可以发送,主要就是通知后面的数据将使用协商出来
                                的加密算法加密传输。
SSL警告协议 ---用来在出现错误的时候进行告警。

SSL会话建立的过程    

1,TCP三次握手,建立链接会话。

2,客户端发送client hello包

3,server hello

最后这个服务器证书,可能随着server hello包发送过来,也可能单独使用一个数据包发送。

4, 服务器发送证书---验证身份
Server key exchange ---传递公钥的

Server hello done

        该数据包中没有实质参数,仅起到通知作用,通知客户端,服务器已经做好准备进行主密钥的协商。
        在这个过程中,可以增加客户端的证书请求(要求客户端的身份认证),但是,这一项是可选项,默认只进行服务器的身份认证
5,客户端的回应

        因为此时客户端已经拥有服务器的公钥,所以,发送的参数都是 加密(公钥加密,非对称加密算法) 发送的。
1,预主密钥---pre-master-key ----注意,最终的会话密钥就是靠三个随机数生成---1,客户端发送的随机数;2,服务器发送的随机数;3,预主密钥(加密发送)---因为机器产生的随机数都是伪随机数,所以,可能存在被破解的风险,所以,使用三个随机数进行计算,更安全。三个随机数相当于是真随机。
2,编码变更通知---因为此时客户端已经拥有三个随机数,可以计算出最最终的
会话密钥,所以,告知服务器,后面是数据可以加密传输了。
3,结束通知---告知结束,并进行一次验证

6,服务器的最终回应

Session ticket ---进行会话复用----主要记录身份认证信息。----会话结束之后,如果需要重启会话,在重新进行握手是,客户端发送hello时,可以携带该参数,用于快速重启会话。(省略了身份认证。)

数据传输过程中的封装示意图

无客户端认证的过程

有客户端认证的过程

会话的快速回复---减少了认证环节

SSL协议的脆弱性
1 ,客户端假冒---因为客户端认证时可选项,所以,存在一定的安全风险---可以选择对客户                               端进行认证
2,SSL协议无法抵抗流量分析---通过暴露出来的IP信息,或者端口信息,可以推断出
                                                   一些信息,从而暴露出脆弱性。
3,无法保护UDP应用----SSL VPN可以

SSL VPN的核心技术---虚拟网关技术

        虚拟网关可以理解为是SSL VPN 服务本身,也可以看作是一个对外开放的接口。用户可以通过 IP地址或者域明通过浏览器来访问虚拟网关。当然,这个过程中是需要进行用户认证。这里的用户认证主要目的是为了绑定行为,区分权限。之后,我们可以在虚拟网关中发布各种内网的资源,不同的用户,访问资源的权限不同,则其登录到虚拟网关之后,看到的资源列表中的内容也不相同。之后,用户便可以通过虚拟网关访问到内网中的资源。一台设备上可以创建多个虚拟网关,并且,不同的虚拟网关彼此独立,各自维护自己的资源列表和用户,实现一个细颗粒度的控制。

RBAC --- 基于角色的访问控制模型
用户认证
本地认证:通过用户名和密码进行认证,认证信息存储在防火墙本地,由防火墙判断认
                  证是否成功。
服务器认证:通过对接第三方的认证服务器,也是输入用户名和密码,不过这个信息存
储在第三方服务器上,由第三方服务器进行认证判断,之后将结果反馈给防火墙。
证书匿名认证:指用户的客户端配备客户端证书,防火墙通过验证客户端的证书,来认
                         证用户身份

 

服务器验证的点:

1,客户端证书和本地的客户端CA证书是同一个CA机构颁布的;
2,客户端证书需要在有效期内

3,客户端证书中的用户过滤字段必须在防火墙上已经配置并存储了用户名。

        例如:过滤字段中由这样的内容---CN = USER000019,则要求防火墙中的用户中必须存在user000019的用户。---其实就是和我们的用户找一个对应关系。

证书挑战认证:相当于同时进行证书认证和用户名密码认证。双因素认证。

资源访问

        web代理---仅针对HTTP协议

1,虚拟网关发布url为http://website/resource.html的web资源
2,拥有访问权限的用户首先得访问虚拟网关,进行用户身份的认证,获得资源列表
3,注意,资源列表中并不是直接将内网发布的URL放上去,而是需要进行改写,改写成为          代   理的URL。
4,之后,用户通过点击资源链接,访问到虚拟网关,虚拟网关解析之后找到内网资源获取         网    页信息。
5,虚拟网关获取到内网信息之后,再将网页信息转发给远程用户。

Web-linkweb 改写

文件共享

SMB ---windows
NFS ---LINUX

端口转发
主要针对非 web 服务且基于 TCP 协议
需要下载一个 IE 浏览器的控件---ActiveX

有了这个端口转发之后,所有基于 TCP 的资源都可以发布。
网络扩展
        如果需要获取“网络扩展”的资源,则客户端再接入虚拟网关之后,会生成一张虚拟网
卡。虚拟网关会给这个虚拟网卡下发一个私网网段的 IP 地址。
可靠传输模式和快速传输模式
可靠传输模式

快速传输模式

QUIC ---基于UDP协议,采用SSL/TLS加密的协议

相关文章:

SSL VPN基础原理

目录 SSL ---安全传输协议(安全套接层)---TLS ----传输层安全协议 SSL的工作原理 SSL会话建立的过程 ​编辑 数据传输过程中的封装示意图 无客户端认证的过程 有客户端认证的过程 SSL VPN的核心技术---虚拟网关技术 服务器验证的点: 资源…...

深入理解FTP协议:文件传输的桥梁

深入理解FTP协议:文件传输的桥梁 在数字化时代,文件传输协议(FTP)是互联网上进行文件交换的重要手段。FTP允许用户在不同的计算机之间传输文件,无论是上传还是下载,都提供了一种稳定且高效的方式。本文将深…...

数字化转型导师坚鹏:金融机构数字化运营

金融机构数字化运营 课程背景: 很多金融机构存在以下问题: 不清楚数字化运营对金融机构发展有什么影响? 不知道如何提升金融机构数字化运营能力? 不知道金融机构如何开展数字化运营工作? 课程特色:…...

一、C#冒泡排序算法

一、C#冒泡排序算法 简介 冒泡排序算法是一种基础的排序算法,它的实现原理比较简单。核心思想是通过相邻元素的比较和交换来将最大(或最小)的元素逐步"冒泡"到数列的末尾。 实现原理 冒泡排序是一种简单的排序算法,其…...

docker部署mysql5

1. 进入面板 2. 新建挂载文件夹 新建三个文件夹: mkdir -p /docker/mysql5/config && mkdir -p /docker/mysql5/data && mkdir -p /docker/mysql5/logsconfig:存放mysql配置data:存放mysql数据logs:存放mysql记录日志 3.…...

Github 2024-03-15 Java开源项目日报 Top10

根据Github Trendings的统计,今日(2024-03-15统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目9非开发语言项目1TypeScript项目1《Hello 算法》:动画图解、一键运行的数据结构与算法教程 创建周期:476 天协议类型:OtherStar数量…...

SQLiteC/C++接口详细介绍之sqlite3类(六)

快速前往文章列表:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍之sqlite3类(五) 下一篇:SQLiteC/C接口详细介绍之sqlite3类(七) 19. sqlite3_changes与sqlite3_changes64 是SQLite中用…...

编码技巧:多条件判断拼接字符串

在写代码业务逻辑的时候,有时候需求稍微变化一下都让代码变的很麻烦,如果只在现有代码基础上硬改,可能会让可读性降低,本文通过一个例子来演示字符串拼接的变化。 一开始的业务逻辑比较简单,是固定条件加一个需要判断…...

气压计LPS25HB开发(1)----轮询获取气压计数据

气压计LPS25HB开发----1.轮询获取气压计数据 概述视频教学样品申请源码下载产品特性通信模式速率生成STM32CUBEMX串口配置IIC配置SA0地址设置串口重定向参考程序SA0设置模块地址获取ID复位操作BDU设置设置速率轮询读取数据演示 概述 本文将介绍如何使用 LPS25HB 传感器来读取数…...

这个不需要吗 HttpServletRequest req

这个不需要吗 HttpServletRequest req 在这个特定场景下,您在OnlineStudentFeignService接口中确实不需要直接使用HttpServletRequest对象。因为Feign是一个声明式的HTTP客户端,它的设计目标是简化服务间的远程调用,它并不直接处理原始的HTT…...

【算法与数据结构】深入解析二叉树(一)

文章目录 📝数概念及结构🌠 树的概念🌉树的表示🌠 树在实际中的运用(表示文件系统的目录树结构) 🌉二叉树概念及结构🌠概念🌉数据结构中的二叉树🌠特殊的二叉…...

深入浅出:Objective-C中使用MWFeedParser下载豆瓣RSS

摘要 本文旨在介绍如何在Objective-C中使用MWFeedParser库下载豆瓣RSS内容,同时展示如何通过爬虫代理IP技术和多线程提高爬虫的效率和安全性。 背景 随着信息量的激增,爬虫技术成为了获取和处理大量网络数据的重要手段。Objective-C作为一种成熟的编程…...

Java日志框架Log4j 2详解

有时希望能够以文件的形式记录执行过程中出现的异常信息,甚至记录程序正常运行的关键步骤,以便日后查看,那么该如何处理呢? 答:显然,可以自行编程实现这个需求,但是,从更注重效率和性能的方面考虑&#x…...

【剪枝实战】使用VGGNet训练、稀疏训练、剪枝、微调等,剪枝出只有3M的模型

摘要 本次剪枝实战是基于下面这篇论文去复现的,主要是实现对BN层的γ/gamma进行剪枝操作,本文用到的代码和数据集都可以在我的资源中免费下载到。 相关论文:Learning Efficient Convolutional Networks through Network Slimming (ICCV 2017…...

OSI(Open Systems Interconnection)模型和TCP/IP模型

OSI模型 OSI模型是一个概念模型,由国际标准化组织(ISO)在1984年提出,用于促进不同系统间的通信互联。OSI模型将网络通信的过程分为七层,每一层都有其特定的功能,从下至上依次是: 物理层&#x…...

git基础命令(二)

目录 git revert 撤消上一次提交的更改但是会创建一个新的提交来撤消该提交所做的更改git show 显示提交详细信息git mv 重命名文件git rm 从工作树和索引中移除文件git clean 从工作树中移除未跟踪文件git checkout 将文件恢复到工作树git reset 撤销更改、移动 HEAD 指针以及…...

从零开始学习typescript系列 1:typescript 基本了解之是什么,为什么,以及怎么用

初识ts 基本了解 设计者,实现者:微软发行时间:2012年10月1日GitHub:https://github.com/microsoft/TypeScriptts和js关系:ts是js的扩展,ts语法包含js ts是新语言吗? 不是,在js基…...

【数学建模】线性规划

针对未来可能的数学建模比赛内容,我对学习的内容做了一些调整,所以先跳过灰色关联分析和模糊综合评价的代码,今天先来了解一下运筹规划类——线性规划模型。 背景: 某数学建模游戏有三种题型,分别是A,B&am…...

MQTT 的 QoS 等级:QoS 0、QoS 1、QoS 2

MQTT(Message Queuing Telemetry Transport)是一种轻量级的通信协议,在物联网和消息传递系统中广泛应用。MQTT 提供了三个不同的 QoS(Quality of Service)等级,用于确保消息的可靠性和传输效率。本文将详细…...

搭建个人智能家居 3 -第一个设备“点灯”

搭建个人智能家居 3 -第一个外设“点灯” 前言ESPHome点灯 HomeAssistant 前言 前面我们已经完成了搭建这个智能家居所需要的环境HomeAssistant和ESPHome,今天我们开始在这个智能家居中添加我们的第一个设备(一颗LED灯),如果环境…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...