为什么会出现SSL VPN呢?在这之前不是有IPSEC VPN吗?
通过这两个问题我们可以发现多半是IPSEC VPN在某些方面肯定有所欠缺,所以后面在出现了SSL VPN。
之前说过根据组网方式划分,可以分为 client to LAN 和 LAN to LAN 两种
而IPSEC VPN在client to LAN 场景下是比较吃力的。
具体表现有:
1.在用户认证方面比较薄弱 (IKE v2 版本才加入了对接入用户的认证)
2.因为需要进行对感兴趣流的抓取,所以,策略需要调整,不太方便
3.因为需要进行参数协商,所以,IPSEC VPN 需要客户端安装对于的程序。
4.因为IPSEC VPN 是基于网络层和传输层进行权限管理,但也仅能深入到服务层面(acl 只能抓取到这个程度),如果我们需要可以针对应用层进行更细颗粒度管理的VPN技术,就不能选择IPSEC VPN。
这个时候SSL VPN 就登场了
首先来看看SSL VPN 的优势
1.因为SSL 协议封装在传输层和应用层之间,仅针对应用层数据进行保护,这样,在进行组网时,任何场景下都不会影响网络传输。
2.SSL 采用的是一种基于B/S架构的模式,所以,只要客户拥有浏览器就可以访问,方便快捷。
3.最主要的是,和IPSEC VPN 针对网络层的控制相比,SSL VPN 可以基于应用层做更细颗粒度的控制。
在了解SSL VPN之前我们需要了解SSL 协议
工作范围:
可以看出。SSL 工作在应用层和传输层之间,并且只针对TCP 的应用。
SSL 的工作原理:
SSL记录协议 --- 用于封装高层协议的数据,对应用层数据加密后,放置在记录层中。
SSL握手协议 --- 允许服务器和客户端相互认证,并在应用层传输数据之前协商出加密算法,哈希算法(校验),和会话密钥。
SSL 密码变化协议 --客户端和服务器都可以发送,目的是通知对方后面的数据将启用新协商的算法和密钥进行加密传输。
SSL 告警协议 ---告警机制
工作过程:
1.TCP的三次握手,建立网络会话连接
2.客户端发出请求(Client hello)
这个随机数很关键,因为这是最终会话密钥的一个参数,一共需要3个。
加密套件:有点类似于套餐之类的,它将加密算法,鉴别算法常用的组合搭配一起了。
3.SSL 服务器回复消息(server hello)
注意:一般来说,server hello 和服务器的证书是分开发送的,当然也可以在一个数据包中发
4.客户端回应:
pre-master-key (预主密钥,本质也是一个随机数,用于计算最终的会话密钥)
5.服务器最后的回应(有点相当于ACK的作用)
在客户端中,可以携带这个会话,可以携带这个会话的复用票据,用于省略会话建立过程中,身份认证的环节,进协商算法和密钥即可。
SSL 协议脆弱性分析
1.无法保护UDP应用
2.客户端假冒
3.SSL不能对抗流量分析(因为只对应用层数据进行了加密,所以IP暴露在外面,非法用户可以对目的IP地址进行分析,猜测意图)
SSL VPN简介
虚拟网关技术 --- 可以理解为是用户的一个接入的接口,用户可以通过浏览器去输入虚拟网关的IP地址(或者域名)访问到虚拟网关,这个过程需要进行用户认证,划分用户的权限。用户认证通过后,虚拟网关会向远程用户提供可以访问的内网资源列表,远程用户通过点击或者触发便可以访问到内网资源。
一个防火墙可以创建多个虚拟网关,每个虚拟网关相互独立,互相不影响,不同的虚拟网关可以配置各自的用户和资源进行单独管理。
SSL VPN的总体流程:
RBAC模型 --- 这种也称为基于角色的访问控制模型
本地认证 --- 本地认证就是用户名和密码信息在防火墙本地存储,登陆时在防火墙本地进行比对验证,由防火墙判断。
服务器认证 --- 用户名和密码存储在服务器上,防火墙需要将登陆信息发送给服务器,由服务器进行判断,之后将结果返回给防火墙,做出对应的动作
证书匿名认证 --- 需要客户端提交证书,防火墙通过验证客户端的证书来认证用户
1,客户端证书和防火墙上导入的客户端CA证书由同一个CA机构颁发
2,客户端证书必须在有效期内
3,客户端证书中用户过滤字段必须是防火墙上配置已有的用户。例如,用户过滤字段
的结果CN=user00019
证书挑战认证 --- 比证书匿名认证多增加了用户名密码 校验
资源发布:
1.Web代理
2.文件共享
3.端口转发
ActivX控件 --- 端口转发客户端
4.网络扩展
需要在用户客户端上安装一张虚拟网卡,会下发一个私网的IP地址和路由
可靠传输模式
快速传输模式