如何配置 Windows Server 2003 终端服务器以使用 TLS 进行服务器身份验证

文章编号: 895433 - 查看本文应用于的产品
展开全部 | 关闭全部

本页

概要

可以连接到远程计算机运行 Microsoft Windows 终端服务通过使用远程桌面协议连接的。这种连接提供了有关终端服务器和客户端计算机之间发送的数据加密。但是,这种连接不提供终端服务器的身份验证。您可能希望确保您的终端服务器连接到它之前正确地进行身份验证。要这样做您终端服务器配置为使用传输层安全性 (TLS),对终端服务器进行身份验证,并在终端服务器和客户端计算机之间发送的数据进行加密。

要配置 TLS 连接,您必须配置终端服务器和客户端计算机。要配置终端服务器,您必须执行以下步骤:
  • 您必须安装一个有效的证书上的终端服务器。
  • 您必须配置身份验证设置,通过使用终端服务配置工具。
要配置客户端计算机,您必须执行以下步骤:
  • 您必须将客户端计算机配置为信任根证书颁发机构颁发的终端服务器的证书。
  • 您必须配置身份验证设置为远程连接通过使用远程桌面连接程序或通过修改注册表。

简介

重要此分区、 方法,或任务包含告诉您如何修改注册表的步骤。但是,如果注册表修改不当可能会出现严重问题。因此,请确保您仔细按照这些步骤。附加的保护注册表之前先备份您对其进行修改。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756如何备份和还原在 Windows 注册表


如果您使用远程桌面协议 (RDP) 连接到终端服务器,RDP 提供数据加密,但它不提供身份验证。因此,无法验证终端服务器的标识。您可以使用 Microsoft Windows Server 2003 Service Pack 1 (SP1) 和传输层安全性 (TLS) 1.0 版,以帮助提高使用服务器身份验证的 TLS 的终端服务器的安全性和对终端服务器通信进行加密。

本文介绍如何配置 Windows Server 2003 SP1,用于服务器身份验证的 TLS 1.0 终端服务器的通信进行加密。

若要配置服务器身份验证的必备组件

默认状态下,终端服务器使用本地 RDP 加密,并不验证服务器的身份。要使用服务器身份验证的 TLS 和终端服务器的通信进行加密必须正确配置服务器计算机和客户端计算机。

服务器系统必备组件

对于正常工作的 TLS 身份验证,您的终端服务器必须满足以下要求:
  • 您的终端服务器必须在运行 Windows Server 2003 SP1。
  • 您必须为您的终端服务器获取一个证书。若要获取证书,使用下列方法之一:
    • 请访问您的证书颁发机构的网站。例如对于访问 http:// servername / certsrv。
    • 运行 Windows Server 2003 证书申请向导或 Windows 2000 服务器证书申请向导。
    • 从一个第三方证书颁发机构获取证书,然后手动安装证书。
注意如果您要通过使用 Microsoft 证书服务 Web 页中获取的证书,或通过证书申请向导公钥基础结构 (PKI) 必须正确配置终端服务器颁发 SSL 兼容 X.509 证书。每个证书必须如下配置:
  • 证书必须是一个计算机证书。
  • 证书的预期的目的必须是服务器身份验证。
  • 证书必须具有相应的私钥。
  • 必须在终端服务器上的计算机帐户证书存储中存储证书。

    注意您可以通过使用 Microsoft 管理控制台 (MMC) 证书管理单元来查看该存储区。
  • 证书必须具有可用于将 TLS 协议一个加密服务提供程序 (CSP)。例如对于证书必须使用一个加密服务提供程序,例如在 Microsoft RSA SChannel 加密提供程序。有关 Microsoft 的详细信息的加密服务提供,请访问下面的 Microsoft 网站:
    http://msdn2.microsoft.com/en-us/library/aa386983.aspx

客户端系统必备组件

对于正常工作的 TLS 身份验证,终端服务客户端计算机必须满足以下要求:
  • Microsoft Windows 2000 或 Microsoft Windows XP 客户端计算机必须处于运行状态。
  • 客户端计算机必须使用 RDP 5.2 客户端程序进行升级。RDP 5.2 客户端程序将包含在 Windows Server 2003 SP1 中。您可以通过使用 %SYSTEMROOT%\System32\Clients\Tsclient\Win32\Msrdpcli.msi 文件来安装此客户端的远程桌面连接包。Msrdpcli.msi 文件位于基于 Windows Server 2003 的终端服务器上。如果您从终端服务器安装了此文件,在 %SYSTEMDRIVE%\Program files\Remote 桌面文件夹,在目标计算机上安装远程桌面连接的 RDP 5.2 版本。有关在远程桌面连接的 Windows Server 2003 的详细信息,请访问下面的 Microsoft 网站:
    http://www.microsoft.com/downloads/details.aspx?familyid=CC148041-577F-4201-B62C-D71ADC98ADB1&displaylang=en
  • 客户端计算机必须信任根证书颁发机构的终端服务器的证书。因此,客户端计算机必须具有证书颁发机构的证书在客户端计算机的受信任的根证书证书颁发机构文件夹中。您可以通过使用证书管理单元来查看此文件夹。

若要配置终端服务器

若要配置终端服务器的 TLS 身份验证,请按照下列步骤操作:

步骤 1: 请求一个计算机证书

如果尚不具有符合要求的"Prerequisites to configure server authentication"一节中提到的计算机证书,获取并安装一个。若要执行此操作使用下列方法之一。

方法 1: 通过使用为您的证书颁发机构的 Web 站点
以下步骤描述了如何从 Windows Server 2003 独立证书颁发机构获取证书。您还可以从 Windows 2000 证书颁发机构申请证书。此外,您必须具有读取权限和对证书模板文件成功申请证书的注册权限。如果一个或多个下列条件为真,则使用此方法:
  • 要从独立证书颁发机构获取证书。
  • 要获取的基于证书模板配置为从主题获取主题名称的证书。
  • 要获取颁发证书之前,需要管理员核准的证书。
若要获取证书,请按照下列步骤操作:
  1. 启动 Microsoft Internet 资源管理器,然后再访问 http:// servername / certsrv,其中 servername 是您正在运行 Microsoft 证书服务的服务器的名称。
  2. 在选择任务,下单击 申请一个证书
  3. 单击 高级的证书申请,然后单击 创建并向此 CA 提交一个申请
  4. 在在 标识信息,下框中键入您的标识信息,然后单击 类型的证书需要 列表中的 服务器身份验证证书
  5. 使 创建新密钥集 选项处于选中状态,然后单击 CSP 列表中的 Microsoft RSA SChannnel 加密提供程序

    注意此加密服务提供程序支持密钥派生的 SSL2、 PCT1、 SSL3 和 TLS1 协议。
  6. 密钥用法 旁选中了 Exchange 选项。此选项指示要启用的敏感信息的交换使用私钥。
  7. 单击以选中 标记密钥为可导出 复选框。执行此操作时您可以将公钥和私钥保存到 PKCS # 12 文件中。因此,您可以将此证书复制到另一台计算机。
  8. 单击以选中 存储在本地计算机证书存储区中的证书 复选框,然后单击 提交

    重要为函数的 TLS 身份验证,您必须将证书存储在本地计算机证书存储区中。
  9. 如果您收到一个 证书已颁发 网页,单击 安装此证书。如果您收到一个 证书挂起 网页,您必须等待,直到管理员批准证书请求。在这种情况下,您必须再次访问证书服务 Web 站点,以获取并安装此证书。
方法 2: 通过使用证书申请向导
以下步骤描述了如何从 Windows Server 2003 证书颁发机构获取证书。您还可以从 Windows 2000 证书颁发机构申请证书。此外,您必须具有读取权限和对证书模板文件成功申请证书的注册权限。如果一个或多个下列条件为真,则使用此方法:
  • 要从企业证书颁发机构申请证书。
  • 要申请基于的模板的使用者名称由 Windows 生成的证书。
  • 要获取颁发证书之前,不需要管理员核准的证书。
若要获取证书,请按照下列步骤操作:
  1. 单击 开始、 单击 运行,键入 mmc,然后单击 确定
  2. 文件 菜单上单击 添加/删除管理单元
  3. 单击 添加 并单击 证书,然后单击 添加
  4. 单击 计算机帐户,然后单击 下一步
  5. 如果要将证书添加到本地计算机,单击 本地计算机。如果要将证书添加到远程计算机,单击 另一台计算机,然后键入在 另一台计算机 框中的远程计算机的名称。
  6. 单击 完成
  7. 添加独立管理单元 对话框中单击 关闭,然后单击 添加/删除管理单元 对话框中的 确定
  8. 控制台根目录,下单击 证书 (本地计算机)

    注意如果您配置证书 MMC 管理单元管理远程计算机,单击 证书 (servername证书 (本地计算机) 而不是。
  9. 视图 菜单上单击 选项
  10. 视图选项 对话框中单击 证书目的,然后单击 确定
  11. 在右窗格是用鼠标右键单击 服务器身份验证 中, 指向 所有任务,然后单击 申请新证书
  12. 在证书申请向导启动,单击 下一步
  13. 证书类型 列表中单击 服务器身份验证,单击以选中 高级 复选框,然后单击 下一步
  14. 加密服务提供程序 列表中单击 Microsoft RSA SChannel 加密提供程序

    注意此加密服务提供程序支持密钥派生的 SSL2、 PCT1、 SSL3 和 TLS1 协议。
  15. 密钥长度 列表中保留 1024年 的所选的默认选项,或单击您要使用的密钥长度。
  16. 单击以选中 标志此密钥为可导出 复选框。执行此操作时您可以将公钥和私钥保存到 PKCS # 12 文件中。因此,您可以将此证书复制到另一台计算机。
  17. 如果您想要启用"强私钥保护",单击以选中 启用强私钥保护 复选框。
  18. 单击 下一步、 在 CA 框中键入您的证书颁发机构的名称、 单击 下一步友好名称 框中键入此证书的名称,单击 下一步,然后单击 完成
方法 3: 通过使用第三方证书颁发机构
获取并安装从第三方证书颁发机构的证书。

步骤 2: 配置 TLS 身份验证和加密

您可以通过使用组策略配置终端服务器上的加密设置。但是,您不能使用组策略配置终端服务器上的身份验证设置。因此,本部分介绍如何通过使用终端服务配置工具配置身份验证和加密。对于终端服务器上正常工作的 TLS,您必须配置以下的所有项目 rdp-tcp 属性 对话框中的 常规 选项卡上:
  • 您必须选择满足要求的"Server prerequisites"一节中提到的证书。
  • 您必须设置 安全层协商SSL 的值。
  • 您必须将 加密级别 设置为 ,或您的值必须启用联邦信息处理标准 (FIPS)-兼容的加密。

    注意您还可以通过使用组策略启用符合 FIPS 的加密。但是,您不能通过使用组策略启用 TLS。
注意如果启用了 TLS 身份验证,会话目录服务器场中的您必须在每个会话目录服务器场中的成员的服务器上配置下列设置之一:
  • 安全层 值设置为 SSL
  • 设置为 协商安全层 值。如果您设置为 协商安全层,TLS 身份验证才会启用客户端计算机支持 TLS 身份验证。
若要在服务器上配置 TLS 身份验证和加密,请按照下列步骤操作:
  1. 启动终端服务配置工具。若要执行此操作,单击 开始,指向 管理工具,然后单击 终端服务配置
  2. 在左窗格中单击 连接
  3. 在右窗格中右键单击您想要配置,该连接,然后单击 属性
  4. 常规 选项卡上单击 证书 旁边的 编辑
  5. 选择证书 对话框中单击您要使用的证书。

    注意服务器身份验证 必须出现在此证书 预期目的 列中。此外,此证书必须具有相应的私钥的 x.509 证书。若要确定证书是否具有专用密钥,单击 查看证书。 证书信息的底部会出现以下消息文本:
    您有一个与该证书对应的私钥。
    单击 确定
  6. 单击 确定
  7. 安全层 列表中单击下列选项之一:
    • 协商: 此安全方法进行身份验证服务器,如果支持 TLS,则使用 TLS 1.0。如果不支持 TLS,则该服务器未经过身份验证。
    • RDP 安全层: 此安全方法使用远程桌面协议加密来帮助在客户端计算机和服务器之间的安全通信。如果选择了此设置服务器未经过身份验证。
    • SSL: 此安全方法要求对服务器进行身份验证的 TLS 1.0。如果不支持 TLS,则您不能建立到服务器的连接。此方法才可用,如果您选择一个有效的证书。
    注意如果在 安全层 列表中单击 协商SSL 还必须配置以下选项之一:
    • 将加密级别设置为
    • 配置符合 FIPS 的加密。
  8. 加密级别 列表中单击下列选项之一:
    • FIPS 兼容: 如果您使用此设置,或者如果您设置该 系统加密: 使用 FIPS 兼容的算法来加密哈希,和签名 通过使用组策略数据的选项是加密和解密在客户端计算机和通过使用 Microsoft 加密模块有 FIPS 140-1 加密算法的服务器之间。
    • 如果您使用此设置,客户端计算机和服务器之间发送的数据加密使用 128 位加密。
    • 客户端兼容如果您使用此设置,使用由客户端计算机支持该最大密钥强度加密客户端计算机和服务器之间发送的数据。
    • 如果您使用此设置,客户端计算机和服务器之间发送的数据进行加密通过使用 56 位加密。

      注意当您单击 安全层 列表中的 SSL 时,此选项不可用。
  9. 单击以选中 使用标准 Windows 登录界面 复选框,以指定的用户登录到终端服务器通过在 $ 默认 Windows 的登录对话框中键入其凭据。
  10. 单击 确定
注意
  • 要配置这些选项,您必须是本地计算机上管理员组的成员,或者您必须是委派适当的权限。如果计算机加入到域中,域管理员安全组的成员将具有足够的权限,请按照下列步骤操作。
  • 通过使用组策略配置的加密级别重写您通过使用终端服务配置工具设置的配置选项。此外,如果启用该 系统加密: 使用 FIPS 兼容的算法来加密哈希,和签名 策略,该 系统加密: 使用 FIPS 兼容的算法来加密哈希,和签名 策略将覆盖 设置客户端连接加密 级别组策略设置。
  • 当您更改加密级别时,将新的加密级别的配置生效的下次用户登录。如果您需要多个加密级别,安装多个网络适配器,然后将每个网络适配器配置具有不同的加密级别。

若要配置客户端计算机

若要配置客户端计算机用于 TLS 身份验证,请按照下列步骤操作:

步骤 1: 请求一个计算机证书

  1. 启动 Internet Explorer,然后再访问 http:// servername / certsrv。
  2. 单击 下载 CA 证书、 证书链或 CRL
  3. 单击配置您的客户端计算机信任由此证书颁发机构颁发的所有证书的 安装此 CA 证书链
  4. 如果系统提示您从证书颁发机构 Web 站点中添加证书,请单击
  5. 您会收到以下消息后,退出 Internet Explorer:
    已成功安装 CA 证书链。
注意
  • 您没有登录到具有管理权限才能执行此操作的计算机上。
  • 您安装以确保客户端计算机信任的终端服务器的证书根 CA 证书链。这意味着客户端计算机的本地计算机受信任的根证书颁发机构证书存储中的存储的根 CA 颁发终端服务器的证书的证书。 这是必需的客户端计算机连接到终端服务器时使用服务器身份验证的 TLS。
  • 使用 安装此 CA 证书链 选项可以建立对从属证书颁发机构的信任,如果当前的证书存储区中没有根 CA 的证书。

步骤 2: 在客户端计算机上配置身份验证

若要在客户端计算机上配置身份验证,使用下列方法之一。
方法 1: 通过使用远程桌面连接
  1. 启动远程桌面连接。
  2. 单击 选项,然后单击 安全 选项卡。

    注意如果您安装 Windows Server 2003 SP1 版本的远程桌面连接,此时将出现 安全 选项卡。
  3. 身份验证 列表中单击下列选项之一:
    • 不进行身份验证: 这是默认选项。如果选中了此选项在终端服务器未经过身份验证。
    • 尝试身份验证: 如果您选择此选项,并且如果 TLS 是受支持,并正确配置,使用 TLS 1.0 功能来验证终端服务器。

      如果您单击 尝试身份验证,您可以选择继续您的终端服务连接没有 TLS 身份验证的情况下,如果出现下列身份验证错误之一:
      • 服务器证书已过期。
      • 服务器证书不是由受信任的根证书颁发机构颁发的。
      • 在证书名称与客户端计算机的名称不匹配。
      其他身份验证错误会导致终端服务连接失败。
  4. 要求身份验证: 如果您单击了此选项必需的 TLS 对终端服务器进行身份验证。如果不支持 TLS,则,或者没有正确配置 TLS,则连接尝试不成功。此选项才可用于连接到运行 Windows Server 2003 SP1 的终端服务器的客户端计算机。
注意您不必具有管理权限才能配置远程桌面连接。此外,配置此连接后,您可以为远程桌面文件 (.rdp) 保存所做的更改。若要配置为使用安全设置已配置的其他客户端计算机,.rdp 文件分发到这些计算机。

.rdp 文件包含用于连接到终端服务器的所有信息。这包括您在 安全 选项卡上配置的安全设置。您可以通过创建不同的.rdp 文件与要连接到该终端服务器时使用的设置相对应的自定义您连接到特定的终端服务器上的连接。此外,您可以通过使用如记事本任何文本编辑器更改.rdp 文件。若要通过使用记事本来修改安全设置的.rdp 文件,请按照下列步骤操作:
  1. 定位到想要修改的.rdp 文件,然后通过使用记事本打开它。
  2. RDP 文件中找到 身份验证级别 一行。
  3. 将身份验证级别值设置为下列值之一:
    • 0 此值对应于"未验证。
    • 1 此值对应于"要求身份验证。
    • 2 此值对应于"尝试身份验证。
    例如对于配置为要求身份验证远程桌面连接,键入 身份验证级别: i:1
  4. 将所做的更改保存到文件,然后退出记事本。
方法 2: 通过使用注册表编辑器
  1. 单击 开始、 单击 运行,键入 regedit,然后单击 确定
  2. 使用下列方法之一:
    • 若要修改的登录到计算机的所有用户注册表设置,找到并单击以下注册表子项:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Terminal 服务器客户端
    • 若要修改注册表设置,只为当前登录用户,找到并单击以下注册表子项:
      HKEY_CURRENT_USER\Software\Microsoft\Terminal 服务器客户端
  3. 编辑 菜单上指向 新建,然后单击 DWORD 值
  4. 新值 # 1 框中键入 AuthenticationLevelOverride,然后按 ENTER 键。
  5. 用鼠标右键单击 AuthenticationLevelOverride,然后单击 修改
  6. 数值数据 框中键入为下列值之一,然后单击 确定
    • 0 键入此值以配置的身份验证级别的"未验证。
    • 1 键入此值以配置的身份验证级别为"要求身份验证。
    • 2 键入此值以配置的身份验证级别的"尝试身份验证。
有关这些身份验证级别的其他信息,请参阅在"Method 1: By using Remote Desktop Connection"一节。

注意
  • 如果使用注册表配置身份验证级别登录到客户端计算机的用户不能修改身份验证设置。
  • 通过使用 HKEY_CURRENT_USER\Software\Microsoft\Terminal 服务器客户端注册表子项设置的身份验证级别将重写可能在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Terminal 服务器客户端的注册表子项中配置的身份验证级别。

参考

有关相关主题的详细信息,请访问以下 Microsoft 网站:
http://www.microsoft.com/windowsserver2003/technologies/terminalservices/default.mspx

http://technet2.microsoft.com/WindowsServer/en/Library/9d47b6a2-3216-45fc-9bb8-41a7d89e42d11033.mspx

http://technet2.microsoft.com/windowsserver/en/library/590FCC3E-C54F-48B7-95F2-45EE2255FC111033.mspx

http://technet2.microsoft.com/windowsserver/en/library/32AACFE8-83AF-4676-A45C-75483545A9781033.mspx

属性

文章编号: 895433 - 最后修改: 2007年1月12日 - 修订: 5.4
这篇文章中的信息适用于:
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
关键字:?
kbmt kbtermserv kbhowtomaster KB895433 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 895433
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈