SSL---VPN
文章目录
-
目录
一.SSL-VPN概述
优点
二.SSL协议的工作原理
三.虚拟网关技术
用户认证方式
本地认证
服务器认证:
证书匿名认证
Web代理
Web-link和Web改写
端口转发
网络扩展(允许UDP协议)
总结
一.SSL-VPN概述
SLL VPN是一种基于HTTPS(即支持SSL的HTTP协议)的远程安全接入技术。它充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制,从而为用户远程访问公司内部网络提供安全保障。
优点
SSL VPN具有多项显著特点。首先,它采用无客户端部署,这是因为Web浏览器都内嵌支持SSL协议,使得远程安全接入的使用变得非常简单。此外,SSL VPN工作在传输层和应用层之间,不会改变IP报文头和TCP报文头,也不会影响原有网络拓扑。因此,其部署、配置和维护都相对简便和低成本。
从安全性角度看,SSL VPN采用公匙加密的方式保障数据在传输过程中的安全性。它使用浏览器和服务器直接沟通的方式,既方便了用户的使用,又通过SSL协议保证了数据的安全。此外,SSL VPN还可以对应用进行精细化管控,对具体的应用进行保护。
与IPSec VPN相比,SSL VPN具有架构简单、运营成本低、处理速度快和安全性能高等特点。然而,由于SSL VPN是基于WEB开发的,通过浏览器来使用,因此,在保障其安全运营方面,需要不断更新安全技术以应对电脑病毒的多样性。
SSL 协议封装解析:
二.SSL协议的工作原理
- SSL记录协议:应用层的数据加密封装之后,放置在这个记录协议中。
- SSL握手协议:允许服务器和客户端相互认证,并在应用层协议传输数据之前,协商出一个 加密算法和会话密钥(对称加密算法的密钥)。
- SSL密码变化协议:通知后面的数据将使用协商出来 的加密算法加密传输。
- SSL警告协议: 用来在出现错误的时候进行告警
SSL协议(Secure Socket Layer,安全套接字层)的工作原理主要涉及到在客户端和服务器之间建立一条安全的信息传输加密通道,以确保数据在传输过程中的安全性和完整性。
以下是SSL协议的主要工作原理:前提建立TCP连接
1.客户端发起连接请求:
2.服务器回应并发送证书:
该数据包中没有实质参数,仅起到通知作用,通知客户端,服务器已经做好准备进行主 密钥的协商。
3.密钥交换:客户端
因为此时客户端已经拥有服务器的公钥,所以,发送的参数都是加密(公钥加密,非对 称加密算法)发送的。
- 1,预主密钥---pre-master-key ---- 注意,最终的会话密钥就是靠三个随机数 生成--- 1,客户端发送的随机数;
- 2,服务器发送的随机数;
- 3,预主密钥(加密 发送)---因为机器产生的随机数都是伪随机数,所以,可能存在被破解的风险, 所以,使用三个随机数进行计算,更安全。三个随机数相当于是真随机。
- 2,编码变更通知---因为此时客户端已经拥有三个随机数,可以计算出最最终的 会话密钥,所以,告知服务器,后面是数据可以加密传输了。
- 3,结束通知---告知结束,并进行一次验证
6.密钥交换:服务端
Session ticket --- 进行会话复用---- 主要记录身份认证信息。----会话结束之后,如 果需要重启会话,在重新进行握手是,客户端发送hello时,可以携带该参数,用于快速 重启会话。(省略了身份认证。)
三.虚拟网关技术
SSL VPN中的虚拟网关是远程用户访问企业内网资源的统一入口。这个虚拟网关是由FW(防火墙)设备提供的SSL VPN接入服务功能模块,用于处理远程用户的连接请求和管理访问权限。
在设备上部署SSL VPN功能时,管理员需要先创建虚拟网关。每个虚拟网关之间相互独立,互不影响,管理员可以在虚拟网关下配置各自的用户、资源和策略,进行单独管理。虚拟网关本身没有独立的管理员,所有虚拟网关的创建、配置、修改和删除等管理操作都由FW的系统管理员统一完成。
远程用户通过Web浏览器(客户端)登录虚拟网关,请求建立SSL连接。虚拟网关会向远程用户发送自己的本地证书,进行身份认证。认证通过后,远程用户与虚拟网关成功建立SSL连接,之后虚拟网关会对远程用户进行用户认证,验证用户身份。
在虚拟网关建立后,管理员还需要在虚拟网关下配置SSL VPN的基本功能、WEB代理业务、端口转发业务、网络扩展业务和页面定制功能,以满足不同用户的访问需求.
用户认证方式
-
本地认证
基于本地用户名和密码的认证方式。这种方式要求用户在虚拟网关上拥有账户,并输入正确的用户名和密码才能访问资源。
-
服务器认证:
通过对接第三方的认证服务器,也是输入用户名和密码,不过这个信息存 储在第三方服务器上,由第三方服务器进行认证判断,之后将结果反馈给防火墙。
-
证书匿名认证
防火墙通过验证客户端证书的合法性实现身份验证。
身份认证通过需求:
- 服务器能够使用CA机构颁发的客户端CA证书中包含的公钥能够解开客户端用于身份验证的客户端证书(包含CA私钥)---证明该用户身份的合法性。
- 服务器通过识别客户端证书用户过滤字段来确认管理员是否配置了并存贮了用户信息从而确认服务器是否允许该用户访问。
-
Web代理
服务器将访问本地资源的URL发布在虚拟网关的资源列表中,虚拟网关改写该URL(如上图),用户成功登录虚拟网关后通过获取资源列表信息中被改写的URL访问服务器;用户的请求报文会发送给虚拟网关,虚拟网关代替用户向服务器请求资源;然后虚拟网关再次代替服务器给用户回复资源响应报文。
Web-link和Web改写
端口转发
主要针对非web服务且基于TCP协议(例如:SSH,远程登录)
前提:需要下载一个IE浏览器的控件---ActiveX
虚拟网关会将资源资源访问路径(例如:1.1.1.1:23)下发给客户端的ActiveXk控件,ActiveX会监听客户端的动作,若客户端访问IP:1.1.1.+端口23 时(IP+端口同时满足)会触发ActiveX控件,ActiveX将该报文拦截并发送给虚拟网关。
网络扩展(允许UDP协议)
如果需要获取“网络扩展”的资源,则客户端再接入虚拟网关之后,会生成一张虚拟网 卡。虚拟网关会给这个虚拟网卡下发一个私网网段的IP地址用于封装报文(参考GRE)建立进入与虚拟网关连接的隧道,后面过程如上图。
快速传输模式
总结
相关文章:

SSL---VPN
文章目录 目录 一.SSL-VPN概述 优点 二.SSL协议的工作原理 三.虚拟网关技术 用户认证方式 本地认证 服务器认证: 证书匿名认证 Web代理 Web-link和Web改写 端口转发 网络扩展(允许UDP协议) 总结 一.SSL-VPN概述 SLL VPN是一种基于HTTPS&am…...

Chrome 跨域问题CORS 分析
先叠个甲,有错误,望沟通指正! 文章目录 1.什么是跨域报错2.为什么postman可以,浏览器访问就不行?根本原因是什么?2.1浏览器是依据什么来报错跨域的? 3.常规解决方案的分析方案1.通过代理解决方案2.被请求的B域的服务端开启Access-Control-Allow-Origin返回头的支持方案3.通…...

GPU性能测试中的张量和矩阵运算
正文共:888 字 7 图,预估阅读时间:1 分钟 前面我们使用PyTorch将Tesla M4跑起来之后(成了!Tesla M4Windows 10AnacondaCUDA 11.8cuDNNPython 3.11),一直有个问题,那就是显存容量的问…...

Linux运维_Bash脚本_编译安装FreeRDP-3.3.0
Linux运维_Bash脚本_编译安装FreeRDP-3.3.0 Bash (Bourne Again Shell) 是一个解释器,负责处理 Unix 系统命令行上的命令。它是由 Brian Fox 编写的免费软件,并于 1989 年发布的免费软件,作为 Sh (Bourne Shell) 的替代品。 您可以在 Linux…...

CMake官方教程4--使用表达式生成器
1. 使用表达式生成器产生警告 CMakeList.txt cmake_minimum_required(VERSION 3.15)project(Tutorial VERSION 1.0)add_library(tutorial_compiler_flags INTERFACE) target_compile_features(tutorial_compiler_flags INTERFACE cxx_std_11)set(gcc_like_cxx "$<COM…...

git for windows
记录,git svn混用,检出代码时出错及解决方案, 执行命令: git svn clone svn_project_url 报错: certificate problem.(R)eject,accept (t)emporarily or accept (p)ermanently 解决: 在弹框中 输入P …...

C++实验 面向对象编程
一、实验目的: 掌握类中静态成员的定义方法,初始化方法,使用方法; 掌握类的友元说明方法,理解友元的使用特点 二、实验内容: 1、编写程序,统计某旅馆住宿客人的总数,要求输入客人…...

VC++ 设置网卡接口MTU大小
在 Windows C/C 之中一共有三种方法可以设置网卡的MTU大小。 方法一: SetIpInterfaceEntry 法 static bool SetInterfaceMtu2(int interface_index, int mtu) noexcept{PIP_ADAPTER_ADDRESSES pAddresses NULL;ULONG ulBufLen 0;GetAdaptersAddresses(AF_UNSPEC…...

dpdk-19.11 对向量指令的使用情况分析
不同向量指令识别关键字 __m128i sse uint64x2_t neon __m256i avx2 __m512i avx512 vector altivec dpdk 向量收发包函数 支持 arm neno 向量收发包函数的 pmd 驱动 bnxt hns3 i40e ixgbe mlx5 virtio 支持 sse 向量收发包函数的 pmd 驱动 axgbe hinic fm10k bnxt i40e …...

使用CIP采集欧姆龙EtherNet/IP从入门到精通
本文将会从以下几个方面介绍 1.CIP是什么 2.EtherNet/IP通信是什么 3.CIP通信报文解析 4.使用CIP常用的方法和功能介绍(UCMM) 5.自己封装了一个类,只要知道标签名称,和数据类型即可读写数据 6.demo展示 1.CIP是什么 CIP通信…...

企业如何高效管理微信里的客户?
对于企业来说,懂得高效管理微信列表的客户是非常重要的一件事,只有把客户管理好了,才能更好地提高客户的满意度和忠诚度,我们的销售业务才能顺利进行。 那么,应该怎样管理才能算是高效管理呢?下面就给大家…...

怎么在windows系统上查看kylinos的md5、sha1、sha256值
背景 当前信创行业正如火如荼进行中,当下载kylinos镜像到windows系统下,如何核对镜像是否有损坏,确保文件不被篡改,需要使用工具计算md5、sha1、sha256、sha512值,并与出库邮件中的md5比对。 QuickHash GUI软件简介 QuickHash GUI是一款开源代码的哈希工具,注意哈希能够…...

Windows中在C#中使用Dapper和Mysql.Data库连接MySQL数据库
Windows中在C#中使用Dapper和Mysql.Data库连接MySQL数据库 在Windows中使用C#连接Mysql数据库比较简单,可以直接使用MySql.Data库,目前最新版本为:8.3.0。 当然也可以结合MySql.Data和Dapper库一起使用,目前Dapper的最新版本为&a…...

大一专科,物联网专业,变态成长偏方!
最近看到一个大一,物联网专业的学生提问: 印象中,物联网专业2011年才有的,正好是我毕业那年。 我大概看过物联网专业要学的内容,总结下来就是,比软件不如计算机,比硬件知识不如电子。 不知道老师…...

MyBatis入门(JDBC规范,MyBatis,连接池,Lombok)【详解】
目录 一、JDBC规范【了解】 1. JDBC介绍 2. JDBC示例 3. JDBC的问题 二、MyBatis入门【重点】 1. Mybatis是什么 2. Mybatis使用步骤 3. Mybatis入门案例 1.创建SpringBoot工程 2.创建Mapper 3.功能测试 三、连接池【了解】 1. 什么是连接池 2. 有哪些数据库连接池…...

Vue3--数据和方法
data 组件的 data 选项是一个函数。Vue 在创建新组件实例的过程中会自动调用此函数。 data选项通常返回一个对象,然后 Vue 会通过响应性系统将其包裹起来,并以 $data 的形式存储在组件实例中。 <!DOCTYPE html> <html lang"en"&g…...

网络编程面试题
一、什么是IP地址 1.IP地址是主机在网路中的唯一标识,,当主机从一个网络切换到另一个网络时,会更改IP地址,同样的IP地址也是路由器进行路由选择的标识 2.IP地址的分类 IPV4:采用4字节无符号整数存储 IPV6ÿ…...

移动端区分点击和长按
为了适配移动端,图片加入touchstart,touchend,并加了 e.preventDefault() 屏蔽默认菜单。 然而突然发现移动端图片的链接无响应了,PC端没问题。 而且功能需要区分点击和长按。 原生js如何判断移动端的tap,dbltap,lo…...

虚拟环境的激活
(此博客仅用于我记录虚拟环境的激活方法) 虚拟环境的激活命令: venv/Scripts/activate 在F:\git repo\Database-Course-Design 这个文件夹中启动命令行 这个文件夹中含有虚拟环境venv 输入命令venv/Scripts/activate,就得到下面的结果: 此时就激活了虚拟环境&…...

宏集案例 | 风电滑动轴承齿轮箱内多点温度采集与处理
前言 风力发电机组中的滑动轴承齿轮箱作为关键的传动装置,承担着将风能转化为电能的重要角色。齿轮箱内多点温度的实时监测可以有效地预防设备故障和性能下降。实时监测齿轮箱内多点温度可以有效地预防设备故障和性能下降。 为了确保风力发电机组的安全稳定运行&a…...

linux 16进制写入
1.简单用法[推荐] echo 001122334455 | xxd -r -ps > test // 6 个字节xxd // xxd 命令用于用二进制或十六进制显示文件的内容 -r // 把xxd的十六进制输出内容转换回原文件的二进制内容 -ps // 以 postscript的连续十六进制转储输出,这也叫做纯十六进…...

代码随想录算法训练营第60天| Leetcode 84.柱状图中最大的矩形
文章目录 Leetcode 84.柱状图中最大的矩形 Leetcode 84.柱状图中最大的矩形 题目链接:Leetcode 84.柱状图中最大的矩形 题目描述: 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状…...

编写一个简单的cmakelist.txt
文章目录 代码main.cpp头文件和子模块CMakeLists.txtsubModule/CMakeLists.txt顶层CMakeLists.txtCMakeList中的内容说明生成跨平台到Visual studio下上一篇提到了cmake的设计目的与作用,这一篇就来手动编写一个基本的cmakelist.txt,并演示一下如何生成不同平台的构建文件。 …...

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的零售柜商品检测软件(Python+PySide6界面+训练代码)
摘要:开发高效的零售柜商品识别系统对于智能零售领域的进步至关重要。本文深入介绍了如何运用深度学习技术开发此类系统,并分享了全套实现代码。系统采用了领先的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5进行了性能比较,呈现了诸如…...

数据库的学习
数据库软件: 关系型数据库:Mysql Oracle SqlServer Sqlite 非关系型数据库:Redis NoSQL 1.数组,链表,文件,数据库 数组,链表:内存存放数据的方式&…...

matlab去除图片上的噪声
本问题来自CSDN-问答板块,题主提问。 如何利用matlab去除图片上的噪声? 一、运行效果图 左边是原图,右边是去掉噪音后的图片。 二、中文说明 中值滤波是一种常见的图像处理技术,用于去除图像中的噪声。其原理如下: 1. 滤波器移动:中值滤波器是一个小的窗口,在图像上移…...

C++超详细知识点(五):类的友元函数和友元类
目录 标题: 友元函数和友元类1. 友元函数2. 友元类 标题: 友元函数和友元类 友元函数和友元类是C中的概念,它们允许某些函数或类访问另一个类的私有成员。这样的访问权限超过了通常的私有和保护访问级别。请注意,友元类的使用应该…...

SOC设计:关于reset的细节
有如下几个信号 1、时钟:clk_top 2、总的reset信号:rstn_top 3、scan的reset信号:scan_rstn 4、软件复位信号:rstn_soft_sub 5、scan模式信号:scan_mode 6、reset bypass 信号:scan_rstn_sel 功能&a…...

支小蜜AI校园防欺凌系统可以使用在宿舍吗?
随着人工智能技术的快速发展,AI校园防欺凌系统已成为维护校园安全的重要手段。然而,关于这一系统是否适用于宿舍环境,仍存在一些争议和讨论。本文将探讨AI校园防欺凌系统在宿舍中的适用性,分析其潜在的优势与挑战,并提…...

外卖平台订餐流程架构的实践
当我们想要在外卖平台上订餐时,背后其实涉及到复杂的技术架构和流程设计。本文将就外卖平台订餐流程的架构进行介绍,并探讨其中涉及的关键技术和流程。 ## 第一步:用户端体验 用户通过手机应用或网页访问外卖平台,浏览菜单、选择…...