OpenVPN中文概述

来源:互联网 发布:365桌面提醒器源码 编辑:程序博客网 时间:2024/05/18 01:26


OpenVPN中文概述 [url=http://openvpn.net/]http://openvpn.net/[/url] 趣多多 译 OpenVPN 是一个具备完全特征的SSL VPN解决方案,能够进行大范围的配置操作,包括远程访问、站点-站点间VPN、WiFi安全及企业级远程访问解决方案,支持负载均衡,错误恢复及细粒度的访问控制。 OpenVPN通过使用工业标准SSL/TLS协议 实现了OSI 2层及3层安全网络扩展,支持灵活的基于证书、智能卡的客户端认证方法,允许通过在VPN虚拟接口上应用防火墙规则实现用户及组访问控制策略。OpenVPN并非一个Web应用代理,也不能通过Web浏览器进行操作。 作为一个不错的关于OpenVPN的概念介绍,可以参考James Ynan在Linux Fest Northwest 上2004年发表的程序注释――理解用户空间VPN:历史、概念基础及实际应用(Understanding the User-Space VPN: History, Conceptual Foundations, and Practical Usage)。也可以参考Charlie Hosner的OpenVPN及SSL VPN革命(OpenVPN and the SSL VPN Revolution)。 OpenVPN 是一个开源项目,遵从GPL许可协议。商业许可对重新发布其基于OpenVPN的应用程序的公司也有效。获得更多信息请联系info@openvpn.net。 OpenVPN 能够运行于Linux、Windows 2000/XP及更高版本、OpenBSD、FreeBSD、NetBSD、Mac OS X及Solaris平台。 通过OpenVPN,你可以:在任意IP局部网络或虚拟以太网适配器上通过单个UDP或TCP端口建立隧道;使用一或多台机器配置可裁剪的、负载均衡的VPN服务器群以处理成千上万的来自VPN客户端的动态连接;能够使用在OpenSSL库中所提供所有的加密、认证及证书特性以保护私有网络在Internet网络上的数据传输;使用OpenSSL库所支持的任意加密算法、密钥长度或HMAC数字签名(用于数据报完整性检查); 先把基于静态密钥传统加密方法或基于证书的公钥加密方法; 使用静态、预先公有的密钥或基于TLS的动态密钥交换;使用实时的自适配压缩及流量整形以管理链路带宽分配;为动态公共点(如DHCP或拨号客户端)提供隧道传输;无需显示定义防火墙规则为面向连接的防火墙提供网络隧道传输;基于NAT的网络隧道;通过虚拟的tap设备创建安全的以太网桥;在Windows或Mac OS X系统上通过GUI界面控制OpenVPN。 OpenVPN与其它VPN有何区别? OpenVPN的主要特征包括跨平台的可移植性、优秀的稳定性、成百上千或成千上个客户端支持的可伸展性、相对简单的安装过程、支持动态IP地址及NAT。 OpenVPN 提供一个设计为易于针对站点定制的可扩展的VPN框架,例如提供发布自定义安装包到客户端,或通过OpenVPN插件模块接口支持可选的认证方法(例如openvpn-auth-pam 模块允许OpenVPN使用任意PAM认证方法认证客户端,这种方法可以单独使用,也可以与基于X509证书结合使用以进行认证)。 OpenVPN 提供一个管理接口,可以用于远端控制或中央控制一个OpenVPN守护进程。管理接口也可以用于开发基于GUI或web的前端应用程序。 在Windows平台上,OpenVPN能够使用Windows Crypto API从智能卡上读取证书或私钥。 OpenVPN 使用设计用于可保护被动攻击和主动攻击的工业强度的安全模型。OpenVPN的安全模型基于SSL/TLS进行会话认证及使用IPSec ESP协议用于基于UDP的安全隧道传输。OpenVPN支持X509 PKI (public key infrastructure)用于会话认证,TLS协议用于密钥交换,OpenSSL的加密算法无关的EVP接口用于加密隧道数据,HMAC-SHA1算法用于认证隧道数据。 OpenVPN建立为可移植的, OpenVPN可以运行于Linux、Solaris、OpenBSD、FreeBSD、NetBSD、Mac OS X及Windows 2000/XP,因为OpenVPN作为用户空间守护进程编写而非内核模块或对IP层的复杂变更,移植操作的简易性是值得留意的。 OpenVPN易于使用,通常,一个隧道的建立和配置可以通过一个单独的命令完成(无需任何必要的配置文件)。OpenVPN文档包含了的示例进行了详细解释。 OpenVPN 经过严格设计,并在不可靠的网络中进行了强度测试。OpenVPN的一个主要的设计目标就是在正常操作和错误恢复情况下IP层都能够快速响应。这意味着如果IP层断开5分钟,当它再次恢复时,隧道流量能够立即恢复,即使动态密钥交换在这期间已经过期。 OpenVPN 有着健壮的模块设计。所有加密都由OpenSSL库处理,所有IP隧道功能都由TUN/TAP虚拟网络驱动提供。 模块化的好处是显而易见的,例如,OpenVPN可以与新版本的OpenSSL库动态链接并立即能够使用其在新版本中所提供的新功能。例如,当OpenVPN基于最后版本的OpenSSL(0.9.7)编译时,它能够使用新的加密算法,如AES-256(高级加载标准,256位密钥),以及OpenSSL特定目的的硬件加速器优化加密、解密及认证性能的加密引擎功能。 同样地,OpenVPN的用户空间设计易于移植到任何包含TUN/TAP虚拟网络驱动的OS中。 OpenVPN 运行速度很快,在Pentium II 266MHz机器上运行Redhat 7.2 ,使用基于TLS的认证方法,Blowfish加密算法,SHA1 用于隧道数据认证,当隧道传输一个巨大的,经过预先压缩文件的FTP会话时,OpenVPN达到了每秒(CPU时间,包括内核及用户态时间)1.455MB的收/发传输速度。 OpenVPN提供了用于控制VPN隧道的安全参数的选项,同时提供了用于保证服务器本身安全的选项,例如—chroot用于限制OpenVPN守护进程能够访问的文件系统部分,--user 及—group选项用于降低守护进程在初始化之后的优先级,--mlock用于确认密钥原始内容及隧道数据从不被分页到磁盘上,从而避免被后期恢复。 为什么先把TLS作为OpenVPN的根本认证及密钥协商协议呢?TLS是SSL协议族的最后成果,最初由Netscape开发用于他们最初的安全web浏览器。多年来,TLS及其SSL前身已经在web上得到了广泛应用,并得到了深入的弱点分析。这些分析使得它不断被加强,从而形成如今的协议,SSL/TLS被认为是最强壮及最成熟的安全协议之一。因此,我们相信TLS是作为VPN产品认证及密钥交换机制的极好的先把。 OpenVPN 支持IPSec或PPTP吗?目前被广泛应用的VPN实现中有三个主流:SSL、IPSec及PPTP。OpenVPN是一个SSL VPN,因此并不与IPSec、L2TP或PPTP兼容。 IPSec协议设计为内核空间IP栈的修正,不同的操作系统需要其自身的IPSec实现。 相对而言,OpenVPN的用户空间实现允许跨操作系统及处理器体系、防火墙及NAT友好操作、动态地址支持、多协议支持(包括协议桥接)的移植。 优点与缺点并存,OpenVPN的主要优点在于可移植、易于配置及与NAT和动态地址兼容。OpenVPN的安装和使用与其它安全相关的守护进程软件,例如SSH相似。 由于历史因素,IPSecr的优点在于获得了众多厂商的支持,虽然OpenVPN也逐渐开始致力于硬件设备的支持。 PPTP协议的优点在于其在Windows平台预装了客户端,密码分析专家已经透露了其安全弱点。 OpenVPN符合标准吗?作为一个用户空间VPN守护进程,OpenVPN与SSL/TLS、RSA证书及X509 PKI、NAT、DHCP及TUN/TAP兼容。 OpenVPN与IPSec、IKE、PPTP或L2TP并不兼容。 OpenVPN 隧道能够基于TCP连接传输吗?是的,OpenVPN 1.5以上版本均支持基于TCP连接的隧道传输。 我是否能够使用web浏览器作为OpenVPN客户端?不可以,虽然OpenVPN使用SSL/TLS协议用于安全传输,OpenVPN并不是一个Web应用代理。它是一个OSI 2层或3层Internet网络隧道解决方案,要求OpenVPN同时安装于客户端和服务器端。 编译OpenVPN OpenVPN 在Linux或BSD系列系统中很容易通过源码编译。而在Windows上编译则比较复杂,你可以在OpenVPN下载站中找到预编译的安装包。 OpenVPN 的编译: 基于OpenSSL 加密及SSL库(版本0.9.6或更高),可以提供基于证书的认证、公钥加密、基于TLS的动态密钥交换;只基于OpenSSL加密库,可以提供基于静态密钥的传统加密和认证; 不基于OpenSSL,只提供未加密的UDP隧道。 OpenVPN也可以与LZO实时加密库链接。OpenVPN支持自适配压缩,这意味着它可以在隧道数据流能够被压缩时进行链路压缩。 OpenVPN完全运行于用户空间,除了在Windows、Linux及BSD系列系统上需要TUN/TAP虚拟网络驱动外,不需要其它任何特殊的内核组件。 捐助OpenVPN项目请考虑捐助OpenVPN项目。OpenVPN是GPL协议下一个完全由社区支持的成果,你的捐助对我们大有帮助,它可以确保OpenVPN的持续开发,包括保持最高安全性,维持一个严格的测试程序,添加新特性,改善文档及提供技术支持。

原创粉丝点击