在Windows Server 2008的终端服务(Terminal Services)中最大的亮点就是整体安全性的提高,作为管理员和用户最常使用的远程访问服务器之一,这种安全性的提高也并不让人意外,并且非常受到大家的欢迎。在本文中我们将讨论怎样做才能确保你的终端服务器(Terminal Server)环境更加安全。
使用双重因素验证
当我们在考虑网络安全时,我们有必要进行双重因素验证。
目前主要有集中不同形式的双重因素验证方式,不过最常用的是终端服务所支持的智能卡(Smart Card)。在使用智能卡时,用户不仅需要提供有效的登录凭证,而且他们必须能够提供智能卡连接到他们用于作为远程终端的设备。
为了获取智能卡验证,你必须创建一个能够运用到终端服务器的组策略对象(Group Policy Object)。在组策略对象中,浏览Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options,并启用Interactive Logon: Require Smart Card设置。此外,你将需要启用智能卡重新定位到终端服务器,可以通过在用户工作组上的远程桌面连接客户端的本地资源选项中,勾选智能卡选项。
为所有客户端执行网络级别的身份验证
在过去,在服务器上部署终端服务验证是通过连接服务器上的会话(session)然后在Windows Server登录屏幕中输入登录凭证。这听起来似乎非常麻烦,但是从安全的角度来看,能够启动session登录屏幕可能会暴露关于网络的信息(域名,计算机名称等)或者可能让服务器受到拒绝服务攻击,这种攻击主要来自拥有服务器公用IP地址的人。
网络级身份验证(NLA)是远程桌面连接客户端(Remote Desktop Connection Client)6.0版本中新加的功能,该功能可以在向用户显示Windows Server登录界面之前允许用户输入他们的登录凭证。Windows Server 2008使我们能够利用这项功能并要求所有连接客户端使用该功能。
要想使用NLA,你必须使用Windows 2008 Server,并且你的连接客户端必须能够支持CredSSP(Windows XP SP3、Windows Vista、 Windows 7)以及运行Remote Desktop Connection 6.0或者更高版本的远程桌面连接。你同样也可以配置终端服务器,要求其客户端在几个不同位置使用NLA:
在最初的终端服务角色安装过程中,当终端服务器屏幕显示出指定验证方法时,选择Allow connections only from computers running Remote Desktop with Network Level Authentication(仅允许运行网络级身份验证的远程桌面的计算机发送的连接)选项。
在终端服务配置MMC管理单元中,右键单击你的客户端使用的终端服务器连接,然后选择属性,选择Allow connections only from computers running Remote Desktop with Network Level Authentication选项
创建一个组策略对象,查看Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Security位置,启用Require user authentication for remote connections by using Network Level Authentication(要求使用网络级别的身份验证进行远程连接的用户验证)设置。