SSL VPN基础原理

news2024/11/16 1:49:45

目录

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加密的协议

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

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

相关文章

Gitlab光速发起Merge Request

前言 在我们日常开发过程中需要经常使用到Merge Request,在使用过程中我们需要来回在开发工具和UI界面之前来回切换,十分麻烦。那有没有一种办法可以时间直接开发开工具中直接发起Merge Request呢? 答案是有的。 使用 Git 命令方式创建 Me…

npm、nodejs和vue之间关系和区别介绍

本文讲解npm、Node.js和Vue.js这三者之间的关系和区别,以及它们各自的特点。 首先,让我们来了解一下Node.js。 **Node.js** 是一个开源的服务器端运行环境,它允许开发者使用JavaScript来编写服务器端的代码。在传统的Web开发中&#…

免费 Copilot 用户可以访问 OpenAI 的 GPT-4 Turbo;面向 3D 虚拟环境的多面手 AI 代理

🦉 AI新闻 🚀 免费 Copilot 用户可以访问 OpenAI 的 GPT-4 Turbo 摘要:微软宣布免费版Copilot已升级到GPT-4 Turbo模型,所有用户都可以免费使用。此外,Copilot Pro新增了GPT Builder工具,订阅者可创建自定…

网上商城购物系统|基于springboot框架+ Mysql+Java+B/S架构的网上商城购物系统设计与实现(可运行源码+数据库+设计文档+部署说明)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 管理员功能登录前台功能效果图 用户功能模块 系统功能设计 数据库E-R图设计 lunwen参…

【数据结构】哈希表(哈希函数+负载因子+解决冲突方法)

文章目录 五、哈希表1.概念2.哈希函数1.设计哈希函数:2.常见的哈希函数1.直接定址法(常用):2.除留余数法(常用) 3.负载因子4.解决冲突1.闭散列法(开放地址法)1.线性探测法&#xff1…

docker容器启动rabbitmq

docker容器启动rabbitmq 一、RabbitMQ部署1.1.在线拉取mq镜像1.2.运行mq容器1.3.访问mq 二、RabbitMQ的集群2.1.集群分类2.1.设置 /etc/hosts文件 endl 一、RabbitMQ部署 1.1.在线拉取mq镜像 # 在线拉取 docker pull rabbitmq:3-management1.2.运行mq容器 docker run \ -e R…

python爬虫 Appium+mitmdump 京东商品

爬虫系列:http://t.csdnimg.cn/WfCSx 前言 我们知道通过Charles进行抓包可以发现其参数相当复杂,Form 表单有很多加密参数。如果我们只用 Charles 探测到这个接口链接和参数,还是无法直接构造请求的参数,构造的过程涉及一些加密…

Kafka-生产者报错javax.management.InstanceAlreadyExistsException

生产者发送消息到 kafka 中,然后控制台报错 然后根据日志查看 kafka 的源码发现了问题原因 说的是MBean已经注册了,然后报异常了,这样就会导致生产者的kafka注册失败, 原因是项目上生产者没有配置clientId,默认都是空导致的, 多个生产者(项目)注册到kafka集群中的 id 都相同。 …

水泵房远程监控物联网系统

随着物联网技术的快速发展,越来越多的行业开始利用物联网技术实现设备的远程监控与管理。水泵房作为城市供水系统的重要组成部分,其运行状态的监控与管理至关重要。HiWoo Cloud作为专业的物联网云服务平台,为水泵房远程监控提供了高效、稳定、…

SpringCloud(22)之Sentinel实战应用

一、Sentinel核心库 sentinel主页:主页 alibaba/Sentinel Wiki GitHub 1.1 Sentinel介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点&…

有趣的前端知识(三)

推荐阅读 有趣的前端知识(一) 有趣的前端知识(二) 文章目录 推荐阅读JS内置对象JS外部对象BOM模型history对象screen对象navigator对象 DOM(文档对象模型)DOM的方法(对于节点的操作&#xff09…

Rudolf and the Ball Game

传送门 题意 思路 暴力枚举每一个妆台的转换条件 code #include<iostream> #include<cstdio> #include<stack> #include<vector> #include<algorithm> #include<cmath> #include<queue> #include<cstring> #include<ma…

ChatGPT 插件Plugin集合

ChatGPT的插件功能推出一段时间了&#xff0c;陆陆续续的上架了得有200了。 但是其中大部分都不是很好用&#xff0c;并且找起来也复杂。 推荐一个不知名热心人做的导航页。 ChatGPT Plugins Overview 基本上集合了所有的插件&#xff0c;并且还在实时更新中。 需要升级4.0&a…

el-input设置max、min无效的解决方案

目录 一、方式1&#xff1a;type“number” 二、方式2&#xff1a;oninput&#xff08;推荐&#xff09; 三、计算属性 如下表所示&#xff0c;下面为官方关于max&#xff0c;min的介绍&#xff1a; el-input&#xff1a; max原生属性&#xff0c;设置最大值min原生属性&a…

<Senior High School Math>: inequality question

( 1 ) . o m i t (1). omit (1).omit ( 2 ) . ( a 2 − b 2 ) ( x 2 a 2 − y 2 b 2 ) ( x 2 y 2 ) − ( a 2 y 2 b 2 b 2 x 2 a 2 ) ≤ x 2 y 2 − 2 x y ( x − y ) 2 (2). (a^2-b^2)(\frac{x^2}{a^2} - \frac{y^2}{b^2})(x^2y^2)-(\frac{a^2y^2}{b^2}\frac{b^2x^2}{a^…

自然语言处理NLP:tf-idf原理、参数及实战

大家好&#xff0c;tf-idf作为文体特征提取的常用统计方法之一&#xff0c;适合用于文本分类任务&#xff0c;本文将从原理、参数详解和实际处理方面介绍tf-idf&#xff0c;助力tf-idf用于文本数据分类。 1.tf-idf原理 tf 表示词频&#xff0c;即某单词在某文本中的出现次数与…

【刷题】双指针进阶

请看入门篇 &#xff1a;双指针入门 送给我们一句话&#xff1a; 如今我努力奔跑&#xff0c;不过是为了追上那个曾经被寄予厚望的自己 —— 约翰。利文斯顿 双指针进阶 Leetcode 611 有效三角形的个数Leetcode LCR179.查找总价格为目标值的两个商品Leetcode 15.三数之和Thanks…

uniapp中人脸识别图片并圈起人脸

效果如上&#xff0c;我用的是阿里云的人脸识别。首先&#xff0c;我们先封装一个阿里云的请求js文件 faceRecognition.js import CryptoJS from crypto-js//SignatureNonce随机数字 function signNRandom() {const Rand Math.random()const mineId Math.round(Rand * 1000…

UE5 android打包

下载安装JDK https://repo.huaweicloud.com/java/jdk/https://repo.huaweicloud.com/java/jdk/ 选择对应的jdk版本 配置环境变量 编辑Path 验证是否成功 java -version 安装Android Studio https://developer.android.google.cn/studio?hlzh-cnhttps://developer.androi…

EMQX 4.0和EMQX 5.0集群架构实现1亿MQTT连接哪些改进

EMQX 5.0水平扩展能力得到了指数级提升&#xff0c;能够更可靠地承载更大规模的物联网设备连接量。 在EMQX5.0正式发布前的性能测试中&#xff0c;我们通过一个23节点的EMQX集群&#xff0c;全球首个达成了1亿MQTT连接每秒100万消息吞吐&#xff0c;这也使得EMQX 5.0成为目前为…