当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

作者:精品下载站 日期:2024-12-14 20:14:48 浏览:16 分类:玩电脑

使用受信任的 SSL/TLS 证书保护 RDP 连接


在本文中,我们将展示如何使用受信任的 SSL/TLS 证书来保护与 Active Directory 域中的 Windows 计算机或服务器的 RDP 连接。我们将使用受信任的 SSL 证书而不是默认的自签名 RDP 证书(然后使用自签名 RDP 证书,用户在连接到主机时会收到证书不受信任的警告)。在此示例中,我们将在证书颁发机构和组策略中配置自定义 RDP 证书模板,以自动颁发 SSL/TLS 证书并将其绑定到远程桌面服务。

远程桌面连接 (RDP) 自签名证书警告

默认情况下,为了保护 RDP 会话,Windows 会生成自签名证书。在使用 mstsc.exe 客户端首次连接到 RDP/RDS 主机期间,用户会看到以下警告:

The remote computer could not be authenticated due to problems with its security certificate. It may be unsafe to proceed.
Certificate error: The certificate is not from a trusted certifying authority.

要继续并建立 RDP 连接,用户必须单击。为了防止每次都出现 RDP 证书警告,您可以选中“不要再询问我是否连接到此计算机”选项。

[玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

在这种情况下,RDP 证书指纹与客户端上的 RDP 连接历史记录一起保存在注册表项的 CertHash 参数中 (

HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers\

)。如果您隐藏了无法验证 RDP 服务器的警告,请从注册表中删除证书指纹以重置设置。

[玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

即使使用自签名证书建立连接,您的 RDP 会话也是安全的,并且您的流量是加密的。

在证书颁发机构 (CA) 中创建 RDP 证书模板

让我们尝试使用由公司证书颁发机构颁发的受信任的 SSL/TLS 证书来保护 RDP 连接。使用此证书,用户可以在连接时对 RDP 服务器进行身份验证。假设您的域中已部署企业 Microsoft 证书颁发机构。在这种情况下,您可以配置自动颁发证书并将其连接到域中的所有 Windows 计算机和服务器。

您必须为 CA 中的 RDP/RDS 主机创建新型证书模板:

  1. 运行证书颁发机构控制台并转到证书模板部分;

  2. 复制计算机证书模板(证书模板 -> 管理 -> 计算机 -> 复制);

    [玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

  3. 常规选项卡中,指定新证书模板的名称 - RDPTemplate。确保模板名称字段中的值与模板显示名称

    [玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

  4. 兼容性选项卡中,指定您的域中使用的最低客户端版本(例如,CA 为 Windows Server 2008 R2,客户端为 Windows 7)。因此,将使用更强的加密算法;

  5. 然后,在扩展选项卡的“应用程序策略”部分中,将证书的使用范围限制为仅限远程桌面身份验证(输入以下对象标识符 - 1.3.6.1.4.1.311.54.1.2)。点击添加->新建,创建一个新策略并选择它;

    [玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

  6. 在证书模板设置(应用程序策略扩展)中,删除除远程桌面身份验证之外的所有策略;

    [玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

  7. 要在域控制器上使用此 RDP 证书模板,请打开安全选项卡,添加域控制器组并为其启用注册自动注册选项;

    [玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

  8. 保存证书模板;

  9. 然后在证书颁发机构 mmc 管理单元中,点击证书模板文件夹并选择新建 -> 要颁发的证书模板 -> 选择您创建的模板 (RDPTemplate);

    [玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

如何使用组策略部署 RDP SSL/TLS 证书?

现在,您需要配置域 GPO,以根据配置的模板自动将 RDP 证书分配给计算机/服务器。

假设所有域计算机都信任公司证书颁发机构,即根证书已使用 GPO 添加到受信任的根证书颁发机构。

  1. 打开域组策略管理控制台(gpmc.msc),创建一个新的 GPO 对象并将其链接到包含 RDP/RDS 服务器或计算机的 OU,以自动颁发 TLS 证书以保护 RDP 连接;

  2. 转到以下 GPO 部分:计算机配置 -> 策略 -> 管理模板 -> Windows 组件 -> 远程桌面服务 -> 远程桌面会话主机 -> 安全启用服务器身份验证证书模板策略。指定您之前创建的 CA 模板的名称 (RDPTemplate);

    [玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

  3. 然后在同一 GPO 部分中,启用要求对远程 (RDP) 连接使用特定安全层策略并为其设置值 SSL

    [玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

  4. 要自动续订 RDP 证书,请转到 GPO 的计算机配置 -> Windows 设置 -> 安全设置 -> 公钥策略部分,并启用证书服务客户端 - 自动注册属性策略。选中“续订过期证书、更新待处理证书和删除吊销证书”和“更新使用证书模板的证书”选项;

    [玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

  5. 如果您希望客户端始终验证 RDP 服务器证书,则必须配置为客户端配置身份验证=如果身份验证失败则警告我策略(计算机配置 -> 策略 -> 管理模板 -> Windows 组件 -> 远程桌面设置 -> 远程桌面连接客户端);

  6. 如果需要,请使用防火墙策略打开传入的 RDP 端口 TCP/UDP 3389;

  7. 然后更新客户端计算机上的组策略设置,启动计算机证书控制台(

    Certlm.msc

    )并确保您的 CA 颁发的远程桌面身份验证证书已出现在“个人”->“证书”部分中。

如果尚未应用新的组策略设置,请使用 gpresult 工具和本文进行诊断。

[玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

要应用新的 RDP 证书,请重新启动远程桌面服务:

Get-Service TermService -ComputerName mun-dc01| Restart-Service -force -verbose

此后,当使用 RDP 连接到服务器时,您将不会看到确认证书可信的请求(要查看该请求,请使用其 IP 地址而不是 FQDN 连接到颁发证书的服务器)。点击查看证书,转到详细信息选项卡,然后复制指纹字段中的值。

[玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

在证书颁发机构控制台的已颁发证书部分中,您可以确保已为特定 Windows 服务器/计算机颁发 RDPTemplate 证书。另请检查证书指纹值:

[玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

然后将此指纹与远程桌面服务使用的证书指纹进行比较。您可以在注册表中查看 RDS 证书指纹的值(HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStationsTemplateCertificate 参数)或使用以下 PowerShell 命令:

Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices|select SSLCertificateSHA1Hash

[玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

然后,当连接到任何 Windows 主机的远程桌面时,您将不会看到有关不受信任的 RDP 证书的警告。

使用受信任的 TLS 证书指纹对 RDP 文件进行签名

如果您没有 CA,但不希望用户在连接到 RDP/RDS 主机时看到警告,则可以将证书添加到用户计算机上的可信证书中。

如上所述获取 RDP 证书指纹的值:

Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices|select SSLCertificateSHA1Hash

使用此指纹通过 RDPSign.exe 工具对 .RDP 文件进行签名:

rdpsign.exe /sha256 25A27B2947022CC11BAFF261234567DEB2ABC21 "C:\ps\mun-dc01.rdp"

然后使用 GPO 将此指纹添加到用户计算机上的受信任证书中。在计算机配置 -> 策略 -> 管理模板 -> Windows 组件 -> 远程桌面设置 -> 远程桌面连接客户端中的指定代表受信任 .rdp 发布者的证书的 SHA1 指纹策略中指定指纹(以分号分隔)。

[玩转系统] 使用受信任的 SSL/TLS 证书保护 RDP 连接

要配置透明 RDP 登录而不输入密码(RDP 单点登录),请配置“允许委派默认凭据”策略并在其中指定 RDP/RDS 主机名(有关如何执行此操作的信息,请参阅本文)。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯