第十五章,SSL VPN
前言
- IPSec远程接入场景---client提前安装软件,存在一定的兼容性问题
- IPSec协议只能够对感兴趣的流量进行加密保护,意味着接入用户需要不停的调整策略,来适应IPSec隧道
- IPSec协议对用户访问权限颗粒度划分的不够详细;因为ACL的划分就是通过3.4层流量抓取。
- SSL VPN实际工作位置在传输层和应用层之间。
- 在OSI七层参考模型中,SSL协议属于表示层协议。
- 专门针对应用层来进行安全防护的。即无法影响网络层和传输层,不会改变IP头部和TCP头部。
- SSL协议--->基于浏览器工作的HTTPS协议工作。
- SSL VPN的架构,是属于B/S架构。---SSL不需要安装客户端软件。
- SSL VPN所有的访问控制都是基于应用层执行的;访问权限控制可以达到文件级别。
SSL协议

SSL--->IETF 把 SSL 进行标准化 --->TLS 协议 --- 传输层安全协议
SSL协议是基于TCP协议的安全协议,理论上,可以用于保护正常运行在TCP上的任何应用协议。
SSL工作原理
SSL协议分层
- SSL记录协议 --- 处于可靠的传输层协议TCP以上,用于封装更高层协议的数据。
- SSL握手协议 --- 允许浏览器和服务端之间相互认证,并在应用层传输数据之前,协商出相关参数(加密算法、哈希算法、会话密钥)--->协商参数以及交换证书,从而构造SSL会话。
- SSL密码变化协议 --- 只包含了一个消息--->相当于一个通知信息,告知对方,即将开始使用加密信息进行传输。
SSL总体工作流程


- 支持的协议版本
- Random
- 由客户端生成的伪随机数,用于后续生成会话密钥。
- 对称密钥 --- 总共需要三个参数才可以计算 。
-






- 客户端生成一个预主密钥;使用服务器的公钥进行加密后返回给服务器。服务器利用私钥进行解密,从而获取密钥信息。
- 预主密钥 --- 和前面提到了Client的随机数以及Server的随机数相同。
- 会话密钥 --- 预主密钥 + 服务器随机数 + 客户端随机数。
- 预主密钥是需要加密传输的。
- 此时,客户端已经具备了上述三个条件,是可以生成最终的会话密钥了。
- 在 client key exchange 报文中,回复的具体内容是不确定的,需要根据算法决定。如果客户端使用的是RSA算法,则计算出的是预主密钥;如果是DH或ECDH算法,则计算出的是共享密钥;但是不管使用那种算法,都会计算出第三个随机数,和前面两个随机数一起进行计算,得到最终的会话密钥。


- 会话恢复报文
- 客户端和服务端首次完成TLS握手后,会将本地的会话相关参数,例如标识符、证书、密码套件、主密钥等相关信息进行加密,生成一个票据;会发送给客户端
- 客户端会保存这个票据。当再次与服务器建立连接时,如果希望恢复上一次的会话,就将票据包含在client hello报文中发送给服务端。


SSL加密过程
- 无法保护UDP应用
- 例如采用IPSec
- 使用一些基于UDP的传输层安全协议---DTLS
- 客户端可以被伪造 --- 而且,客户端的认证是可选的。
- SSL协议不能对抗流量分析
SSL VPN
SSL VPN--->其实是厂商创造出来的一个名词远程接入用户利用标准的Web 浏览器内嵌的 SSL 封包处理功能,从而连接企业内部的 VPN 服务器。然后由VPN服务器将报文转发给特定的内部服务器,从而使得远程接入用户通过验证后,可访问企业内网特定的服务器资源。
远程用户与VPN服务器之间,采用SSL协议对传输的数据进行加密。
虚拟网关技术---是SSL VPN的核心技术
SSL VPN流程

[FW1]v-gateway ssl interface GigabitEthernet 1/0/0 port 4430 private---- 开启虚拟网关,名称为 ssl ,使用接口为 GE1/0/0 ,端口 4430 ,独占型
- 本地认证
- 服务器认证
- 证书认证
- 证书匿名认证
- 用户的客户端配备客户端证书,防火墙通过验证客户的证书来认证身份。
- 证书挑战认证
- 服务器通过用户名和密码+客户端证书双重因素认证。
- 证书匿名认证
web代理
https://svn/http:/website/resource.html协议 :// 目录目录:虚拟网关地址,User ID , Session ID 等信息。https://1.1.1.1/webproxy/1/141123654/4/http:/website/resource.html
- web-link
- web改写
文件共享
SMB---windows 系统NFS---linux 系统



端口转发


网络扩展

- 开启网络扩展功能--->
- 移动用户与虚拟网关建立SSL VPN隧道
- 移动用户在PC本地自动生成一个虚拟网卡。
- 虚拟网关从地址池中随机选择一个IP地址分配给移动用户的虚拟网卡。
- 该地址作为移动用户与企业内网server之间通信使用。
- 虚拟网关向移动办公用户下放到达企业内网server的路由信息。
- 可靠传输模式
- 快速传输模式
安全策略
- SSL VPN加密报文策略:U--->L
- 移动办公用户访问企业server的业务数据
- U--->T

- 分离路由模式 --- 去往内网的流量,经过虚拟网卡转发;去往其他地方的流量,由本地真实网卡转发。
- 全路由模式 --- 无论访问任何资源,数据都会被虚拟网卡截获,从虚拟网卡转发。
- 手动路由模式 --- 由管理员手工在VPN设备上配置内网静态路由。

相关文章:

第十五章,SSL VPN
前言 IPSec 和 SSL 对比 IPSec远程接入场景---client提前安装软件,存在一定的兼容性问题 IPSec协议只能够对感兴趣的流量进行加密保护,意味着接入用户需要不停的调整策略,来适应IPSec隧道 IPSec协议对用户访问权限颗粒度划分的不够详细&…...

spring5.x讲解介绍
Spring 5.x 是 Spring Framework 的重要版本升级,全面拥抱现代 Java 技术栈,其核心改进涵盖响应式编程、Java 8支持、性能优化及开发模式创新。以下从特性、架构和应用场景三个维度详细解析: 一、核心特性与架构改进 Java 8 全面支持 Spring …...

荣耀A8互动娱乐组件部署实录(第3部分:控制端结构与房间通信协议)
作者:曾在 WebSocket 超时里泡了七天七夜的苦命人 一、控制端总体架构概述 荣耀A8控制端主要承担的是“运营支点”功能,也就是开发与运营之间的桥梁。它既不直接参与玩家行为,又控制着玩家的行为逻辑和游戏规则触发机制。控制端的主要职责包…...

levelDB的数据查看(非常详细)
起因:.net大作业天气预报程序(WPF)答辩时,老师问怎么维持数据持久性的,启动时加载的数据存在哪里,我明白老师想考的应该是json文件的解析(正反),半天没答上来存那个文件了(老师默认这个文件是自…...

在Fiddler中添加自定义HTTP方法列并高亮显示
在Fiddler中添加自定义HTTP方法列并高亮显示 Fiddler 是一款强大的 Web 调试代理工具,允许开发者检查和操作 HTTP 流量。一个常见需求是自定义 Web Sessions 列表,添加显示 HTTP 方法(GET、POST 等)的列,并通过颜色区…...

基于公共卫生大数据收集与智能整合AI平台构建测试:从概念到实践
随着医疗健康数据的爆发式增长,如何有效整合、分析和利用这些数据已成为公共卫生领域的重要挑战。传统方法往往难以应对数据的复杂性、多样性和海量性,而人工智能技术的迅猛发展为解决这些挑战提供了新的可能性。基于数据整合与公共卫生大数据的AI平台旨在构建一个全面的生态…...

clahe算法基本实现
一、背景介绍 图像算法处理中,经常需要遇到图像对比度调整的情况,CLAHE(Contrast Limited Adaptive Histogram Equalization)则是一种基于直方图,使用非常普遍的图像对比度调整算法。 关于这个算法的介绍有很多,基本原理这些&…...

python打卡day20
特征降维------特征组合(以SVD为例) 知识点回顾: 奇异值的应用: 特征降维:对高维数据减小计算量、可视化数据重构:比如重构信号、重构图像(可以实现有损压缩,k 越小压缩率越高&#…...
如何使用极狐GitLab 软件包仓库功能托管 ruby?
极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 软件包库中的 Ruby gems (BASIC ALL) WARNING:Ruby gems 软件包库正在开发中,由于功能有限,尚未准备好…...

数字化转型-4A架构之数据架构
系列文章 数字化转型-4A架构(业务架构、应用架构、数据架构、技术架构) 数字化转型-4A架构之业务架构 数字化转型-4A架构之应用架构 数据架构 Data Architecture(DA) 1. 定义 数据架构,是组织管理数据资产的科学之…...

React 第三十七节 Router 中 useOutlet Hook的使用介绍以及注意事项
React Router 中的 useOutlet 是 v6 版本新增的 Hook,用于在父路由组件中访问当前嵌套的子路由元素。它提供了比 <Outlet> 组件更灵活的控制方式,适合需要根据子路由状态进行动态处理的场景。 一、useOutlet的基本用法 import { useOutlet } fro…...
u-boot学习笔记(四)
文章目录 cmd/sub_cmd/exit.cdo_exit()exit.c可提供的命令及使用方式: ext2.cdo_ext2ls()do_ext2load()ext2.c可提供的命令及使用方式: ext4.cdo_ext4_size()do_ext4_load()do_ext4_ls()do_ext4_write()ext4.c可提供的命令及使用方式: fastbo…...
使用React实现调起系统相机功能
前言: 最近在公司推荐研发任务时实现了拍照识别功能,需要调起系统相机,笔者实现之后,将实现的流程分享给各位小伙伴 功能描述: 点击相机icon调起系统相机,同时可以选择是拍摄还是使用相册图片࿰…...
结构性变革与新兴机遇
近年来,全球就业市场正经历深刻的结构性变革。受技术进步、产业升级、人口结构变化及全球经济格局调整的影响,传统就业模式被重塑,新的职业机会不断涌现。本文将分析当前就业市场的主要趋势,并探讨其对劳动者、企业和政策制定者的…...

AGV通信第3期|AGV集群智能应急响应系统:从故障感知到快速恢复
随着智慧工厂物流系统复杂度的提升,AGV运行过程中的异常处理能力已成为保障生产连续性的关键指标。面对突发障碍、设备故障等意外状况,传统依赖人工干预的响应模式已无法满足现代智能制造对时效性的严苛要求。 一、AGV异常应急体系面临的挑战 响应时效瓶…...

军事目标无人机视角坦克检测数据集VOC+YOLO格式4003张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4003 标注数量(xml文件个数):4003 标注数量(txt文件个数):4003 …...
2025年5月AI科技领域周报(4.28-5.4):大模型商用加速落地 边缘AI开启全域智能新图景
2025年5月AI科技领域周报(4.28-5.4):大模型商用加速落地 边缘AI开启全域智能新图景 一、本周热点回顾1. OpenAI发布GPT-5多模态大模型 开启通用人工智能新纪元2. 谷歌发布安卓15系统 全面集成Gemini大模型重构移动生态3. 百度Apollo发布第六代…...
Flutter 3.29.3 花屏问题记录
文章目录 Flutter 3.29.3 花屏问题记录问题记录解决尝试解决 Flutter 3.29.3 花屏问题记录 问题记录 flutter版本3.29.3,代码大致为: ShaderMask(shaderCallback: (Rect bounds) {return LinearGradient(begin: Alignment.topCenter,end: Alignment.bo…...
【Pandas】pandas DataFrame all
Pandas2.2 DataFrame Computations descriptive stats 方法描述DataFrame.abs()用于返回 DataFrame 中每个元素的绝对值DataFrame.all([axis, bool_only, skipna])用于判断 DataFrame 中是否所有元素在指定轴上都为 True pandas.DataFrame.all() pandas.DataFrame.all() 方…...

软件安全(二)优化shellcode
我们在上一节课中所写的shellcode,其中使用到的相关的API是通过写入其内存地址来实现调用。这种方法具有局限性,如切换其他的操作系统API的内存地址就会发生变化,从而无法正常调用。 所谓的shellcode不过是在目标程序中加一个区段使得程序可…...

RabbitMQ-运维
文章目录 前言运维-集群介绍多机多节点单机多节点 多机多节点下载配置hosts⽂件配置Erlang Cookie启动节点构建集群查看集群状态 单机多节点安装启动两个节点再启动两个节点验证RabbitMQ启动成功搭建集群把rabbit2, rabbit3添加到集群 宕机演示仲裁队列介绍raft算法协议 raft基…...

深度学习基础--目标检测常见算法简介(R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN、SSD、YOLO)
博主简介:努力学习的22级本科生一枚 🌟;探索AI算法,C,go语言的世界;在迷茫中寻找光芒🌸 博客主页:羊小猪~~-CSDN博客 内容简介:常见目标检测算法简介…...
【Python 元组】
Python 中的元组(Tuple)是一种不可变的有序数据集合,用于存储多个元素的序列。与列表(List)类似,但元组一旦创建后无法修改,这种特性使其在特定场景下具有独特优势。 一、核心特性 不可变性&am…...

LINUX CFS算法解析
文章目录 1. Linux调度器的发展历程2. CFS设计思想3. CFS核心数据结构3.1 调度实体(sched_entity)3.2 CFS运行队列(cfs_rq)3.3 任务结构体中的调度相关字段 4. 优先级与权重4.1 优先级范围4.2 权重映射表 (prio_to_weight[])优先级计算4.3.1. static_prio (静态优先级)4.3.2. n…...
智能指针笔记
智能指针,利用class类对象销毁的时候自动调用析构函数,去把delete ptr的操作放在析构函数里,去实现自动释放指针里的资源 RAII是ResourceAcquisition Is Initialization的缩写,他是⼀种管理资源的类的设计思想,本质是 …...

软考-软件设计师中级备考 14、刷题 算法
一、考点归纳 1)排序 2、查找 3、复杂度 4、经典问题 0 - 1 背包动态规划0 - 1 背包问题具有最优子结构性质和重叠子问题性质。通过动态规划可以利用一个二维数组来记录子问题的解,避免重复计算,从而高效地求解出背包能装下的最大价值。分…...
Vue3 中 ref 与 reactive 的区别及底层原理详解
一、核心区别 1. 数据类型与使用场景 • ref 可定义基本类型(字符串、数字、布尔值)和对象类型的响应式数据。对于对象类型,ref 内部会自动调用 reactive 将其转换为响应式对象。 语法特点:需通过 .value 访问或修改数据&#…...
豆包:基于多模态交互的智能心理咨询机器人系统设计与效果评估——情感计算框架下的对话机制创新
豆包:基于多模态交互的智能心理咨询机器人系统设计与效果评估——情感计算框架下的对话机制创新 摘要 随着人工智能在心理健康领域的应用深化,本文提出一种融合情感计算与动态对话管理的智能心理咨询机器人系统架构。通过构建“用户状态-情感响应-策略生成”三层模型,结合…...

Baklib实战企业内容与中台管理差异解析
企业内容管理中台本质差异 企业内容管理系统(CMS)与内容中台的核心差异在于战略定位与技术路径的本质性区隔。传统CMS聚焦于内容存储与审批流程的线性管理,而内容中台则构建起全域数据服务中枢,通过API接口实现跨系统内容资产调用…...

通用外设驱动模型(四步法)
举例:GPIO配置步骤 1、使能时钟 __HAL_RCC_GPIOx_CLK_ENABLE()2、设置工作模式 HAL_GPIO_Init()3、设置输出状态(可选) HAL_GPIO_WritePin() HAL_GPIO_TogglePin()4、读取输入状态(可选) HAL_GPIO_ReadPin()模块…...