部署防钓鱼无密码的组织通常需要一些角色使用远程桌面技术来促进工作效率、安全性或管理。 两个基本用例是:
- 使用防网络钓鱼的无密码凭据来初始化和验证从本地客户端到远程计算机的远程桌面连接会话
- 在已建立的远程桌面连接会话中使用防钓鱼的无密码凭据
查看每个用例的特定注意事项。
远程桌面连接组件
Windows 远程桌面协议涉及三个主要组件,所有这些组件都需要正确支持防钓鱼的无密码凭据,以便使用这些凭据启动远程桌面连接会话。 如果其中任何一个组件无法正常运行或缺少对某些无密码凭据的支持,则概述的一个或两种方案都不起作用。 本指南重点介绍 passkey/FIDO2 支持和 Cert-Based 身份验证(CBA)支持。
依次查看以下部分,以确定您正在使用的所有三个组件是否预计支持防钓鱼攻击的无密码方案。 如果有多个需要评估的方案,请重复此过程。
客户端平台
用于实例化远程桌面会话的本地客户端有几种常用的操作系统。 常用选项包括:
- Windows 10+
- Windows Server
- macOS
- iOS
- 安卓
- Linux
支持防钓鱼的无密码和远程桌面连接取决于客户端平台对密钥协议的支持,尤其是 客户端到验证器协议(CTAP) 和 WebAuthn。 CTAP 是漫游验证器(例如移动设备上的 FIDO2 安全密钥或密钥)与客户端平台之间的通信层。 大多数客户端平台都支持这些协议,但某些平台没有。 在某些情况下,例如对于运行专门操作系统的专用瘦客户机设备,您应联系供应商以确认支持。
Microsoft基于证书的身份验证(CBA) 要求在 Microsoft Entra ID 中进行配置,以便用户可以利用公钥基础结构(PKI)中的证书进行身份验证。 本文不解决本地仅基于证书的身份验证实现问题。
客户端平台 | FIDO 支持 | Microsoft Entra CBA | 注释 |
---|---|---|---|
Windows 10+ | 是的 | 是的 | |
Windows Server | 部分的 | 是的 | 不建议将 Windows Server 用于客户端计算设备。 Windows Server 跳转服务器可能会妨碍基于 FIDO 的抗网络钓鱼无密码认证。 如果使用跳转服务器,则建议使用 CBA 而不是 FIDO |
macOS | 是的 | 是的 | 并非所有 Apple Web 框架都支持 FIDO |
iOS | 是的 | 是的 | 并非所有 Apple Web 框架都支持 FIDO |
安卓 | 是的 | 是的 | |
Linux | 可能 | 是的 | 向 Linux 发行版供应商确认 FIDO 支持 |
目标平台
目标平台对于决定是否支持防网络钓鱼的无密码身份验证,以便建立远程桌面连接会话至关重要。
目标平台 | 远程桌面连接会话初始化 FIDO 支持 | 远程桌面连接会话初始化 Microsoft Entra CBA |
---|---|---|
加入了 Windows 10+ Microsoft Entra | 是的 | 是的 |
已加入 Windows Server Microsoft Entra | 是1 | 是的 |
Windows 10+ Microsoft Entra 混合连接已加入 | 是的 | 是的 |
Windows Server 已加入 Microsoft Entra 混合环境 | 是1 | 是的 |
已注册 Windows 10+ Microsoft Entra | 否 | 否 |
仅适用于加入内网域的 Windows 10 及更高版本的系统 | 否 | 否 |
仅加入 Windows Server 本地域 | 否 | 否 |
Windows 10+ 工作组 | 否 | 否 |
Azure Arc 托管的 Windows Server 独立服务器/工作组服务器2 | 是的 | 是的 |
1. 仅适用于 Windows Server 2022 或更高版本的服务器,这些服务器是通过 Microsoft Entra 联接或混合联接的
2. 仅适用于已加入 Microsoft Entra 的运行 Windows Server 2025 或更高版本的服务器
远程桌面连接客户端
仅对防钓鱼身份验证的客户端平台支持不足以支持远程桌面连接会话的防钓鱼身份验证。 使用的远程桌面连接客户端还必须支持这些凭据正常运行所需的组件。 查看许多常用的远程桌面连接客户端及其各种受支持的选项:
远程桌面连接客户端 | 远程桌面连接会话初始化 FIDO 支持 | 远程桌面连接会话初始化Microsoft Entra CBA |
---|---|---|
适用于 Windows 客户端的 MSTSC.exe | 是的 | 是的 |
MSTSC.exe,适用于 Windows Server 2022+ | 是的 | 是的 |
适用于 Windows Server 2019 或更早版本的 MSTSC.exe | 否 | 否 |
适用于 Windows 的 Windows 应用 | 是的 | 是的 |
适用于 macOS 的 Windows 应用 | 是的 | 是的 |
适用于 iOS 的 Windows 应用 | 是的 | 是的 |
适用于 Android 的 Windows 应用 | 是的 | 是的 |
Windows 365 Web 应用 | 否 | 否 |
第三方远程桌面连接客户端 | 可能 | 可能 |
重要
客户端和目标设备必须加入 Microsoft Entra、混合加入 Microsoft Entra 或注册到 Microsoft Entra,且连接到同一租户。 跨租户身份验证将不起作用,如果客户端设备已加入不同的租户,则无法向目标设备进行身份验证。
评估对情景的支持
如果本文档中概述的三个组件中的任何一个不支持你的方案,则你的方案预计不起作用。 若要评估,请考虑远程桌面连接会话身份验证和会话内凭据使用情况的每个组件。 针对环境中的每个方案重复此过程,了解哪些方案应正常工作,哪些方案不起作用。
示例 1
例如,下面介绍了如何评估方案是否为“我的信息工作者需要使用其 Windows 设备访问 Azure 虚拟桌面,需要使用 Microsoft Authenticator 密码对远程桌面连接会话进行身份验证,并在 Microsoft Edge 浏览器中使用远程桌面连接会话中的密钥”:
情景 | 客户端平台 | 目标平台 | 远程桌面连接客户端 | 是否支持? |
---|---|---|---|---|
使用身份验证应用 Passkey 的远程桌面连接会话初始化 | Windows 11 Microsoft Entra 已加入/混合加入/独立连接 | Azure 虚拟桌面已加入 Microsoft Entra | Windows 应用 | 是+是+是 = 是 |
使用身份验证应用 Passkey In-Session 身份验证的远程桌面连接 | Windows 11 Microsoft Entra 加入/混合加入/独立 | Azure 虚拟桌面加入了 Microsoft Entra | Windows 应用 | 是+是+是 = 是 |
在此示例中,远程桌面连接会话本身和会话内应用都可以利用用户的通行密钥。 支持防钓鱼的无密码应该可以广泛使用。
示例 2
下面介绍如何评估方案是否为“我的信息工作者需要使用其 macOS 设备访问 Azure 虚拟桌面,需要使用 Microsoft Authenticator 密码对远程桌面连接会话进行身份验证,并使用远程桌面连接会话中的密钥”:
情景 | 客户端平台 | 目标平台 | 远程桌面连接客户端 | 是否支持? |
---|---|---|---|---|
使用身份验证应用 Passkey 的远程桌面连接会话初始化 | macOS 15 | 已加入 Azure 虚拟桌面的 Microsoft Entra | Windows 应用 | 是+是+是 = 是 |
使用身份验证应用程序密码进行 In-Session 身份验证的远程桌面连接 | macOS 15 | Azure 虚拟桌面已与 Microsoft Entra 集成 | Windows 应用 | 是+是+否 = 否 |
在此示例中,用户可以使用其密钥建立远程桌面连接会话,但不能在远程桌面连接会话中使用,因为 macOS 上的 Windows 应用尚不支持此功能。 可以在远程桌面连接客户端中等待更好的密钥支持,也可以切换到其他凭据,例如使用 CBA 的证书。
示例 3
下面介绍了如何评估你的方案是否为“我的管理员需要使用其 Windows 设备访问本地 Windows Server,需要使用证书对远程桌面连接会话进行身份验证,并使用远程桌面连接会话中的证书”:
情景 | 客户端平台 | 目标平台 | 远程桌面连接客户端 | 是否支持? |
---|---|---|---|---|
使用证书的远程桌面连接会话初始化 | Windows 11 | Domain-Joined Windows 服务器 | MSTSC.exe | 是+是+是 = 是 |
使用证书 In-Session 身份验证的远程桌面连接 | Windows 11 | Domain-Joined Windows Server | MSTSC.exe | 是+是+是 = 是 |
在此示例中,用户可以使用其证书建立远程桌面连接会话,并使用远程桌面连接会话中的证书。 此方案将无法使用通行密钥,因为已加入域的 Windows 服务器无法使用通行密钥来设置远程桌面连接会话或在会话内使用。
示例 4
下面介绍了如何评估你的方案是否为“我的前线员工需要使用基于 Linux 的瘦客户端来访问未 Microsoft Entra 混合联接的本地 Windows 虚拟桌面基础结构(VDI)客户端,需要使用 FIDO2 安全密钥进行远程桌面连接会话的身份验证,并在远程桌面连接会话中使用 FIDO2 安全密钥”:
情景 | 客户端平台 | 目标平台 | 远程桌面连接客户端 | 是否支持? |
---|---|---|---|---|
使用 FIDO2 安全密钥的远程桌面连接会话初始化 | Linux 嵌入式发行版 | Domain-Joined Windows 11 | 供应商提供的客户端 | 可能+否+否 = 否 |
远程桌面连接 In-Session 使用 FIDO2 安全密钥进行身份验证 | Linux Embedded 发行版 | Domain-Joined Windows 11(操作系统) | 供应商提供的客户端 | 可能+是+也许 = 也许 |
在此示例中,用户可能根本无法使用其 FIDO2 安全密钥进行远程桌面连接,因为精简客户端 OS 和远程桌面连接客户端在所需的每个方案中都不支持 FIDO2/passkey。 请与瘦客户端供应商沟通,了解他们未来的支持计划。 此外,请针对 Microsoft Entra 混合加入或 Microsoft Entra 加入目标平台的虚拟机进行规划,以便更好地支持通行密钥。