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

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

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

C++实验 面向对象编程

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

VC++ 设置网卡接口MTU大小

在 Windows C/C 之中一共有三种方法可以设置网卡的MTU大小。 方法一&#xff1a; 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常用的方法和功能介绍&#xff08;UCMM&#xff09; 5.自己封装了一个类&#xff0c;只要知道标签名称&#xff0c;和数据类型即可读写数据 6.demo展示 1.CIP是什么 CIP通信…...

企业如何高效管理微信里的客户?

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

怎么在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数据库比较简单&#xff0c;可以直接使用MySql.Data库&#xff0c;目前最新版本为&#xff1a;8.3.0。 当然也可以结合MySql.Data和Dapper库一起使用&#xff0c;目前Dapper的最新版本为&a…...

大一专科,物联网专业,变态成长偏方!

最近看到一个大一&#xff0c;物联网专业的学生提问&#xff1a; 印象中&#xff0c;物联网专业2011年才有的&#xff0c;正好是我毕业那年。 我大概看过物联网专业要学的内容&#xff0c;总结下来就是&#xff0c;比软件不如计算机&#xff0c;比硬件知识不如电子。 不知道老师…...

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选项通常返回一个对象&#xff0c;然后 Vue 会通过响应性系统将其包裹起来&#xff0c;并以 $data 的形式存储在组件实例中。 <!DOCTYPE html> <html lang"en"&g…...

网络编程面试题

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

移动端区分点击和长按

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

虚拟环境的激活

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

宏集案例 | 风电滑动轴承齿轮箱内多点温度采集与处理

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

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...