SSL Secure Sockets Layer安全套接层:是一种安全协议,基于TCP应用层提供安全连接,可以为http提供安全连接,为网络上的数据传输提供安全性保证

安全机制:

注:没有第三方解密密钥,无法将密文恢复为明文的,从而保证数据传输的机密性
对称密钥算法和MAC算法要求通信双方具有相同的密钥,否则解密或MAC值验证失败

SSL格式

SSL VPN笔记_sslvpn


SSL VPN笔记_防火墙_02

IPsec ×××缺点:
1、部署复杂,移动性差,需要支持NAT透传,安装复杂的客户端软件
2、无法检测用户主机的安全性,比如感染病毒主机
3、访问控制不够细致,基于IP报文实现的,对报文的内容无法识别,不能控制高层应用的访问请求

SSL ×××工作传输层应用层之间

SSL ×××缺点:
1、网关成为整个内网出口的性能瓶颈
2、网关的可靠性也关系到整个内网访问外网通讯的稳定性

对终端安全提供安全防护策略
1、防中间人攻击(主从业务账号绑定)
2、控制跳板:SSL ×××专线(连入内网,外网中断)
3、植入病毒:PC终端严格检查(检查系统及补丁版本,是否安装杀毒软件,是否存在病毒运行,注册表是否可信等)
4、数据残留:SSL ×××注销时本地数据擦除

支持国密、linux、MAC、IOS、Andeoid等系统
支持账号同业务系统账号绑定,防止合法SSL用户盗用他人应用系统账号
支持不同型号设备集群,灵活扩展

防火墙自带的SSL ×××
1、无法满足手机/PAD灵活接入系统的需求
2、功能简单(防火墙关注路由转发,不是针对×××)
3、性能低(加解密差,防火墙本身不是对×××加解密设计的)

用户体验:传统的×××客户端体积过大,安装时间太长、操作复杂,速度运行缓慢(传统的×××依据Java + 客户端)
深信服SSL×××客户端15M,SSL ×××代码可以直接嵌入各种应用系统,当客户打开APP就会自动建立SSL ×××隧道减少额外操作,提升用户体验
SSL ×××客户端兼容性,很多厂商只支持IE浏览器接入
业务应用兼容性差,无法开展业务:B/S只能在WIN7+IE浏览器上使用,C/S只能在WIN7上使用,使客户被迫改变办公系统
速度问题:业务慢,数据量大/带宽利用率低/链路质量差
1、提供流缓存加速
2、提供高速传输协议(把数据圈定到自己的局域网中)
3、TCP单边加速(保障传输效率,提高速度)

4、需要安装插件,具备虚拟打印机制

SSL ×××集群:一组冗余设备,同时工作,高可用(容灾,会话保持一致)高性能(负载功能)高扩展(设备异构)
SSL ×××集群在用户看来就是一个SSL×××系统用户感觉不到多台SSL ×××设备

集群和双机对比:
1、负载功能,并发性能高(无负载功能)
2、支持多台设备同时工作(双机只支持两台设备)
3、实时同步与整体同步(双机是整体同步在做完配置时所用)端口保持一致
4、会话保持机制(当设备故障时利用会话机制可以平滑迁移过去)

组件集群条件
1、软件版本一致
2、模块开通保持一致
3、硬件信号不能相差太大


SSL ×××安装客户端L3×××
1、应用
2、查找虚拟网卡路由表
3、通过客户端应用加密
4、封装物理网卡头部转发至SSL ×××设备

SSL ××× Dkey根据身份认证方式类型:
1、有驱key认证:基于数字证书的认证方式
2、无驱key认证:基于冲击—响应的双因子认证方式
有驱key认证:基于数字证书的认证方式,结合公开密钥体系及Key的双因子认证,数据读写限制,保证接入用户身份的安全性
无驱key认证:基于冲击-响应的认证方式,结合不可逆密码算法,key的双因子认证,key独立运算机制,保证接入用户身份的安全性
SSL VPN笔记_防火墙_03

SSL VPN笔记_H3C_04

H3C配置SSL ×××三个步骤:
1、超级管理员在SSL ××× 网关上创建域
2、域管理员在SSL ××× 网关上创建用户和企业网内服务器对应资源
3、用户通过SSL ××× 网关访问企业网内部服务器

超级管理员:整个SSL ×××网关的管理者,可以创建域,设置域管理员的密码
域管理员:负责管理所在域,可以创建本地用户和资源,设置用户访问权限等。域管理员可能是某个企业的网管人员
普通用户:简称用户,为服务器资源访问者,权限由域管理员指定


SSL ×××的工作机制
1、管理员登录到SSL ×××网关的Web界面上创建与服务器对应的资源
2、远程接入用户与SSL ×××网关建立https,通过SSL提供的基于证书的身份验证功能,接受彼此验证
3、当用户登录到SSL ×××的Web界面,输入用户名密码和认证方式,SSL ×××网关验证用户的信息
4、验证成功后,可以在Web界面上找到其可以访问的资源,访问通过SSL连接发送给SSL ×××网关
5、SSL ×××网关解析请求,与服务器交互后应答发送给用户

SSL ×××认证方式:本地认证、radius认证、LDAP认证、AD认证

对网络资源的细粒度的控制访问,将资源加入到不同的资源组中,将用户加入到不同的用户组,然后为每个用户组指定可以访问的资源组


SSL VPN笔记_防火墙_05

第一步、建立PKI域
配置PKI域sslvpn。
<Sysname> system-view
[Sysname] pki domain sslvpn        定义pki域名称sslvpn
[Sysname-pki-domain-sslvpn] public-key rsa general name sslvpn 公钥名称sslvpn
[Sysname-pki-domain-sslvpn] undo crl check enable   crl不检查
[Sysname-pki-domain-sslvpn] quit

第二步、PKI域导入证书步骤
导入CA证书ca.cer和服务器证书server.pfx,输入服务器证书密码
[Sysname] pki import domain sslvpn pem ca filename XXX.cer注意后缀(网络中没有ca服务器、附件中有证书)

[Sysname]pki import domain sslvpn pem ca filename 2003_local.pfx

The PKI domain already has a CA certificate. If it is overwritten, local certificates, peer certificates and CRL of this domain will also be deleted.
Overwrite it? [Y/N]:y
Failed to parse the certificates.
Failed to import certificates.

[Sysname] pki import domain sslvpn p12 local filename server.pfx  pki import domain sslvpn p12 local filename XXXX.pfx

[Sysname]pki import domain sslvpn p12 local filename 2003_local.pfx

Please input the password:
The device already has a key pair. If you choose to continue, the existing key pair will be overwritten if it is used for the same purpose. The local certificates, if any, will also be overwritten.
Continue? [Y/N]:y

第三步、定义SSL提供证书的身份验证
配置SSL服务端策略ssl
[Sysname] ssl server-policy ssl  定义SSL服务策略名称为ssl

[Sysname-ssl-server-policy-ssl] pki-domain sslvpn PKI域应用sslvpn认证方式
[Sysname-ssl-server-policy-ssl] quit

第四步、定义SSL ×××外部访问地址和端口
[Sysname] sslvpn gateway gw 配置SSL ×××网关
[Sysname-sslvpn-gateway-gw] ip address 123.126.202.2 port 2000  外网口IP地址做为sslvpn网关
[Sysname-sslvpn-gateway-gw] ssl server-policy ssl  引用ssl服务端策略
[Sysname-sslvpn-gateway-gw] service enable  开启SSL ×××网关gw

[Sysname-sslvpn-gateway-gw] quit
第五步、在SSL ×××网关上创建与服务器对应的资源
配置SSL ×××访问实例ctx1引用SSL ×××网关gw,指定域名为domain1
[Sysname] sslvpn context ctx1
[Sysname-sslvpn-context-ctx1] gateway gw domain domain1
[Sysname-sslvpn-context-ctx1] port-forward plist  定义端口转发方式
创建端口转发,将192.168.100.20提供的远程服务3389映射到本地地址127.0.0.1、本地端口33891。
[Sysname-sslvpn-context-ctx-port-forward-plist] local-port 33891 local-name 127.0.0.1 remote-server 192.168.100.20 remote-port 3389
创建端口转发,将remote.dnstest.com提供的远程服务3389映射到本地地址remotedns、本地端口33892
[Sysname-sslvpn-context-ctx-port-forward-plist]  local-port 33892 local-name remotedns remote-server remote.dnstest.com remote-port 3389
[Sysname-sslvpn-context-ctx-port-forward-plist] quit

第六步、定义访问控制
[Sysname]acl basic 2000    
[Sysname-acl-2000] rule 10 permit  放通所有IP资源

第七步、创建策略并调用访问资源

创建SSL ×××策略组pgroup,并引用端口转发列表plist
[Sysname-sslvpn-context-ctx] policy-group test   策略组名称 (定义某些组访问的资源)
[Sysname-sslvpn-context-ctx-policy-group-test] resources port-forward plist 调用plist列表中资源
[Sysname-sslvpn-context-ctx-policy-group-test]filter tcp-access 2000   过滤默认是拒绝所有
[Sysname-sslvpn-context-ctx-policy-group-test] quit

第八步、定义用户组并对其授权
定义用户组名称testgroup,授权用户策略组为test
[Sysname]user-group testgroup
[Sysname-ugroup-testgroup]authorization-attribute sslvpn-policy-group test 

第九步、建立本地用户加入用户组
创建本地用户h3c,密码为123456,用户角色为network-operator,设置用户属组为testgroup
[Sysname] local-user h3c class network
[Sysname-luser-network-h3c] password simple 123456
[Sysname-luser-network-h3c] service-type sslvpn
[Sysname-luser-network-h3c] authorization-attribute user-role network-operator
[Sysname-luser-network-h3c] group testgroup
[Sysname-luser-network-h3c] quit


SSL ×××支持三种接入方式:
1、Web接入方式
2、TCP接入方式
3、IP接入方式

SSL ×××共分为三种模式:
clientless   只提供访问Web资源,登录界面提供URL信息或Web server的链接来访问资源
thin-client  它扩展到可以使用TCP连接,但需要安装JAVA插件
full-tunnel client 不受任何访问限制,需要安装ActiveX插件  


(以上为TCP接入方式,以下为Web接入方式)

[Sysname-sslvpn-context-ctx1] url-list urllist   创建URL列表urllist
[Sysname-sslvpn-context-ctx1-url-list-urllist] heading webresource 配置URL列表标题为webresource

添加一个URL表项,链接名为webserver1_IP,对应的URL为192.168.9.2。
[Sysname-sslvpn-context-ctx1-url-list-urllist]  url webserver1_IP url-value 192.168.9.2  
添加一个URL表项,链接名为webserver2_IP_port,对应的URL192.168.100.53:8080/imc。
[Sysname-sslvpn-context-ctx1-url-list-urllist] url webserver2_IP_port url-value 192.168.100.53:8080/imc  
添加一个URL表项,链接名为webserver3_dns,对URL为resource.dnstest.com。
[Sysname-sslvpn-context-ctx1-url-list-urllist]  url webserver3_dns url-value resource.dnstest.com [Sysname-sslvpn-context-ctx1-url-list-urllist] quit
[Sysname-sslvpn-context-ctx1] policy-group test1 
[Sysname-sslvpn-context-ctx1-policy-group-test1] resource url-list urllist 调用urllist列表中资源
[Sysname-sslvpn-context-ctx1-policy-group-test1]filter tcp-access 2000   过滤默认是拒绝所有
[Sysname-sslvpn-context-ctx1-policy-group-test1] quit
[Sysname-sslvpn-context-ctx1] default-policy-group test  组多的时候可以不定义
[Sysname-sslvpn-context-ctx1] service enable   开启SSL ×××访问实例ctx1
[Sysname-sslvpn-context-ctx1] quit
[Sysname]user-group testgroup
[Sysname-ugroup-testgroup]authorization-attribute sslvpn-policy-group test1


避免私密信息遗留在远程主机上,SSL ×××提供了缓存清除功能。在退出SSL ×××系统,客户端程序自动清除下列对象:
1、缓存的网页
2、Cookie
3、×××客户端程序
4、×××客户端配置

SSL位于TCP和http之间,并不对TCP、IP加密
配置SSL ×××中的虚拟网关
虚拟网关按照IP地址和域名的分配情况分为两种(SVN产品在WEB/CLI界面都可配置,USG产品只能在CLI界面配置)

独占性:独占型虚拟网关独占IP地址和域名。客户可以通过域名或者IP地址访问独占型虚拟网关
共享型:多个共享型虚拟网关共享同一个IP地址,具有相同的父域名,通过子域名来区分各虚拟网关。客户只能通过域名访问共享型虚拟网关

自定义方式:能够访问内网特定网段的资源,同时,客户端访问本地子网和internet的操作不受影响