百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

VPN 的技术原理是什么? vpn是什么意思vpn的原理和技术

yuyutoo 2024-10-13 09:11 3 浏览 0 评论


SSL VPN技术





SSl协议支队通信双方传输的应用数据进行加密,而不是对从一个主机到另一个主机的所有数据进行加密。


IPSec缺陷


由于IPSec是基于网络层的协议,很难穿越NAT和防火墙,特别是在接入一些防护措施较为严格的个人网络和公共计算机时,往往会导致访问受阻。移动用户使用IPSec VPN需要安装专用的客户端软件,为日益增长的用户群发放、安装、配置、维护客户端软件已经使管理员不堪重负。因此,IPSec VPN在Point- to-Site远程移动通信方面并不适用。


SSL VPN功能技术


虚拟网关



每个虚拟网关都是独立可管理的,可以配置各自的资源、用户、认证方式、访问控制规则以及管理员等。


当企业有多个部门时,可以为每个部门或者用户群体分配不同的虚拟网关,从而形成完全隔离的访问体系。


WEB代理



它将远端浏览器的页面请求(采用https协议)转发给web服务器,然后将服务器的响应回传给终端用户,提供细致到URL的权限控制,即可控制到用户对某一张具体页面的访问。


web代理实现对内网Web资源的安全访问:


Web代理有两种实现方式:

Web-Link和Web改写(默认)。


  • Web-link采用ActiveX控件方式,对页面进行转发。
  • Web改写方式采用脚本改写方式,将请求所得页面上的链接进行改写,其他网页内容不作修改。





从业务交互流程可以看出,Web代理功能的基本实现原理是将远程用户访问Web Server的过程被分成了两个阶段。首先是远程用户与NGFW虛拟网关之间建立HTTPS会话,然后NGFW虚拟网关再与Web Server建立HTTP会话。虚拟网关在远程用户访问企业内网Web Server中起到了改写、转发Web请求的作用。


文件共享



文件共享实现过程


  • 客户端向内网文件服务器发起HTTPS格式的请求,发送到USG防火墙。
  • USG防火墙将HTTPS格式的请求报文转换为SMB格式的报文。
  • USG防火墙发送SMB格式的请求报文给文件服务器。
  • 文件服务器接受请求报文,将请求结果发送给USG防火墙,用的是SMB报文。
  • USG防火墙将SMB应答报文转换为HTTPS格式。
  • 将请求结果(HTTPS格式的报文)发送到客户端。


端口转发


提供丰富的内网TCP应用服务。


广泛支持静态端口的TCP应用:

  • 单端口单服务器(如:Telnet,SSH,MS RDP, VNC等)。
  • 单端口多服务器(如:Lotus Notes)。
  • 多端口多服务器(如:Outlook)。


支持动态端口的TCP应用:

  • 动态端口(如:FTP,Oracle)。


提供端口级的访问控制。


端口转发实现原理


端口转发特点

  • 实现对内网TCP应用的广泛支持。
  • 远程桌面、outlook、Notes、FTP等。
  • 所有数据流都经过加密认证。
  • 对用户进行统一的授权、认证。
  • 提供对TCP应用的访问控制。
  • 只需标准浏览器,不用安装客户端。


网络扩展




  • 分离模式:用户可以访问远端企业内网(通过虚拟网卡)和本地局域网(通过实际网卡),不能访问Internet。

  • 全路由模式:用户只允许访问远端企业内网(通过虚拟网卡),不能访问Internet和本地局域网。

  • 手动模式:用户可以访问远端企业内网特定网段的资源(通过虚拟网卡),对其它Internet和本地局域网的访问不受影响(通过实际网卡)。网段冲突时优先访问远端企业内网。


网络扩展实现过程


报文封装过程

可靠传输模式



快速传输模式




终端安全


主机检查


终端安全是在请求接入内网的主机上部署一个软件,通过该软件检查终端主机的安全状况。主要包括:主机检查、缓存清理。


主机检查:检查用户用来访问内网资源的主机是否符合安全要求。


主机检查策略包括如下检查项:

  • 杀毒软件检查
  • 防火墙检查
  • 注册表检查
  • 文件检查
  • 端口检查
  • 进程检查
  • 操作系统检查


缓存清理


USG可以在用户访问虚拟网关结束时,采用必要的手段清除终端.上的访问痕迹(例如生成的临时文件、Cookie等),以防止泄密,杜绝安全隐患。


清理范围:

  • Internet临时文件
  • 浏览器自动保存的密码
  • Cookie记录
  • 浏览器的访问历史记录
  • 回收站和最近打开的文档列表
  • 指定文件或文件夹


完善的日志功能



  • 日志查询
  • 日志导出
  • 虚拟网关管理员日志
  • 用户日志
  • 系统日志


认证授权



证书匿名认证


NGFW只通过验证用户的客户端证书来验证用户的身份。




1.用户在SSLVPN网关登录界面选择证书后,客户端会将客户端证书发送给网关。


2.网关会将客户端证书以及自己引用的CA证书的名称发送给证书模块。


3.证书模块会根据网关引用的CA证书检查客户端证书是否可信,并将结果返回给网关:


  • 如果网关引用的CA证书与客户端证书是同一个CA机构颁发的,且客户端证书在有效期内,则证书模块认为客户端证书可信,用户认证通过,继续执行4。

  • 如果证书模块认为客户端证书不可信,用户认证不通过,则执行5。


4.网关根据用户过滤字段从客户端证书中提取用户名。


  • 网关会从自己的角色授权列表中查找用户所属角色从而确认此用户的业务权限。


5.网关将认证结果返回给客户端。


认证结果为通过的用户能够登录SSLVPN网关界面,以相应的业务权限来使用SSL VPN业务。


认证结果为不通过的用户会在客户端上看到“您的证书验证非法,请提供合法的证书”。


证书挑战认证



证书挑战认证是指将验证客户端证书与本地认证或服务器认证结合起来。

证书+本地用户名密码
证书+服务器认证


SSL VPN应用场景



SSL VPN单臂组网模式应用场景分析



在网络规划时,SVN的接口IP为内网IP地址,此地址需要能与所有被访问需求的服务器路由可达。


防火墙上需配置nat server,将SVN的地址映射到防火墙的某一公网IP. 上。也可以只映射部分端口,如443。如果外网用户有管理SVN的需求,还需要映射SSH、Telnet等端口。


SSLVPN双臂组网模式应用场景分析




  • 在此类组网环境中,SVN使用两个不同的网口连接外网与内网,这种组网方式下,具有清晰的内网、外网概念;无需做额外的配置,外网口对应虚拟网关IP,内网口配置内网管理IP。

  • 虛拟网关IP不一定需要经过NAT转换,只要外网用户能够访问此虚拟网关IP地址即可。内外网接口没有特定的物理接口,任何一个物理接口都可以作为内网或外网接口。

  • 图中路由器和交换机之间处于连接状态。这是因为客户网络中可能有部分应用不需要经过SSL加密,而是直接通过防火墙访问外网。这时就需要在交换机和路由器.上配置策略路由,需要建立SSLVPN的流量就转发到SVN上,而普通的应用就直接通过防火墙访问外网。


SSL VPN配置步骤


1.配置接口


2.配置安全策略

  • 放行Untrust到L ocal安全区域的SSL VPN流量。
  • 放行Local到Trust安全区域的业务流量。


3.配置VPNDB

4.虚拟网关配置


5.业务选择


ensp将防火墙该功能阉割

来源:程序IT圈

相关推荐

jQuery VS AngularJS 你更钟爱哪个?

在这一次的Web开发教程中,我会尽力解答有关于jQuery和AngularJS的两个非常常见的问题,即jQuery和AngularJS之间的区别是什么?也就是说jQueryVSAngularJS?...

Jquery实时校验,指定长度的「负小数」,小数位未满末尾补0

在可以输入【负小数】的输入框获取到焦点时,移除千位分隔符,在输入数据时,实时校验输入内容是否正确,失去焦点后,添加千位分隔符格式化数字。同时小数位未满时末尾补0。HTML代码...

如何在pbootCMS前台调用自定义表单?pbootCMS自定义调用代码示例

要在pbootCMS前台调用自定义表单,您需要在后台创建表单并为其添加字段,然后在前台模板文件中添加相关代码,如提交按钮和表单验证代码。您还可以自定义表单数据的存储位置、添加文件上传字段、日期选择器、...

编程技巧:Jquery实时验证,指定长度的「负小数」

为了保障【负小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【负小数】的方法。HTML代码<inputtype="text"class="forc...

一篇文章带你用jquery mobile设计颜色拾取器

【一、项目背景】现实生活中,我们经常会遇到配色的问题,这个时候去百度一下RGB表。而RGB表只提供相对于的颜色的RGB值而没有可以验证的模块。我们可以通过jquerymobile去设计颜色的拾取器...

编程技巧:Jquery实时验证,指定长度的「正小数」

为了保障【正小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【正小数】的方法。HTML做成方法<inputtype="text"class="fo...

jquery.validate检查数组全部验证

问题:html中有多个name[],每个参数都要进行验证是否为空,这个时候直接用required:true话,不能全部验证,只要这个数组中有一个有值就可以通过的。解决方法使用addmethod...

Vue进阶(幺叁肆):npm查看包版本信息

第一种方式npmviewjqueryversions这种方式可以查看npm服务器上所有的...

layui中使用lay-verify进行条件校验

一、layui的校验很简单,主要有以下步骤:1.在form表单内加上class="layui-form"2.在提交按钮上加上lay-submit3.在想要校验的标签,加上lay-...

jQuery是什么?如何使用? jquery是什么功能组件

jQuery于2006年1月由JohnResig在BarCampNYC首次发布。它目前由TimmyWilson领导,并由一组开发人员维护。jQuery是一个JavaScript库,它简化了客户...

django框架的表单form的理解和用法-9

表单呈现...

jquery对上传文件的检测判断 jquery实现文件上传

总体思路:在前端使用jquery对上传文件做部分初步的判断,验证通过的文件利用ajaxFileUpload上传到服务器端,并将文件的存储路径保存到数据库。<asp:FileUploadI...

Nodejs之MEAN栈开发(四)-- form验证及图片上传

这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能。开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/R...

大数据开发基础之JAVA jquery 大数据java实战

上一篇我们讲解了JAVAscript的基础知识、特点及基本语法以及组成及基本用途,本期就给大家带来了JAVAweb的第二个知识点jquery,大数据开发基础之JAVAjquery,这是本篇文章的主要...

推荐四个开源的jQuery可视化表单设计器

jquery开源在线表单拖拉设计器formBuilder(推荐)jQueryformBuilder是一个开源的WEB在线html表单设计器,开发人员可以通过拖拉实现一个可视化的表单。支持表单常用控件...

取消回复欢迎 发表评论: