openvpn, SSL VPN, IPSEC总结
OpenVPN介绍:
    OpenVPN 是一个开源的加密隧道构建工具,基于OpenSSL 的SSL/TLS 协议,可以在Internet中实现点对点的SSL VPN 安全连接。使用OpenVPN 的好处是安全、易用和稳定,且认证方式灵活,具备实现SSL VPN 解决方案的完整特性。OpenVPN 可以应用于Linux、Unix、Mac OS 以及Windows 等各种操作系统平台。
OpenVPN 提供两种类型的虚拟网络接口:TUN 和TAP,分别用于建立IP隧道、以太网桥接。
    OpenVPN使用OpenSSL库加密数据与控制信息:它使用了OpenSSL的加密以及验证功能,意味着,它能够使用任何OpenSSL支持的算法。它提供了可选的数据包HMAC功能以提高连接的安全性。此外,OpenSSL的硬件加速也能提高它的性能。
    OpenVPN提供了多种身份验证方式,用以确认参与连接双方的身份,包括:预享私钥,VPN在vlan中的应用第三方证书以及用户名/密码组合。预享密钥最为简单,但同时它只能用于
建立点对点的VPN;基于PKI的第三方证书提供了最完善的功能,但是需要额外的精力去维护一个PKI证书体系。OpenVPN2.0后引入了用户名/口令组合的身份验证方式,它可以省略客户端证书,但是仍有一份服务器证书需要被用作加密。
IPSec VPN保护远程网络和主机中传输的IP数据包,而且IPSec VPN网关不干涉网络隐私。换言之,IPSecVPN 将主机纯私人的网络连接起来。
IPsec VPN 技术是在网络层实
现,用户端要安装客户端才能进行VPN 远程访问。SSL VPN属于应用层,部署和使用与网络结构毫无关
系,这给使用者和管理者都带来很大便捷。??
SSL VPN 则保护远程用户到SSL 网关的请求数据流。SSL VPN 将用户直接连接到网络中相应的服务和应用程序上。许多声称为SSL VPN 的产品其实是在VPN 的伪装下运行的SSL 网关。许多这类产品让可信任用户触及重要的安全事项。
OpenVPN 是一个在用户空间运行并基于SSL 协议的VPN,它能够提供与IPSec同等的保护和功能,并在某些实战案例中更胜一筹,充分展示了操作的便利性和SSL VPN 自身的简单性。OpenVPN 与复杂的IPSec VPN 相比,在安装、配置和应用前景上更为出。复杂是守护安全的最大隐患,而OpenVPN 正克服了这个缺点。不同于IPSec VPN,OpenVPN 真正遵循了OS Ring体系结构的安全理念,既不干涉内核空间,又将应用程序保持在Ring 0之外。正是对这种理念的坚守,OpenVPN能够更为安全地运行,并为用户提供更强大的保障,去应对未来的安全隐患。
IPSec只是加密/解密的支撑协议,和加密/解密没有关系
IPSec是一个封装第三层数据报的协议集,也可以理解成一个第四层协议集,和tcp/udp等是完全并列的,tcp,udp的协议号分别为6和17,而esp,ah的协议号分别为50和51。总之IPSec协议集旨在第三层将数据直接进行加密/解密,要支持IPSec无疑需要对协议栈进行修改,在Linux,netfilter可以完成此任务,Freeswan正是这样实现的IPSec。
    然而在内核态通过修改协议栈的实现方式很不灵活,配置起来也是比较复杂,如果能在用户态实现数据报的加密/解密就比较好,这是完全可行的,因为IPSec协议集和TCP/UDP一样
也是第四层协议,完全可以用tcp或者udp来承载加密后的数据。既然使用虚拟网卡可以方便的拿到IP数据报,那么就可以想办法导出到用户态,然后加密/解密后再发出去
OpenVPN的基本要素有以下几点:
1.可配置的认证方式
2.可配置的加密算法,密钥协商
3.可插拔的插件机制ssl协议是指什么
4.自动的策略推送机制-包括客户端的虚拟网卡的ip地址
5.集中的管理功能
6.灵活的外接程序
7.强大的日志输出功能
方案对比
1.对比IPsec和虚拟网卡-通路方案选择
1).IPSec的通路方案是在网络层直接修改IP数据报实现封装,然后直接交由路由模块重新路由。IPSec对原始IP数据报的封装是直接在网络层完成的(虽然逻辑上IPSec属于第四层)。
2).虚拟网卡方案利用了这样的一个事实,即可以通过路由的方式将IP数据报导入虚拟网卡,另外从虚拟网卡接收的IP数据报也可以通过路由的方式导出到本机或者其它物理网卡。虚拟网卡对原始IP数据报的封装是利用标准的TCP/IP协议栈完成的(想使用标准协议栈封装数据报,则必须将原始IP数据报放回到协议栈的顶端,即socket层,然后随着数据在协议栈中往下流动,封装过程自然完成)。
2.1).虚拟网卡的副作用:由于虚拟网卡也是一个起始于链路层的网卡,因此可以为之配置网络层地址,即IP地址,出入虚拟网卡的数据和出入物理网卡的数据一样受到所有TCP/IP协议栈语义的约束,因此也就可以通过虚拟网卡很简单地实现一个虚拟的局域网,虽然在物理上虚拟局域网内的设备可能相隔千里。正是这一点使后来的OpenVPN可以很简单的实现client2client。
3).总结:无疑,虚拟网卡的方案没有IPSec的方案更直接,因此效率上也会大打折扣,在这一点上考虑,IPSec的方案要胜出。
2.对比IPSec和SSL-安全策略方案选择
1).IPSec定义了一整套内置的以及可外挂的安全策略协议,包括ESP,AH,IKE等,这些协议的操作全部在网络层完成。
2).SSL是一个安全套结字协议框架,通过Cipher Suit可以灵活配置认证以及加密,摘要算法,这些操作全部在表示层和会话层完成。
3).总结:虽然IPSec是一种自然而然的方式,然而可供选择算法非常有限,并且配置很不灵活,因此SSL相比IPSec的安全协议集无疑会胜出。
3.综合对比-IPSec方案VS虚拟网卡+SSL
在数据通路和安全策略上,VPN更加关注的是安全策略,数据通路对于VPN来讲是完全透明的,而安全策略则需要是高度可定制的,除非在效率要求很高的需求下,虚拟网卡+SSL的方案要略胜一筹。以下只给出IPSec和虚拟网卡+SSL的数据封装框图:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。