当前位置:   article > 正文

商业虚拟专用网络技术九 SSL技术_ssl隧道

ssl隧道

一、SSL协议实现远程接入

前面我们讲到了通过IPSec技术实现对数据的完整性、机密性、真实性、抗重播性。由于如今人们接入互联网方式增多,使用手机、平板、电脑、专业仪器设备、家电设备,使用不同的系统上网,并且设备的使用场地复杂,在家里、网吧、商场、旅馆、车上、公共场所,使用不同种类的设备联网查询公司数据库或下载数据,这些多种多样的远程接入都是动态建立,需要使用方便快捷,终端对站点方式、具有跨平台,易于升级和维护等特点,为保证数据安全,必须对访问的客户端进行严格有效的控制,这就使得以SSL协议建立的网络安全通道传输技术得到广泛应用。

采用SSL协议在远端用户与网关之间建立联系,来确保在传输过程中不被窃听、重放、窜扰等。网关可以与LDAP/AD/Radius/证书认证服务器互动,提供灵活多样的认证解决方案。

名称SSLIPsec
使用场景点对网的连接网对网的连接
连接方式需要在主机上安装指定的Client软件两端有固定的网关设备防火墙或路由器

1、SSL协议简介

1.1、SSL协议的概念

SSL(Secure Sockets Layer,安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。为基于TCP的应用层协议提供安全连接。SSL协议内嵌在浏览器中,因此任何拥有浏览器的终端都天然支持SSL。SSL协议广泛应用于电子商务、网上银行、个人或企业私有云等的应用场景。SSL协议常常用于Web浏览器与服务器之间的身份认证和加密数据传输。

SSL(Secure Sockets Layer)是网景公司(Netscape)设计的主要用于Web的安全传输协议。这种协议在Web上获得了广泛的应用。IETF将SSL作了标准化,即RFC2246,并将其称为TLS(Transport Layer Security),其最新版本是RFC5246,版本1.2。从技术上讲,TLS1.0与SSL3.0的差异非常微小。

SSL协议提供的安全通道有以下三个特性:
(1)、私密性
在SSL握手阶段生成密钥后,用对称加密算法对传输数据进行加密。
(2)、身份认证
对服务器和客户端进行基于证书的身份认证。
(3)、可靠性
消息传输过程中使用基于密钥的MAC(Message Authentication Code,消息验证码)来检验消息的完整性。

SSL协议位于应用层和传输层之间,可以为任何基于TCP等可靠连接的应用层协议提供安全性保证。

SSL协议采用C/S结构(客户机/服务器模式)的通信模式,SSL服务器服务端口为TCP的443号端口。

SSL协议工作模型:
SSL协议工作模型
SL协议本身分为两层:

  • 握手层
    上层为SSL握手协议(SSL Handshake Protocol)、SSL密码变化协议(SSL change cipher spec protocol)和SSL警告协议(SSL alert protocol)。握手协议建立SSL连接,维护SSL会话。握手层用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

  • 记录层
    下层为SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,
    为上层的数据(SSL握手协议、SSL密码变化协议、SSL警告协议和应用层协议报文)进行分片、压缩、加密,并把处理后的记录块传输给对端。
    SL协议分层结构

1.2、记录层

SSL协议的记录层用于封装传输报文,加密传输数据,为上层通信提供以下服务:
(1)、保护传输数据的私密性,对数据进行加密和解密。
(2)、验证传输数据的完整性,计算报文的摘要。
(3)、提高数据的传输效率,对数据进行压缩。
(4)、保证数据传输的有序性和可靠性。

记录协议的工作过程:
记录协议的工作过程

具体步骤:
(1)、将数据包分成合适的数据块,每个数据块不得超过214字节。
(2)、将数据块进行压缩。
(3)、计算压缩后的数据消息认证码MAC。并添加在压缩包后。添加后总长度不得超过2262字节。
(4)、给SSL添加一个首部。其中包括:内容类型、主要版本、次要版本、压缩长度等信息。
记录层报文
报文类型:
(1)、20:指封装的是密钥改变协议报文,该报文用于在握手过程结束时,通知对方本加密参数已改变。
(2)、21:指封装的是告警报文,任何时候都可以使用该报文通知对端告警信息。告警信息分为两个级别,一为警告,另一种为致命。致命级别的告警报文,一般都需要关闭SSL连接。对于警告级别的信息,将视接收方如何处理来定。
(3)、22:指封装的是握手报文,用于建立SSL连接。
(4)、23:指封装的是长应用层报文,说明正在传输上层应用数据。
MAC字段为整个记录报文的消息验证码,包括从报文类型开始的所有字段。
在这里插入图片描述

1.2、握手层

SSL通过握手过程在客户端和服务器之间协商会话参数,并建立会话。每个连接与一个会话相联系。会话包含的主要参数有会话ID、对方的证书、加密套件(密钥交换算法、数据加密算法和MAC算法等)以及主密钥(master secret)。通过SSL会话传输的数据,都将采用该会话的主密钥生成的工作密钥和加密套件进行加密、计算MAC等处理。

客户端发起SSL连接请求,SSL服务器端响应SSL连接请求,SSL握手协议有以下功能:
(1)、协商通信所使用的SSL协议版本。SSL的客户端与服务器端协商双主都支持的最高协议版本。
(2)、协商通信所使用的加密套件。加密套件是SSL通信过程所用到的各种加密算法,包含密钥交换算法、加密算法、HMAC算法等。

对称密钥加密算法:DES、3DES、RC4、AES;
非对称加密算法:RAS、DSA、DH;
散列算法:MD5、SHA1、SHA256

(3)、协商通信所使用的密钥参数,SSL连接是双向的,客户端与服务器端都有一套加密密钥。客户机随机地产生一组密钥,它们用于信息加密和MAC计算。这些密钥要先通过服务器的公开密钥加密再送往服务器。

(4)、验证握手双方的身份,SSL协议通过数字证书来验证双方的真实身份。服务器端必须传送自己的证书给客户端,如果服务器端需要验证客户端的真实身份时,可通过认证请求索要客户端的证书。

(5)、建立SSL连接和维护SSL会话。当SSL连接断开后,SSL会话并不会立即被清除,还会保留一段时间,如果客户端还要与原服务器端进行SSL通信时,就可以通过SSL会话快速建立SSL连接。

SSL握手协议

1.2.1、握手过程

SSL握手过程的三种情况:
(1)、单向校验–只校验服务端证书
是指在该过程中服务端不验证客户端的身份,而服务器端需要传递证书给客户端,客户端是否对服务器端进行验证由客户端的具体实现来决定。

(2)、双向校验校验–服务端与客户端证书
在原来客户端身份认证的基础上,服务器端需要验证客户端的真实身份,增加了索取客户端证书以及客户端身份验证的消息,对客户端的用户身份验证。
服务器发送其SSL数字证书(服务器使用带有 SSL 的 X.509 V3 数字证书)。则客户端会发出“数字证书请求”消息。服务器发出支持的客户端数字证书类型的列表和可接受的CA的名称。

(3)、恢复原有会话的SSL握手过程
第一次页面讲求结束后,SSL连接将会关闭,为了提高SSL通信的效率,避免重复的SSL连接的过程,SSL采用了会话恢复机制,可以对后续的同一服务器的SSL通信使用上一次保存在缓存中的SSL会话参数。

1.2.1.1、单向校验过程

Client hello消息包括Version,Random(随机数),Session id(会话ID),Cipher suite(加密套件),Compression method(压缩方法)等信息。
SSL单向校验过程

1、SSL握手第一阶段,客户机与服务器端相互发送的hello消息。
首先客户机向服务器发出ClientHello消息并等待服务器响应,随后服务器端向客户机返回ServerHello消息,对clientHello消息中的信息进行确认。

(1)、ClientHello包含的具体内容:
①客户端可以支持的SSL最高版本号。
②一个用于生成主秘密的32字节的随机数。
③一个确定会话的会话ID,新建立的SSL连接,会话ID为0。
④一个客户端可以支持的密码套件列表。
密码套件格式:SSL+密钥交换算法+with+加密算法+散列算法
如:SSL_DHE_RSA_WITH_DES_CBC_SHA,
DHE_RSA(带有非对称RSA数字签名的暂时Diffie-HellMan)定义为密钥交换算法;
DES_CBC的对称密钥加密算法定义为加密算法;
SHA定义为散列算法。
⑤一个客户端可以支持的压缩算法列表。

(2)、服务器用ServerHello信息应答客户。

ServerHello包含的具体内容:
①一个SSL版本号。取客户端支持的最高版本号和服务端支持的最高版本号中的较低者。
②一个用于生成主秘密的32字节的随机数。(客户端一个、服务端一个)
③会话ID
④从客户端的密码套件列表中选择的一个密码套件
⑤从客户端的压缩方法的列表中选择的压缩方法

2、SSL握手第二阶段,服务器鉴别与密钥交换。服务器端是消息发送方,客户机是所有消息的唯一接收方。

该阶段分为3步:
(1)、证书:服务器端将数字证书和到根CA整个链发给客户端,使客户端能用服务器证书中的服务器公钥认证服务器。
(2)、服务器密钥交换(可选):这里视密钥交换算法而定。
(3)、服务器握手完成。

注:而在SSL中密钥交换算法有6种:无效(没有密钥交换)、RSA、匿名Diffie-Hellman、暂时Diffie-Hellman、固定Diffie-Hellman、Fortezza。

3、SSL握手第三阶段,客户机鉴别与密钥交换。客户机向服务器端发送消息。

该阶段分为3步:

(1)、客户机密钥交换(Pre-master-secret):用于传送密钥交换报文。客户端用随机函数生成一个密钥参数PreMasterKey,然后用服务器端证书中的公钥对密钥参数进行加密,通过ClientKeyExchange消息将加密的密钥参数传给对方,服务器端收此消息后,用自己的私钥报文进行解密,得到PreMasterKey,然后由PreMasterKey派生出记录层加密所需要的多个加密参数。

(2)、证书验证(可选),客户端直接使用PreMasterKey计算记录层的密钥参数。计算完加密参数后,向服务器端发送ChangeCipherSpec证书验证消息。通知服务器端后续报文将采用协商好的密钥和加密套件进行加密和MAC计算。

(3)、Finished,Finished报文是双方发送的第一个加密报文,为对前面所有的握手消息计算摘要,客户端发送给服务器端的Finished报文,服务器对比自己的前面所有的握手消息摘要,如果一致证明前面的握手过程没有问题。

4、SSL握手第四阶段,服务器端是消息发送方,客户机是所有消息的唯一接收方。

该阶段分为2步:

(1)、ChangeCipherSpec证书验证,通知服务器端开启加密参数,后续发送数据将是密文。
(2)、Finished,服务器端第一个加密报文,客户端收到消息后与自己前面所有的握手消息摘要进行对比,如果一致证明前面的握手过程没有问题。

1.2.1.2、双向校验过程

SSL双向校验过程

双向校验比单向校验多了3个消息,CertificateRequest、Certificate、CertificateVerify。
(1)、CertificateRequest:服务器端向客户端索要证书。
(2)、Certificate:客户端将包含自己公钥的证书传给服务器端。
(3)、CertificateVerify:客户端对此握手过程中所发送和接收的所有报文计算摘要,并用自己的私钥进行加密。也就是HMAC算法,服务器端收到消息后,用客户端证书中的公钥对数字签名进行解密,并比较该摘要是否一致,如果一致就说明摘要正确,通过这个方法来证明客户端的证书与所发送的Certificate消息中的证书相符。

1.2.1.3、恢复原有会话的SSL握手过程

为避免一次页面请求结束后,SSL连接就会被关闭,提高SSL通信的效率。SSL提供了会话恢复机制。

主要作用是避免重复的SSL连接建立过程,使后续的对同一服务器的SSL通信可以使用上一次保存在缓存中的SSL会话参数。

在会话恢复过程中,ClientHello报文携带上次会话的ID,服务器端根据此ID查找到缓存中保存的会话参数。如果查找到该ID,继续使用上一次保存的会话参数,如果找不到,服务器端回复的ServerHello报文中携带一个不同的会话ID,客户端收到后通过对比,重新协商加密参数。
恢复原有会话的SSL握手过程

服务器端根据原会话ID,将跳过密钥参数协商过程。

二、SSL隧道

1、SSL隧道简介

SSL隧道实际就是使用SSL加密协议建立的远程隧道。客户端与SSL隧道网关之间是加密传输,SSL隧道网关到内网服务器之间是明文传输。

防火墙设备向远程用户提供SSL VPN接入服务的功能模块称为虚拟网关,SSL隧道网关是远程用户访问企业内网资源的统一入口。一台防火墙设备可以创造多个虚拟网关,每个虚拟网关之间相互独立,互不影响。
SSL隧道
SSL隧道的特点:

  • 采用B/S架构(浏览器/服务器),远程用户无需安装额外软件,可直接使用浏览器访问内网资源。
  • SSL协议为应用访问连接提供认证、加密和防篡改功能,保证了数据传输的完整性和私密性。
  • SSL协议是工作在TCP协议层之上的协议。因此使用SSL进行通信时,不改变IP报文头和TCP报文头,对于NAT和防火墙是透明的,不会影响现有的网络。
  • SSL协议跨平台支持,现有的Windows、Linux、Mac系统都支持。

SSL隧道应用接入方式:

  • Web接入,SSL协议内嵌在IE和Firefox、Google Chrome浏览器中。
  • Tcp接入,通过浏览器自动下载隧道客户端,自动安装、自动运行和自动清除。
  • IP接入。

SSL隧道业务:

  • Web代理:访问内网Web资源时使用Web代理业务。
  • 文件共享:直接通过Web浏览器就能在内网文件系统上创建和浏览目录,进行下载、上传、改名、删除等文件操作,就像对本机文件系统进行操作一样方便。
  • 端口转发:远程用户访问内网TCP资源时使用端口转发业务。适用于TCP的应用服务包括Telnet、远程桌面、FTP、Email、SSH、Notes等。端口转发提供了一种端口级的安全访问内网资源的方式。
  • 网络扩展:远程用户访问内网IP资源时使用网络扩展业务。

2、SSL隧道与IPsec隧道的区别

IPsec和SSL两者的共同特点一是都能实现数据的安全加密;二是都对沿途转发节点没有额外技术要求。但他们之间的是建立在不同网络层次,在连通性、安全性方面还是存在着差异。

相似性:
SSL握手协议和IPSEC协议体系中的IKE(密钥交换协议)协议类似,主要用于客户和服务器之间的相互认证,MAC(MessageAuthenticationCode-消息认证码)算法和协商加密算法,主要用于SSL记录协议中生成并使用的加密和认证密钥。

SSL记录协议为各种应用协议提供最基本的安全服务,和IPSEC的传输模式有易曲同工之处,应用程序消息参照MTU(最大传输单元)被分割成可治理的数据块(可进行数据压缩处理)的同时产生MAC信息,然后再加密并插入新的报头最后在TCP中传输;收到的数据在接收端进行解密,做身份验证(MAC认证)、解压缩、重组数据报最后提交给应用协议进行处理。

差异性:

内容IPsecSSL
OSI模型层次网络层应用层和传输层之间
客户端应用安装复杂的软件使用标准的浏览器
开放方式对客户端开放一个网段开放 443 端口
兼容性支持所有基于IP的应用兼容大部分
精细化管控控制具体访问内容、角色权限
站点模式点对点终端对站点

大多数SSL隧道都兼容大部分日常会用的邮件系统、OA系统、CRM/ERP等,但并不是所有,如动态端口的应用就只有部分SSL隧道能够支持。

3、SSL隧道的运作过程

SSL隧道一般的实现方式是在SSL隧道网关提供一个远程用户与各种不同的应用服务器之间的连接,实现起来主要有握手协议、记录协议、警告协议的通信。

SSL隧道的通信过程中SSL握手协议,主要用于检测用户的账号密码是否正确,进行身份验证登录。登陆成功后,SSL记录协议可以为数据的传输提供基本的数据压缩、加密等功能。

3.1、创建域

在这里插入图片描述

由超级管理员创建域。

3.2、创建用户名和权限

在这里插入图片描述

3.3、用户登录访问

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

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

通过前三个过程,可以看到隧道网关有三个类型的帐号:超级管理员、域管理员和用户帐号。超级管理员为系统域的管理员,可以创建多个域,并指定每个域的域管理员,并初始化域的管理员密码,给域授予资源组,并授权域是否能够创建新的资源。

域的管理员是什么意思,以计算机系统为例,使用windows系统时,可以发现电脑的计算机名MS-GMJXXXXXXS,这是一台计算机的名称,也可以是一组电脑的名称,其对应一个IP地址和自己的身份。系统超级管理员是admin,其中域管理员就新创建的帐户,资源组就是新创建的帐户系统里安装的应用软件,域管理员可以增删改查相应的软件和文件夹等。用户依据权限增删改查指定的软件和文档。

在不同的应用里,比如办公OA、CRM 、 ERP 、 SCM等域的域内容不同,资源不同。

4、SSL隧道实现方式

4.1、SSL网关系统功能

在这里插入图片描述
SSL隧道网关是远程用户访问企业内网资源的统一入口,负责与资源服务器之间建立连接,起到中继的作用。核心功能是远程接入和访问控制。在访问控制上具有用户认证、静态授权、安全策略、安全评估、动态授权行功能。

4.2、接入方式

4.2.1、Web接入方式

Web接入方式是SSL隧道最常见方式,使用web代理实现对内网Web资源的安全访问。通过IE、Firefox浏览器实现无客户端的页面访问。

Web代理有两种实现方式:Web-Link和Web改写(默认)。

Web改写:Web改写方式采用脚本改写方式,将请求所得页面上的链接进行改写,其他网页内容不作修改。即远程用户在点击虚拟网关资源列表中的链接时,虚拟网关会将用户要访问的真实URL进行加密。同时用户要访问的Web资源页面链接对象(例如Flash、PDF、Java Applet等)的URL也会被一并加密。
在这里插入图片描述

(1)、远程终端使用Web浏览器与SSL隧道网关建立SSL连接,发送HTTPS请求,通过域名解析获取请求地址Https//:IP0/server01/ssl/index.html,这个是SSL隧道网关建立的虚拟路径。

(2)、SSL隧道网关接收到来远程终端Https//:IP0/server01/ssl/index.html请求,将报文中的路径修改为http://IP1/ssl/index.html,在内网发送HTTP请求,通过IP地址到达服务器端应用层。

(3)、服务器端处理完HTTP请求后,返回应答报文。将返回的Web页面文件,其中连接地址为:Http://IP1/article/home.html。

(4)、SSL隧道网关解析服务器返回的Web页面文件,将页面的真实路径修改为外网可见的URL地址。<A href="Https://IP0/Server01/article/home.html>

Web-Link:用ActiveX控件方式,对页面进行转发。无需安装客户端,只需要标准的浏览器便可远程访问内网web资源 针对每个URL,为不同的用户分配不同的访问权限。

4.2.2、Tcp接入也称端口转发

远程用户访问内网TCP资源时使用端口转发业务。端口转发功能主要用于C/S(客户端/服务器端)等不能使用web技术访问的应用,适用于TCP的应用服务包括Telnet、远程桌面、FTP、Email等。端口转发提供了一种端口级的安全访问内网资源的方式。

端口转发需要在客户端上运行一个ActiveX控件作为端口转发器,用于侦听指定端口上的连接。

(1)、支持静态端口的TCP应用:

  • 单端口单服务:一个服务对应一个端口。
    比如:Windows远程桌面、Telnet、SSH、VNC、ERP、SQLServer、iNotes。
  • 单端口多服务器:多个服务对应一个端口
    比如:Notes
  • 多端口多服务器:一个服务对应多个端口
    比如:Outlook、POP3

(2)、支持动态端口的TCP应用:一个服务对应多个动态变化的端口
比如:FTP被动模式、Oracle Manager

静态端口的TCP应用举例:
静态端口的TCP应用

1、用户登录SSL系统后,自动下载、安装和运行SSL客户端程序 ,启动端口转发自动安装运行一个Windows ActiveX控件
2、发送请求报文Request,终端控件将请求IP和端口与与资源列表(目的服务器IP、端口)进行匹配,匹配成功,开启侦听端口,目的地址改写为回环地址127.0.0.1,,转发到侦听端口23。
3、客户端将数据信息经过本地环回,加上私有报文头,将目的地址设为SSL隧道网关的IP地址,经由侦听端口SSL加密后发往SSL隧道网关。
4、SSL隧道网关解密,将侦听端口改为服务器端口。
5、服务器接收到经解密数据后响应。
6、将响应数据加装私有报文头,加密传给远程终端侦听端口。
7、客户端本地SSL解密SSL报文,报文的数据经过本地环回连接,发送到Telnet应用程序处理。

注意:这是的请求是TCP请求,网关与服务器之间的也是TCP连接。

4.2.3、IP接入方式也称网络扩展

实现对内网所有复杂应用(应用层的报文)的全网访问。使用网络扩展功能后,远程客户端将获得内网IP地址,就像处于内网一样,可以随意访问任意内网资源。

根据不同的应用场景配置相应的访问方式:

  • 分离模式(Split Tunnel):用户可以访问远端企业内网(通过虚拟网卡)和本地局域网(通过实际网卡),不能访问Internet
  • 全路由模式(Full Tunnel):用户只允许访问远端企业内网(通过虚拟网卡),不能访问Internet和本地局域网
  • 手动模式(Manual Tunnel):用户可以访问远端企业内网特定网段的资源(通过虚拟网卡),对其它Internet和本地局域网的访问不受影响(通过实际网卡)。

网络扩展功能建立SSL隧道的方式有两种:

  • 可靠传输模式:以TCP协议作为传输协议
  • 快速传输模式:以UDP协议作为传输协议

网络扩展需要在远程用户下载接入客户端,在SSL隧道网关上建立一个虚接口。SSL隧道网关配置地址池给接入用户分配IP地址。客户端登录虚拟网关后,自动生成一个虚拟网卡,获得虚拟网关动态分配的IP地址。有了该私网IP地址,远程用户就可以通过SSL隧道访问内网。

不同访问方式下虚拟网卡的作用:

  • 分离模式下,客户端发送给内网的数据,经系统路由表识别以后,交由虚拟网卡转发,其源IP赋值为虚拟IP。而访问本地子网的数据则交由真实网卡转发,源IP赋值为真实的IP。
  • 全路由模式下,无论是访问什么资源,数据一概被虚拟网卡截获,转发给虚拟网关处理。
  • 手动模式下,在FW端,管理员必须手动配置内网网段静态路由(network-extension manual-route命令进行配置)。然后在客户端识别前往该网段的数据,交由虚拟网卡转发。

1、下载与安装客户端:
初次使用SSL VPN客户端时,用户需要下载和安装客户端程序Hillstone Secure Connect。下载 Hillstone Secure Connect客户端,按照以下步骤操作:

  • 在浏览器的地址栏输入以下URL访问设备端:https://IP-Address:Port-Number。其中“IP-Address”和“Port-Number”分别为设备端SSL VPN实例中指定的接口的IP地址和HTTPS端口号。

  • 浏览器跳转到下载页面,点击“立即下载”按钮进行下载。下载完成后,双击“scvpn.exe”,按照安装向导提示进行安装。
    选择登录模式

SSL隧道网关的配置

2、SSL隧道网关的配置:
(1)、在防火墙创建一个名为test的虚拟网关,外网用户可通过此虚拟网关访问企业内网的资源。虚拟网关的IP地址为202.10.10.1/24(虚拟网关的IP地址与实际接口的IP地址相同)。
(2)、配置内网的DNS服务器地址和域名,使用户可通过域名访问虚拟网关的业务。
(3)、创建虚拟网关。
(4)、用户使用IP接入方式时,在网上下载和安装客户端程序Hillstone Secure Connect,安装客户接入端和一个虚拟网卡。在虚拟网卡上配置由SSL隧道网关分配的内网IP地址192.168.1.30。有了该私网IP地址,远程用户就如同企业内网用户一样可以方便访问内网IP资源。虚拟网关向远程用户下发到达企业内网Server的路由信息。

创建虚拟网关命令方式:
添加名称为test的虚拟网关。
[USG] v-gateway test 202.10.10.1 private www.test.com
配置DNS服务器。
[USG-test] basic
[USG-test-basic] dns-server 192.168.1.2
[USG-test-basic] dns-domain internal.com
[USG-test] service
[USG-test-service] network-extension netpool 192.168.1.20 192.168.1.100 255.255.255.0
客户端路由方式:
在这里插入图片描述
[USG-test-service] network-extension mode manual
[USG-test-service] network-extension manual-route 192.168.1.0 255.255.255.0
启用网络扩展功能。
[USG-test-service] network-extension enable
[USG-test-service] quit

3、IP接入通信过程:
可靠性传输模式下,SSL VPN隧道之间使用了TCP作为传输协议。
可靠性传输模式

4.2.4、文件共享

SSL隧道提供了对内网文件系统的安全访问,主要功能是将不同的系统服务器(如支持SMB协议的Windows系统,支持NFS协议的Linux系统)的共享资源以网页的形式提供给用户访问 提供对内网文件系统的安全访问。

文件共享提供的业务:

  • 浏览文件
  • 下载文件
  • 上传文件
  • 删除文件
  • 新建文件夹,删除文件夹,重命名文件夹。

在文件共享业务中SSL隧道网关起到了协议转换器的作用。
文件共享业务

4.3、访问控制

SSL隧道可以提供高细粒度的访问控制,控制粒度可达到URL、文件目录、服务器端口和IP网段等。访问控制的核心技术在授权管理,SSL隧道有两种授权管理方式:

  • 静态授权:用户的身份和所授予的权限是绑定的,不论时间、位置、远程主机的变化都不影响被授予的访问权限,权限的大小只与用户帐号有关。
  • 动态授权:可根据远程用户主机的安全状况(是否有系统漏洞、是否感染病毒)来决定被授予的安全权限。

动态授权是静态授权和安全策略授权的交集
 动态授权

4.3.1、静态授权

远程用户通过Web浏览器(客户端)通过用户名和密码登录虚拟网关,请求建立SSL连接。SSL隧道网关对用户的用户名和密码进行验证。

1、远程用户登录进行SSL连接的过程:
(1)、本地证书认证
是指用户在打开登录界面时对于该网络地址进行的可信度认证。
虚拟网关向远程用户发送自己的本地证书,远程用户对虚拟网关的本地证书进行身份认证。用于确定连接是否是假冒站点。
本地证书认证

A、用户在客户端输入https://虚拟网关地址:端口或https://域名,向SSL VPN虚拟网关请求建立SSL连接。
B、虚拟网关在收到请求后,从证书模块调用虚拟网关引用的本地证书。
C、虚拟网关将本地证书发送给客户端。
D、客户端根据自己证书库中的CA证书检查虚拟网关的本地证书是否可信。

(2)、用户认证
虚拟网关对远程用户进行用户认证,验证用户身份。是指在登录界面输入用户名和密码后,进行的用户身份认证。
用户认证的四种方式:

  • 本地认证
  • 服务器认证
  • 证书匿名认证
  • 证书挑战认证
    在这里插入图片描述

(3)、角色授权
用户认证完成后,虚拟网关查询该用户的资源访问权限。用户的权限分配通过角色实现,先将具有相同权限的用户/组加入某个角色,然后角色关联可访问的业务资源,角色是联系用户和资源的纽带。

2、验证信息的保存位置可以分两种:

  • 本地认证:SSL隧道网关设备保存用户名和密码的验证信息,由网关对认证请求中的用户名和密码进行验证
  • 外部认证:外部认证服务器保存用户名和密码的验证信息,由外部认证服务器对用户身份进行验证。

外部认证服务器早期在拨号上网时期为RADIUS服务器,后期由于对于网络的高效率要求,采用LDAP服务器。

3、SSL隧道的资源组
可以在一个资源组中加入多个资源,更合理的对资源进行管理。在隧道中创建多个用户组,对应系统中不同的角色,比如技术开发小组、仓库管理组、生产部门的不同组、销售部门中从高层管理人员到普通员工的角色。

4、用户认证:

认证授权方式:

  • VPNDB认证授权
  • 第三方服务器认证授权(Radius、LDAP、AD、SecurID)
  • 数字证书认证(X.509/USB Key + X.509)
  • 短信辅助认证

(1)、本地认证:
通过用户名和密码进行认证,在登录界面输入用户名和密码后,虚拟网关会将用户名、密码—>认证域模块—>用户/组模块进行数据库比对结果—>认证域模块—>虚拟网关匹配角色授权列表—>客户端
本地认证

(2)、服务器认证:
服务器认证
(3)、证书匿名认证:
只采用证书,客户端发送证书给服务器认证 。

(4)、证书匿名认证:
证书匿名认证是最安全的认证方式。是指将验证客户端证书与本地认证或服务器认证结合起来。

(5)、RADIUS双因子认证:
是指FW(防火墙)和RADIUS服务器配合,对远程用户进行身份认证。认证时,除了验证用户名和静态PIN码,还要求用户输入动态验证码。动态验证码可以是短信验证码或硬件令牌生成的动态密码。

4.3.2、动态授权

根据远程用户主机的安全状况来设定,SSL隧道网关通过对远程用户主机检查,杀毒软件、防火墙软件、操作系统、监听端口、进程、文件、注册表制定检查规则,在规则中要求接入终端安装指定的软件、操作系统、具有指定的进程、文件等特征,或者在规则中要求接入终端不能安装指定的软件、操作系统,不能具有指定的进程、文件等特征。根据检查结果返回到SSL隧道网关,网关根据自身定义进行比对,定义该用户的安全级别,并根据配置的安全策略决定给予该远程用户主机所登录用户的权限。

这个权限将与该用户的静态权限交集得到最终的权限。

4.4、缓存清理清除

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

SSL隧道网关管理员可以根据需要选择是否启用终端缓存清理功能。SVN提供多种清除访问痕迹的选项,管理员可以根据所需要的安全等级灵活地选择需要清理的选项。此外,SSL隧道网关还提供管理员自定义的选项,清除用户退出访问后终端中特定的文件。

4.5、SSL隧道的应用场景

根据SSL隧道网关在网络中的位置不同,SSL隧道在应用中有双臂和单臂两种组网模式。

  • 单臂组网模式:
    SSL隧道网关不跨越在内网和外网之间,而是挂接在防火墙、路由器或交换机上,内网和Internet 都通过这个网口与SVN(SSL隧道网关)进行通信,这种模式称为单臂模式。
    单臂组网模式
    优势:设备不网络流量路径上,设备故障不影响整个网络通信。
    不足:不能充分保护内部网络,有些流量可以不经过此设备而访问内网。

  • 双臂组网模式:
    SVN(SSL隧道网关)双臂挂接在防火墙、路由器或交换机上。内网和Internet 都通过不同的网口与SVN进行通信,这种模式称为双臂模式。路由器和交换机之间处于连接状态。这是因为客户网络中可能有部分应用不需要经过SSL加密,而是直接通过防火墙访问外网。这时就需要在交换机和路由器上配置策略路由,需要建立SSL VPN的流量就转发到SVN上,而普通的应用就直接通过防火墙访问外网。

双臂组网模式
优势:外网对内网访问流量都要经过网关。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/445815
推荐阅读
相关标签
  

闽ICP备14008679号