有关DirectAccess的10件事情

DirectAccess是Windows Server 2008 R2 以及 Windows 7 企业版或旗舰版中引入的一个全新的远程访问技术 。DirectAccess 承诺改革整个远程访问体验,以便企业的员工可以随时随地实现远程接入,不会再受到传统远程接入技术中所牵连的诸如网络级 VPNs、SSL VPN网关,以及反向代理。它为用户和先进的IT管理工作提供如行云流水般顺畅的体验。DirectAccess支持客户从任何位置接入,甚至当DirectAccess 客户端处于限制性的防火墙后,也可以实现连接。

1: 可以将企业网络扩展到任何能够接入互联网的客户端上

DirectAccess的目标是将企业的内部网络拓展到任何连接到互联网的DirectAccess 客户端电脑上。DirectAccess客户端电脑将作为企业网络的域成员,与位于企业网络内的电脑拥有一样的控制机制。为了让IT管理员能够控制任何地理位置的电脑,DirectAccess还为用户提供了无缝的网络接入体验。用户不必再为了不同的网络环境记住不同的用户名和密码,因为用户的电脑将一直连接在企业网上。

当DirectAccess客户端电脑开启时,系统将建立一个"结构化"通道。这个通道可以让DirectAccess 客户端电脑连接到企业网络的管理资源和域资源,如域控制器,DNS服务器以及管理服务器。这个通道是双向的,因此IT

管理员也可以像在企业内网管理电脑一样管理通过互联网接入的DirectAccess客户端电脑。

当用户登录后,系统将开启第二个通道,即"内网通道",确保用户可以像在内网一样,访问到企业内网的各种资源。他们可以使用FQDNs或者仅使用简单的标签就可以连接到文件服务器,Web服务器,数据库服务器,邮件服务器或其他任何服务器,而完全不需要重新设置应用程序。简单讲, DirectAccess的用户会永远连接在企业网中,不论他现在身处何地。

2: DirectAccess的需求

在部署DirectAccess前,要先看看我们的配置是否符合要求。对于新手,你需要以下准备:

l 至少一个运行Windows Server 2003或更高版本的域控制器

l 一个内部PKI用来将机器证书分配给DirectAccess客户端和DirectAccess 服务器。

l 一个私有或公有PKI将Web站点证书分配给IP-HTTPS监听器和Network Location Server(稍后讨论)

另外你还要达到以下要求:

l DirectAccess 服务器必须是Windows Server 2008 R2标准版,企业版或更高级版本

l 必须支持IPv6,网络传输设备上也必须开启IPv6支持。

l DirectAccess 客户端必须运行有 Windows 7企业版或旗舰版

l DirectAccess客户端必须是活动目录域成员

l 企业网络中必须有高度可靠性的Network Location Server (Web服务器)

l 如果在DirectAccess 服务器之前或之后有防火墙,数据包过滤器必须允许相关数据包传输。

l DirectAccess 服务器必须配有两个网卡

3: IPv6 是 DirectAccess通信的前提

DirectAccess客户端使用IPv6协议与DirectAccess 服务器进行通信。DirectAccess服务器会将客户端传输的数据转发给企业网内相连的支持IPv6的主机。企业网可以使用原生IPv6架构(即路由器,交换机,操作系统以及应用程序全部支持IPv6),或者采用IPv6转换技术连接企业网内的IPv6资源。

DirectAccess服务器可以使用ISATAP (Intra-site Automatic Tunnel Addressing Protocol)将IPv6数据包封装在IPv4报头中,使得IPv6数据可以在企业的IPv4网络中传输。连接到IPv4互联网的DirectAccess客户端可以使用各种流行的IPv6转换技术来连接DirectAccess服务器,比如6to4, Teredo, 以及IP-HTTPS等。

4: 端到边缘和端到端的IPSec安全通信

由于DirectAccess 客户端和服务器端的通信要跨越公开的互联网,因此确保信息在传递过程中不会被拦截和篡改就非常重要了。DirectAccess使用 IPsec实现客户端和服务器端的安全通信。IPsec 通道模式被用来建立结构化通道和内网通道。另外,用户还可以使用IPsec 传输模式配置 DirectAccess,实现客户端和远程服务器端的加密通信。DirectAccess还引入了最早出现在Vista 和 Windows Server 2008 中的AuthIP功能,从而实现用户和计算机证书的双重连接认证,而不仅仅只采用计算机证书认证。

5: 客户端程序必须支持IPv6

既然目标是要实现客户端电脑与企业内网中的电脑拥有一样的用户体验,那么在比较DirectAccess客户端电脑与企业内网电脑时就会发现一个明显的不同:DirectAccess客户端必须使用IPv6来连接DirectAccess服务器。这意味着DirectAccess客户端程序必须是支持IPv6的。如果客户端程序不支持IPv6(比如目前的OCS客户端),连接就会失败。就算使用IPv6 到 IPv4的转换器也是一样的。

6: 活动目录和组策略

DirectAccess 服务器和客户端要进行一系列的配置修改,以便实现DirectAccess 解决方案。而修改配置最有效的方法就是采用活动目录和活动目录组策略对象(PGO)。GPO被分配给DirectAccess 服务器和DirectAccess客户端。另外,Active Directory也被要求进行认证。结构化通道采用 NTLMv2 认证连接到DirectAccess服务器的计算机帐户,同时计算机帐户必须与活动目录域匹配。内网通道则使用 Kerberos 认证进行登录用户的验证。

虽然 活动目录和GPO都是必须的,但是DirectAccess服务器并不要求接入的成员必须属于资源域。因为 DirectAccess 服务器域和资源域/森林之间是双向信任关系,因此这种方案是可行的。

7: Network Location Servers 让 DirectAccess 客户端知道自己在企业网络中所处的位置

DirectAccess被设计为自动执行并且是后台运行的。用户不必做任何动作来"启动"DirectAccess连接。用户只需要开启电脑就好了。实际上,用户不用登录系统都可以。在用户登录前,结构化通道就已经建立了,而DirectAccess客户端的代理程序会连接到内网的管理服务器进行程序升级,获取配置信息,安全配置设置,以及任何IT管理员希望DirectAccess客户端应该具备的网络配置和安全策略。

要让整个过程透明化,就必须有某种机制让DirectAccess客户端组件知道自己该在什么时候启动,在什么时候关闭。这就引出了 Network Location Server 。Network Location Server (NLS)是一个支持SSL连接请求的Web服务器。NLS

可以支持匿名或完整验证信息的连接。当DirectAccess客户端连接到NLS时,客户端组件就知道自己已经处于企业内网中,于是关闭DirectAccess客户端组件。如果DirectAccess客户端不能与NLS服务器取得联系,就会认为客户端目前没有接入企业内网,于是DirectAccess客户端会自动开启,建立IPsec隧道,通过互联网连接远程的DirectAccess服务器。DirectAccess客户端会通过Certificate Revocation List查找 NLS Web服务器证书,因此CRL必须是可用的。否则,连接到NLS SSL Web站点就会失败,客户端是否已经连接到内网的检测也会失败。

8: 证书,证书,证书

在DirectAccess客户端/服务器的解决方案中,在不同位置多次用到了证书。包括:

DirectAccess 客户端电脑。每个DirectAccess客户端都需要一个计算机证书来确定到DirectAccess 服务器的IPsec连接。 这个证书用来建立IPsec 连接,同时也被IP-HTTPS使用,即DirectAccess服务器在允许IP-HTTPS连接到互联网前,会再次进行计算机证书验证。计算机证书最好是由Microsoft Certificate Server 和基于组策略的电脑证书自动注册的。

DirectAccess 服务器上的IP-HTTPS监听器。IP-HTTPS是一种 IPv6转换技术,可以让IPv6数据包在IPv4网络上传输。微软设计这个协议是为了让DirectAccess 客户端能够顺利的连接到DirectAccess 服务器,即使客户端位于一个只允许HTTP/HTTPS 输出的防火墙背后,或者位于一个Web代理服务器后。IP-HTTPS监听器需要Web站点证书,同时DirectAccess客户端必须能够连接带有CRL的服务器获取证书信息。如果 CRL 检查失败,IP-HTTPS连接就会失败。对于IP-HTTPS监听器来说,商业证书是最好的选择,因为这类证书在CRL中是全球通用的。

DirectAccess 服务器。DirectAccess服务器上存有IP-HTTPS Web站点证书,但是他同时还需要计算机证书与DirectAccess客户端建立IPsec连接。

9: 名称解析策略表提供基于策略的DNS查询

DirectAccess客户端使用名称解析策略表 (NRPT)确定该使用哪个DNS服务器进行名称解析。当DirectAccess客户端接入企业网络后,NRPT就会被关闭。而当DirectAccess客户端检测到自己处于互联网时,客户端就会开启NRPT并从中寻找哪个 DNS服务器可以让它连接到正确资源。企业可以将内部域名和可用的服务器记录在NRPT上,并配置它使用内部DNS服务器来解析名称。

当互联网上的一个 DirectAccess 客户端需要利用FQDN连接到资源,会检查NRPT。如果名字在上面,查询就会被送到内网的DNS服务器上。如果名字不在NRPT上, DirectAccess客户端就会将查询发送到网卡配置上规定的DNS服务器,也就是互联网上的 DNS服务器。NLS 服务器名称也被置于NRPT中,但是属于免除解析部分,即DirectAccess 客户端永远不会使用内部服务器来解析NLS服务器的名称。于是处于互联网上的DirectAccess客户端永远无法解析NLS服务器,客户端将明白自己处于互联网,于是开启DirectAccess客户端组件连接企业内网的DirectAccess服务器。

10: DirectAccess具有"对外管理"能力

正如前面提到的,IT管理员可以利用结构化通道,跨越互联网对外管理远程的DirectAccess客户端电脑。不过管理员需要在Windows Firewall with Advanced Security (WFAS)中配置防火墙规则,允许系统连接到Teredo客户端。建立这个规则后,还要确定为防火墙规则开启了Edge Traversal 。当DirectAccess客户端位于NAT后面并连接到互联网时,被看做Teredo客户端,同时DirectAccess服务器和NAT设备要允许UDP端口 3544输出数据。