Windows Server 2008 R2 远程访问可选方案
在当今的地理位置分散的业务环境中,远程访问不再是奢侈品,而成为了必需品。从全职远程办公者到频繁旅行的高管和销售人员,再到有时需要在家办公的 员工,用户需要在办公室以外能够连接到公司网络。Windows Server 2008 R2 为您提供了更加丰富的选择,可供您选择最适合您机构需求的远程访问解决方案。
您可以选择使用传统的点对点隧道协议 (PPTP) 或基于 IPsec 的第 2 层传输协议 (L2TP/IPsec) 虚拟专用网络 (VPN) 连接,也可以选择使用安全套接字隧道协议 (SSTP) 的安全套接字层 (SSL) 加密的 HTTP VPN 连接。或者,您可以选择被称为“VPN 重新连接”的使用 Internet 密钥交换版本 2 (IKEv2) 的 Internet 协议安全性 (IPSec) 隧道模式。最后,您可以选择使用被称为“VPN 终结者”的 DirectAccess 来代替虚拟专用网络,使用户能够更轻松、透明地进行连接,并使管理员能够更好地控制远程计算机。在本文中,我们将介绍可部署的每一项解决方案及其各自的优 缺点。
请注意,选择过程的一部分是确定特定的远程访问技术能否使客户端确实能够从其可能漫游到的位置进行连接。例如,如果您的客户端计算机 漫游到其他人的防火墙之后,则通常 PPTP 和 L2TP 会被阻止。Windows Server 2008 R2 路由和远程访问 (RRAS) 通过 RRAS MMC 管理单元配置。请注意,如果安装了网络策略服务器 (NPS) 角色,您必须使用该角色配置身份验证和记帐提供程序,以及创建或修改连接请求策略。该 NPS 角色通过 NPS MMC 管理单元配置。NPS 可用作 RADIUS 服务器、RADIUS 代理和/或网络访问保护 (NAP) 策略服务器。
本文内容:
- 传统的 PPTP 或 L2TP/IPsec VPN
- 使用 SSTP 的 SSL 加密的 HTTP VPN
- 使用 IKEv2 和 VPN 重新连接的 IPsec 隧道模式
- 超越 VPN:DirectAccess
传统的 PPTP 或 L2TP/IPsec VPN
PPTP 是 Windows 支持的首个 VPN 协议,且 Windows Server 2008 R2 RRAS 仍包含对远程访问 VPN PPTP 服务器的支持。L2TP/IPsec 在 Windows 2000 Server 中引入。PPTP 使用点对点 (PPP) 协议进行身份验证,并使用 Microsoft 点对点加密 (MPPE) 进行数据加密。出于安全考虑,通常 PPTP 不会用于现代 VPN 部署,但它具有易于部署的优点。如果您选择对您的 VPN 使用 PPTP,通常您需要执行以下操作:
- 确定放置 VPN 服务器的网络位置,例如放置在本地网络与 Internet 之间的外围网络中。
- 使用两个 NIC 配置 VPN 服务器,一个用于外部网络,另一个用于内部网络。
- 配置边缘防火墙,以允许 PPTP 与 VPN 服务器的外部 NIC 之间的数据传输,包括 GRE(IP 协议 47)和 TCP 端口 1723。
- 配置 RRAS 以允许 Internet 与本地网络之间的转发。
- 将 DNS 地址记录添加到 DNS 服务器,从而可将 VPN 服务器名称解析为其公共 IP 地址。
- 配置 Active Directory,以支持连接 VPN 服务器的用户进行远程访问。
- 配置 VPN 客户端。
Microsoft 的 L2TP/IPsec 能够提供更出色的安全性;除 PPP 身份验证方法外,它还使用 IPsec 进行计算机相互身份验证。但是,部署 IPsec 需要使用证书,这要求具备公钥基础结构 (PKI),因此如果您尚未部署该基础结构,这一过程会比较复杂。(对于 PPTP,如果您正在使用智能卡身份验证或 EAP-TLS 身份验证,您只需要一个 PKI)。如需对用户访问进行更精细的控制,可使用 Internet 身份验证服务 (IAS) 服务器,它使用远程访问拨号用户服务 (RADIUS) 协议进行集中身份验证、授权和记帐。部署 L2TP/IPsec 的步骤如下:
- 使用至少一个证书颁发机构 (CA) 来部署 PKI。大型机构通常会采用两级或三级 CA 层次结构,而小型机构可使用一个 CA 作为根 CA 以及发行 CA。
- 在验证 VPN(或 IAS)服务器上安装计算机证书。
- 在 VPN 客户端计算机上安装用户和计算机证书。
- 确定放置 VPN 服务器的网络位置,例如放置在本地网络与 Internet 之间的外围网络中。
- 使用两个 NIC 配置 VPN 服务器,一个用于外部网络,另一个用于内部网络。
- 配置边缘防火墙,以支持 L2TP/IPsec 与 VPN 服务器的外部 NIC 之间的数据传输。
- 配置 RRAS 以允许 Internet 与本地网络之间的转发。
- 将 DNS 地址记录添加到外部 DNS 服务器,从而将 VPN 服务器名称解析为其公共 IP 地址。
- 配置 Active Directory,以支持连接 VPN 服务器的用户进行远程访问。
- 配置 VPN 客户端。
请注意,虽然可将 L2TP/IPsec 配置为支持预共享密钥身份验证,但此方法与基于 PKI 的解决方案相比安全性与可伸缩性较差。
在 PPTP 和 L2TP/IPsec 部署中,如果使用 RADIUS 身份验证,则您需要配置 Internet 身份验证服务 (IAS) 服务器、创建远程访问策略,并将 VPN 服务器作为 IAS 服务器的远程身份验证拨号用户服务 (RADIUS) 客户端添加。
使用 SSTP 的 SSL 加密的 HTTP VPN
SSL 最初作为基于 Web 的协议引入,用于使用非对称加密创建客户端与服务器之间的安全连接。它通常由网站用来保护金融和其他私人交易的安全。传统上,SSL 加密的网站会使用以 https: 而不是 http: 开头的 URL。当今,实际上有两种不同的技术被统称为“SSL VPN”。第一种技术是应用程序特定的 VPN,用于发布供用户使用浏览器作为客户端连接的基于 Web 的应用程序,其中应用程序流量在受 SSL 保护的 HTTP 内传输。
SSL 还可用于为远程访问连接创建 VPN 隧道。第二种技术与传统的 VPN 更为相像,其中客户端计算机发送的所有流量均封装在受 SSL 保护的 HTTP 内,并发送至组织的 Intranet。SSL 隧道可用于访问非 Web 应用程序。SSL VPN 流行的部分原因在于无需安装胖 VPN 客户端(SSTP 客户端目前内置在 Windows 中),而且它们被认为比传统的 VPN 更具用户友好性。
SSL 在 OSI 网络模型的应用层运行。它的一大优势在于大多数防火墙和代理支持通过端口 443 传输 SSL 流量,因此无需对防火墙进行特殊配置即可使用。有些 Internet 服务提供商不支持基本路由封装 (GRE) 封装的数据包(用于 PPTP),因而可能导致出现防火墙、Web 代理和网络地址转换 (NAT) 问题。同样,IKE 流量和 L2TP/IPsec 所用的封装式安全措施负载 (ESP) 封装的数据包可能无法通过受防火墙、代理和 NAT 限制的一些端口。
随着基于 SSL 的 VPN 成为行业趋势,Microsoft 在 Windows Server 2008/Vista SP1 中引入了使用 SSL VPN 协议的 PPP 以及安全套接字隧道协议 (SSTP)。它被集成到 RRAS 并实际上使用 SSL 的继承者 – 传输层安全性 (TLS)。SSTP 可处理 IPv4 和 IPv6 数据包。它支持网络访问保护 (NAP),并可以使用与 PPTP 和 L2TP(例如 EAP-TLS)相同的身份验证协议;但是,它仅用于远程客户端访问,且不支持站点到站点 VPN。
SSTP 服务器必须具有一个网站证书(旨在实现“服务器身份验证”的目的),以供 SSTP 客户端在建立 SSL 会话期间对服务器进行验证。SSTP 客户端必须信任 SSTP VPN 服务器使用的证书。这意味着必须在 SSTP 客户端上安装根 CA 的证书。建立 SSL 会话之后将进行用户身份验证,从而保护加密的隧道内的凭据。
SSTP 部署所涉及的步骤取决于特定配置。下文包含了各种特定情况的详细信息:
- 如何部署使用 NAT 路由器的基于 SSTP 的 VPN 服务器
http://blogs.technet.com/rrasblog/archive/2007/09/26/how-to-deploy-sstp-based-vpn-server-behind-a-nat-router.aspx - 如何部署使用 SSL 终止器的基于 SSTP 的 VPN 服务器
http://blogs.technet.com/rrasblog/archive/2007/03/07/configuring-sstp-in-a-reverse-proxy-scenario.aspx - 如何部署使用网络负载平衡 (NLB) 的基于 SSTP 的 VPN 服务器
http://support.microsoft.com/kb/947029 - 如何在同一台计算机上部署基于 SSTP 的 VPN 服务器与 Internet 信息服务 (IIS)
- http://blogs.technet.com/rrasblog/archive/2007/11/08/configuring-iis-on-the-sstp-server-implications-and-how-to-resolve.aspx
请注意,SSL VPN 服务器不需要部署 IIS,因为它通过 HTTP.SYS 直接侦听 HTTPS。
使用 IKEv2 和 VPN 重新连接的 IPsec 隧道模式
Windows Server 2008 R2 中的 RRAS 与 Windows 7 客户端共同支持新的隧道协议:使用 Internet 密钥交换版本 2 (IKEv2) 的 IPsec 隧道模式。通过当用户临时失去 Internet 连接时自动重建连接的方式,该模式使 VPN 连接更加可靠,特别是当客户端计算机更改其 IP 地址时。当使用无线移动连接时,这种情况会经常发生。对于传统的 VPN,用户需要在重新连接到 Internet 后手动重新连接 VPN,但借助 VPN 重新连接,可自动重新连接 VPN,无需用户执行任何操作。
部署采用 IKEv2 和 VPN 重新连接的 IPsec 隧道模式的典型步骤如下所示:
- 配置 EAP 或部署 PKI,至少应具有一个证书颁发机构 (CA)。大型机构通常会采用两级或三级 CA 层次结构,而小型机构可使用一个 CA 作为根 CA 以及发行 CA。
- 使用两个 NIC 配置 VPN 服务器,一个用于外部网络,另一个用于内部网络。
- 在 VPN 服务器上安装根 CA 证书。
- 请求服务器身份验证证书并将其安装在 VPN 服务器上(该证书带有服务器身份验证和 IP 安全性 IKE 中间扩展密钥使用选项),同时确保该证书位于计算机存储区中。
- 在 VPN 服务器上安装 RRAS 角色。
- 如果 VPN 服务器还作为网络策略服务器使用,需要安装 NPS 角色。
- 配置 RRAS,使该服务器成为 VPN 服务器。
- 配置网络策略服务器,以启用和配置 IKEv2 VPN 连接的远程访问策略(注意,如果使用基于 EAP 的身份验证,则需要配置 NPS。如果使用计算机证书身份验证,则不需要配置 NPS)。
要 配置 Windows 7 客户端,需要首先使用网络和共享中心的“设置新的连接或网络”向导来创建 VPN connectoid。创建 connectoid 之后,可在网络和共享中心的左窗格中单击“更改适配器设置”、右键单击该 VPN 连接并选择“属性”,从而找到该 connectoid。在“安全性”选项卡中,需要从“VPN 类型”的下拉菜单中选择 IKEv2。您可以使用任意支持的数据加密类型。对于身份验证,您可以使用 EAP 或 X.509 计算机证书。然后单击“高级设置”,并确保选中了“移动性”复选框。VPN 重新连接支持 IPv4 或 IPv6。
超越 VPN:DirectAccess
DirectAccess 是 Windows Server 2008 R2 和 Windows 7 的新功能,它被认为是远程访问的未来以及 VPN 的最终替代方案,尤其是在企业管理的计算机领域。虽然 VPN 重新连接使用户能够实现无缝重建 VPN,但 DirectAccess 的功能更加强大,能够从最开始实现公司网络的无缝连接。用户不再需要 VPN,因为他们在连接 Internet 的情况下可随时自动连接到公司网络,即便当他们使用 Web 代理或端口受限的防火墙时也是如此。DirectAccess 不仅提高了用户易用性,还简化了管理员工作。利用 DirectAccess,您能够更好地控制连接到公司网络的计算机,并在这些计算机连接到 Internet 时随时更新其组策略或软件,即便用户未登录。
与各种类型的 VPN 相比,DirectAccess 的另一项优势是安全性。DirectAccess 采用 IPv6 代替 IPsec,并支持多因素身份验证。IPsec 身份验证用于用户和计算机,而智能卡则可用于用户身份验证。虽然 DirectAccess 使用 IPv6,但客户端计算机仍能够连接到使用 IPv4 Internet 的公司网络上的 DirectAccess 服务器。DirectAccess 服务器可以是 Windows Server 2008 R2 服务器或 Forefront Unified Access Gateway (UAG)。
此外,还可以将 DirectAccess 配置为使 Internet 流量与 Intranet 流量分离。这样 Internet 通信不必通过内部网络然后再返回 Internet,避免了大多数 VPN 存在的问题。这意味着性能的提升。除这种默认配置外,如果需要,您也可以选择通过 DirectAccess 服务器发送 Internet 流量。您还可以配合使用 Windows 防火墙的出站规则与高级安全功能,以控制哪些应用程序可以与 Internet 通信以及可连接到哪些内部子网客户端。
DirectAccess 使用两个 IPsec 隧道。第一个是封装式安全措施负载 (ESP) 隧道,它采用计算机证书和计算机帐户 NTLMv2 身份验证来访问 DNS 服务器、域控制器以及其他管理服务器,例如用于网络访问保护 (NAP) 和软件更新的服务器,这样可以在用户登录前对计算机进行管理。第二个隧道也使用计算机证书,但同时使用用户凭据来通过 Kerberos 验证用户身份以及访问公司网络上的资源和应用程序。客户端采用端到端或端到边的 IPsec 加密连接到网络资源。前者能够提供更高的安全性,但应用程序服务器必须运行 Server 2008/2008 R2 并启用 IPv6 以及 IPsec。端到边连接涵盖从客户端到网关(DirectAccess 服务器),然后以未保护的方式将数据包发送至公司网络中的应用程序服务器。这种连接的优势在于您不需要在内部网络上部署 IPsec 和 IPv6,并且可以连接到仅采用 IPv4 的服务器(如果您使用 Forefront UAG 及其 NAT64/DNS64 技术)。DirectAccess 客户端必须运行 Windows 7 Enterprise 或 Ultimate 版。
要部署 Windows Server 2008 R2 DirectAccess,您必须:
- 部署 PKI 以颁发计算机证书(如果使用智能卡和 NAP 技术,还需要颁发智能卡证书和 NAP 健康证书),并进行配置,以自动注册计算机证书。
- 部署网络位置服务器(实际上就是 SSL 网站),由 DirectAccess 客户端用来确定其是否处于公司网络中。
- 确保 DirectAccess 服务器与一个 Active Directory 域相连接,其中至少一个域控制器和一个 DNS 服务器运行 Windows Server 2008/2008 R2。
- 为 DirectAccess 客户端与(可选)选定服务器创建 AD 安全组。
- 配置防火墙数据包筛选。
- 使用两个 NIC 配置 DirectAccess 服务器,一个连接到 Internet,另一个连接到内部网络。
- 在外部 NIC 上配置至少两个连续的公共 IP 地址。
- 将 DNS 地址添加到面向内部和外部 (Internet) DNS 服务器,这样 DirectAccess 客户端就能够定位服务器组件。
- 在 DirectAccess 服务器上安装使用计算机身份验证增强型密钥用法 (EKU) 的计算机证书(用于 IPsec 的身份验证)。
- 安装 SSL 证书以用于 IP-HTTPS 身份验证。
DirectAccess 安装向导将引导您完成针对 Intranet 访问、选定的服务器访问或端到端访问配置 DirectAccess 服务器的相关步骤。有关在上述情况下如何部署 Windows Server 2008 R2 DirectAccess 的详细说明,请参见《DirectAccess 部署指南》,网址为:http://technet.microsoft.com/zh-cn/library/ee649163(WS.10).aspx
请 特别注意,Windows DirectAccess 解决方案并非设计用于企业环境,因为其缺少对数组、高可用性、集中配置以及非 IPv6 资源的支持。如果企业希望部署 DirectAccess,Microsoft 推荐使用 Forefront UAG DirectAccess。Forefront UAG DirectAccess 包括一些技术增强功能,使 DirectAccess 能够满足企业的需求。有关 UAG DirectAccess 部署方案和注意事项的详细信息,请参见《UAG DirectAccess 设计指南》,网址为:http://technet.microsoft.com/zh-cn/library/ee406191(en-us).aspx
小结
Windows Server 2008 R2 提供了比以往更为丰富的远程访问选择方案。我们提供从例如拨号远程访问的旧式方法到最现代的 DirectAccess 技术,供您根据您机构的需求选择提供公司网络远程用户访问的最佳方式,包括带宽考虑、现有的基础结构、兼容性问题、用户和管理易用性以及其他相关需求等。 最佳实践是结合这些方法,为您的用户提供最灵活的远程访问体验。例如,如果您机构的计算机已连接到 Active Directory 域,可对它们进行配置以使用 DirectAccess,并设置 Windows,使用户能够默认使用 VPN 重新连接作为主 VPN,但是在 VPN 重新连接被干预防火墙阻挡时退回 SSTP,然后退回 PPTP。
部署这些访问方法所需的所有服务器和客户端软件均随 Windows Server 2008 R2 操作系统一起提供,并且根据客户端操作系统版本,Windows 桌面操作系统还包含一些或全部的客户端软件。