从 Windows Vista、Windows Server 2008 开始,远程桌面协议(Remote Desktop Protocol,简称 RDP)开始支持网络级身份验证(Network Level Authentication,简称 NLA)。通过启用 NLA,我们的 RDP 将更加坚固,当客户端进行 RDP 登录时将不再会先显示出远程系统的登录界面,并须在客户端得到正确的登录验证后,方能成功并直接登录到系统桌面。这样一来,除了避免的一些信息的泄漏,还有效地防止了远程客户端的恶意穷举。如下图所示,我们只需要在“远程设置”中,启用“只允许运行带网络级身份验证的远程桌面的计算机连接”即可!
 
        一旦在服务器端的 RDP 服务上启用了 NLA,并且客户端是 Windows Vista 或以上版本,那么我们可以通过 Remote Desktop 直接登录,否则正如下图所示,即使在安装了最新版本 Remote Desktop 的 Windows XP SP3 上进行远程桌面访问还是会提示错误。(PS:不必惊慌而忙于通知相关人员在本地禁用 NLA。)
 
        要验证当前的 Remote Desktop Connection(RDC)是否支持 NLA(网络级别的身份验证),我们只需要打开 RDC,单击左上角的图标点击关于,我们便可以查看到当前 RDC 的版本及 NLA 信息。注意:当前的 Remote Desktop Connection 支持 RDP 6.1。
 
        其实在 Windows XP SP3 上启用 NLA 支持,并非难事。只需要对注册表进行修改即可,再执行下面的步骤前建议你先对注册表进行备份。
  1. 单击“开始”-“运行”,键入 regedit
  2. 定位至“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa”,在右边窗体中双击打开“Security Packages”值,添入“tspkg
  3. 定位志“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProviders”,在右边窗体双击打开“SecurityProviders”值,添入“, credssp.dll”,特别注意在英标逗号后面有一个空格
        在修改注册表后需要重新启动计算机,如果在未重启计算机前进行 RDP 的连接,会出现 Remote Desktop 的“0x507”错误。
        如果大家感觉很麻烦的话,gOxiA 制作了在 Windows XP SP3 上启用 NLA 的注册表脚本,只要在本机上双击导入即可,非常方便!出于安全角度考虑,如果你不希望别人知道你当前服务器的操作系统版本,不希望别人看到你启动前后的补丁安装进度,并且服务器正在使用 Windows Server 2008 操作系统,gOxiA 强烈建议启用 NLA 支持的 RDP。
可下载附件