基于安全和新的应用需求,Server 2008已然成为炙手可热的企业服务器平台。平台的迁移带来了服务器远程管理方式的变化,Server 2008让我们有了更多的选择。在Server 2008中新增的一项功能Terminal Services Gateway(TS Gateway,远程服务网关),利用它远程客户端可通过HTTPS安全地建立与服务器的远程会话。
1、为什么选择TS Gateway通道?
不管在远程服务器上进行远程管理,还是要远程运行程序,在把这些资源暴露到Internet时,都会有潜在的安全风险。
(1).远程桌面不够安全灵活
管理员比较熟悉的“远程桌面”方式是在防火墙上打开TCP端口3389,将从Internet客户端上发来的请求转发给本地网络中TS服务器的IP地址。不过,直接向Internet开启TCP 3389端口可能会导致安全风险。而且如果你要将多于一台服务器发布到Internet,我们还需要多个公网IP地址。
(2).VPN方式不够方便
VPN也是远程管理的一种方式,它要求远程用户在使用RDP访问服务器之前先建立一个VPN连接。尽管这种方案更安全,同时也更灵活,但有时候也可能并不太方便。因为许多公共Internet AP(Access Point)并没有开启PPTP或L2TP通信端口。出差的用户一般是通过酒店的网络来访问Internet的,而这种网络有一些也无法初始化VPN连接。
(3).TS Gateway安全而且通用
Windows Server 2008中的TS Gateway解决了这个问题。它把RDP封装在HTTPS中(也称为RDP over HTTPS),用户可以通过HTTPS的端口TCP 443连接到TS Gateway服务器。TS Gateway对客户端进行身份验证,从HTTPS中解压RDP,然后在端口3389上把连接转发到目标
资源。通过TS Gateway,客户端只需要访问端口443即可建立一个安全的RDP会话。除了只需要使用一个端口,RDP over HTTPS还支持只允许HTTP和HTTPS出站通信的代理服务器。我们只需要一个外网公共IP地址,通过这个IP地址即可发布TS Gateway服务器。而且,我们可以在TS Gateway上对用户先进行身份验证,然后根据验证的结果允许或阻止用户访问本地网络中的某台(或所有)计算机。
2、远程管理Windows2008服务器,配置TS Gateway
(1).安装TS Gateway
在把服务器配置为一台TS Gateway之前,我们必须把TS Gateway服务添加到操作系统上。在Windows Server 2008服务器上,依次打开“管理工具”→“服务器管理”,启动“添加角色”向导。在“远程服务”角色下找到“TS Gateway服务”,选中它。添加TS Gateway服务的同时,会自动添加一些其它必需的服务和功能,例如网络策略服务器、
Microsoft IIS以及RPC-over-—HTTP代理服务器。向导会问你是否要配置一个SSL(Secu re Socket Layer,安全套接字层)证书,远程服务策略以及网络策略服务器,不过笔者建议可以稍后再做这些配置(本文稍后会介绍这些配置)。完成向导之后,管理工具的远程服务下面会多出一个TS Gateway管理器。
(图1)
(2).配置连接数
打开TS Gateway管理器,找到我们要配置为TS Gateway的服务器,打开它的属性对话框。在“常规”选项卡上,可以限制TS Gateway的同时连接数,或完全禁用新的连接。默认是允许支持的最大连接数,如果没有特殊原因, 保留默认值即可。
(图2)
(3).配置SSL证书
“SSL证书”选项卡上有一个必须要配置的选项。默认设置下,TS客户端和TS Gateway服务器之间在lnternet上通信时会使用TLS 1.0(Transport Layer Security,传输层安全)来加密通信。要使用加密,必须在TS Gateway服务器上选择恰当的计算机证书。证书的目的是进行服务器身份验证,可以由本地证书管理中心(CA)发布。证书必须要有一个与TS
Gatewayf服务器DNS名称一致的主题名称值—— DNS名称即用户连接到服务器时使用的名称(例如,tsg.domain.com),否则就会无法连接。
需要注意的是:不能用MMC证书管理单元中的标准证书请求向导来请求证书。这个向导只能发布那些本机名称的证书,而这里我们要的是公共名称,公共名称通常和本机名称是不一样的。如果你有一个在线的CA,你可以用certreq.exe工具来准备证书请求。或者,如果你不喜欢基于命令行的工具,也可以用IIS管理器中的一个向导来请求证书。按照以下步骤操作:打开IIS管理器,点击服务器名称,在右方的面板中点击“服务器证书”。选择“创建域证书” 选项,在“常规名称”一栏输入TS Gateway的DNS名称。然后就可以自动发布和安装这个证书。
如果可能的话,最好的方案是使用一个商业证书,因为大多数客户端默认都可能会信任它。从商业CA获取了证书之后,你可以使用MMC的证书管理单元将它导入。证书安装在TS Gateway计算机的个人目录下之后,就可以使用TS Gateway计算机属性对话框的“SSL证书” 选项卡进行配置以启用证书。点击“为SSL加密选择现有证书(建议)”,然后点击“浏览证书”选择该证书即可。
(图3)
(4).配置连接身份验证策略
使用“TS CAP 存储”选项卡配置连接身份验证策略。由于TS Gateway使用了网络策略服务器来控制客户端的访问,通过TS Gateway管理器创建的所有策略实际上都会在网
络策略服务器上创建。在这个选项卡上,你还可以启用一个选项:如果配置了网络访问保护(Network Access Protection,NAP),就要求客户端在进行连接之前必须声明自己处于健康状态。就本文来说,选择本地的网络策略服务器就可以了,不要选中要求客户端声明自己处于健康状态的这个选项。
(图4)
(5).其他配置项
“服务器场”选项卡可以将多台TS Gateway分组,创建一个服务器场,提高TS Gateway服务的可用性。不能在这里配置网络负载均衡(Network Load Balance,NLB),而必须在Windows中配置它。不过配置好NLB之后,你可以使用“服务器场”选项卡向服务器场添加NLB成员。
“审核”选项卡可以配置TS Gateway的日志选项。只需要点击你想记录日志的事件即可。TS Gateway服务器事件在MMC事件查看器管理单元中显示在“应用程序和服务日志\Microsoft\Windows\TerminalServices-Gateway”下。笔者建议大家选定所有可用的选项。
(图5)
“SSL桥接”选项卡,我们可以在这配置Microsoft ISA Server或其它SSL桥接兼容设备连接到TS Gateway的方式。“SSL桥接”选项卡上唯一的一个选项就是:使用HTTP5-HTTP桥接,默认并未被选中,意即使用HTTPS-HTTPS(或SSL)桥接,在客户端通过lSA Server连接到TS Gateway时维持加密状态。使用这种配置时,ISA Server会终止从客户端发起的SSL会话,对用户进行预认证(如果侦听器已经配置为如此),监控包,与TS Gateway服务器建立一个新的SSL会话,并使用最高安全性。要使客户端能通过TS Gateway的公共名称建立SSL会话,ISA Server上的证书必须和TS Gateway服务器的一样。
#p#
3、远程管理Windows2008服务器,配置TS Gateway策略
配置好服务器属性之后,必须创建“连接身份验证策略” 和“资源身份验证策略”。默认情况下,TS Gateway没有策略,在没有定义至少一种策略之前,TS Gateway无法正常工作。在连接身份验证策略中,可以设置允许通过TS Gateway访问的用户或组、身份验证方法(智能卡或密码),以及RDP设备重定向选项。资源身份验证策略则可以指定那些可以通过TS Gateway访问的主机。
(1).连接身份验证策略
在TS Gateway管理器的左面板上,找到“策略”下的“连接身份验证策略”节点,点击右键,选择“以自定义方式创建新策略(不使用向导)”选项。在弹出对话框的“常规”选项卡中,输入策略的名称。切换到“需求”选项卡,选择允许连接到TS Gateway的用户和计算机组。必须添加至少一个用户组(本地组或AD组)。注意,添加组后,这个组只能连接到TS Gateway;而并没有把该组授权为可以通过TS Gateway连接到其它主机。如果你想限制用户只能从指定的计算机上进行连接,你也可以添加一个或多个计算机组。在“需求”选项卡上,还可以选择一个或多个身份验证模式(密码和/或智能卡)。
(图6)
无论从安全还是功能方面来说,“设备重定向” 选项卡上的选项都很有用。在远程计算机上可以启用所有设备的重定向,也可以全部禁用, 或者有选择性地禁用某几种设备。由于RDP设备重定向可能会导致一些潜在的安全风险,因此限制重定向是比较明智的。可以根据不同的用户组和身份验证方法,为它们配置多个不同设备重定向权限的连接身份验证策略。例如,对于管理员组的策略,可以强制要求他们使用智能卡进行身份验证,允许所有设备重定向;而对于普通用户,则允许他们使用密码进行身份验证,但限制设备重定向。记住一点,TS Gateway应用连接身份验证策略的顺序和RRAS应用策略的顺序是一致的。
(2).资源身份验证策略
在TS Gateway管理器的左方面板上,找到“策略”下的“资源身份验证策略”节点,点击右键,选择“创建新策略(自定义 在弹出对话框的“常规”选项卡中,输入策略名称和说明。切换到“用户组”选项卡,选择一个或多个用户组(本地组或AD组)注意你在这里指定的用户组和之前在连接身份验证策略中指定的并不一定要一样,因为这里的组是用于控制资源访问权限的,而不仅仅是针对TS Gateway的。
切换到“计算机组”选项卡,这是配置资源身份验证策略时最重要的选项。在这里指定计算机组,注意你在“用户组”选项卡指定的用户组必须有权限访问这里的计算机组。你有三个选择。首先可以从AD选择一个现有的计算机组。你也可以选择一个TS Gateway的计算机组。(选择它,然后点击“浏览”,你可以输入计算机的Domain Name或IP地址来创建这个组)或者,还可以选择允许访问所有内部计算机,如果你只有一个资源身份验证策略时,使用这种方式是很有用的。和连接身份验证策略类似,为不同的资源创建不同的资源身份验证策略也是一种好方法。
在“允许的端口”选项卡上,可以配置RDP会话使用的端口。默认是TCP端口3389,你可以配置为其它任何可用的端口,不过我并不建议这样做。端口3389是公认的RDP端口。如果你想通过隐藏端口的方法来提高安全性,你可以把默认值修改为其它端口。
(图7)
4、远程管理Windows2008服务器,部署TS Gateway
配置好TS Gateway和策略之后,必须正确地部署服务器。如果你使用的是普通的防火墙,你应该把TS Gateway服务器放在DMZ区,在面向Internet的防火墙和TS Gateway服务器之间开启TCP端口443,在TS Gateway和面向内部网络的防火墙问开启TCP端口3389。注意TS Gateway服务器必须是一个域成员,因此在面向内部网络的防火墙上可能还需要一些其它的端口。
(图8)
如果你使用的是ISA Server 2006或ISA Server 2004,可以把TS Gateway服务器放在本地网络,然后再通过ISA Server把它发布出去,这样做已经比较安全了。这种情况下,你必须把证书从TS Gateway复制到ISA Server上,你还可以配置HTTPS桥接。除了配置防火墙以外,还要在公共DNS上创建一个主机记录,主机名要用TS Gateway服务器的名称(这个名称还要和证书的主题名一致),IP地址则是TS Gateway的IP。
5、配置TS客户端
要使用TS Gateway,客户端上必须安装远程桌面连接6.O,大家可从如下地址下载并安装(http://support.microsoft.com/kb/925876)。安装完成后打开RDP客户端软件,输入要连接计算机的本地DNS名称,点击“高级”→“设置”,对TS Gateway相关的选项进行配置。默认值是自动检测TS Gateway设置,如果这些设置是由组策略强制分发的,这样设置就够了。或者,你也可以手工输入TS Gateway服务器的公共名称。你还可以选择在连接本地IP地址时绕开TS Gateway,这样当用户不管在LAN还是Internet,都会使用同一种方式进行RDP连接。你也可以选择不使用TS Gateway。配置好这些选项,点击“连接”, 首先会看到一个TS Gateway的验证对话框,然后还要进行远程主机的身份验证。如果两个验证都通过了,就可以开始RDP会话了。
(图9)
【编辑推荐】