VPN 和条件访问

VPN 客户端现在能够与基于云的条件访问平台集成,为远程客户端提供设备合规性选项。 条件访问是基于策略的评估引擎,可用于为任何Microsoft Entra连接的应用程序创建访问规则。

注意

条件访问是一项Microsoft Entra ID P1 或 P2 功能。

用于设备合规性的条件访问平台组件包括以下基于云的服务:

  • Conditional Access Framework
  • Microsoft Entra Connect Health
  • Windows 运行状况证明服务(可选)
  • Microsoft Entra证书颁发机构 - 要求用于基于云的设备符合性解决方案的客户端证书由基于Microsoft Entra ID的证书颁发机构 (CA) 颁发。 Microsoft Entra CA 实质上是 Azure 中的微型 CA 云租户。 无法将Microsoft Entra CA 配置为本地企业 CA 的一部分。 另请参阅 windows Server 和 Windows 10 Always On VPN 部署
  • Microsoft Entra ID颁发的短期证书 - 尝试使用 VPN 连接时,本地设备上的Microsoft Entra Token Broker 会与Microsoft Entra ID通信,然后根据符合性规则检查运行状况。 如果符合要求,Microsoft Entra ID发回用于对 VPN 进行身份验证的短期证书。 注意:可以使用证书身份验证方法,如 EAP-TLS。 当客户端重新连接并确定证书已过期时,在颁发新证书之前,客户端将再次检查Microsoft Entra ID进行运行状况验证。
  • Microsoft Intune设备符合性策略:基于云的设备合规性使用Microsoft Intune符合性策略,这些策略能够查询设备状态并定义以下内容的合规性规则等。
    • 防病毒状态
    • 自动更新状态和更新合规性
    • 密码策略合规性
    • 加密合规性
    • 设备运行状况证明状态(已在查询后针对证明服务验证)

还需要以下客户端组件:

VPN 设备合规性

目前,颁发给用户的Microsoft Entra证书不包含 CRL 分发点 (CDP) ,并且不适用于密钥分发中心 (KDC) 颁发 Kerberos 令牌。 用户若要访问本地资源(例如网络共享上的文件),必须将客户端身份验证证书部署到用户的 Windows 配置文件,并且其 VPNv2 配置文件必须包含 <SSO> 部分。

用于支持 VPN 设备合规性的服务器端基础结构要求包括:

  • 应配置 VPN 服务器以进行证书身份验证。
  • VPN 服务器应信任特定于租户的 CA Microsoft Entra。
  • 对于使用 Kerberos/NTLM 的客户端访问,域受信任的证书将部署到客户端设备,并配置为用于单一登录 (SSO) 。

设置服务器端后,VPN 管理员可以添加策略设置,以便使用 VPNv2 DeviceCompliance 节点对 VPN 配置文件进行条件访问。

两个客户端配置服务提供程序均用于 VPN 设备合规性。

  • VPNv2 CSP 设备符合性设置:
    • Enabled:从客户端启用设备合规性流。 如果标记为 true,VPN 客户端会尝试与Microsoft Entra ID通信,以获取用于身份验证的证书。 VPN 应设置为使用证书身份验证,VPN 服务器必须信任由 Microsoft Entra ID 返回的服务器。
    • Sso:在访问需要 Kerberos 身份验证的资源时,应使用 SSO 下的条目来指示 VPN 客户端使用 VPN 身份验证证书以外的证书。
    • Sso/Enabled:如果此字段设置为 true,则 VPN 客户端会为 Kerberos 身份验证查找单独的证书。
    • Sso/IssuerHash:VPN 客户端的哈希,用于查找正确的证书进行 Kerberos 身份验证。
    • Sso/Eku:以逗号分隔的扩展密钥用法列表, (EKU) 扩展,以便 VPN 客户端查找用于 Kerberos 身份验证的正确证书。
  • HealthAttestation CSP(并非要求)- HealthAttestation CSP 执行的函数包括:
    • 收集用于验证运行状况状态的 TPM 数据
    • 将数据转发到运行状况证明服务 (HAS)
    • 预配从 HAS 接收的运行状况证明证书
    • 根据请求,将从 HAS) 收到的运行状况证明证书 (以及相关的运行时信息转发到 MDM 服务器进行验证

注意

需要从本地 CA 颁发用于获取 Kerberos 票证的证书,并在用户的 VPN 配置文件中启用该 SSO。 这将使用户能够访问本地资源。 如果仅加入 AzureAD 的设备 (不是混合加入的设备) ,如果本地 CA 颁发的用户证书具有来自 AzureAD 的用户 UPN 主题和 SAN (使用者可选名称) ,则必须修改 VPN 配置文件,以确保客户端不会缓存用于 VPN 身份验证的凭据。 为此,在将 VPN 配置文件部署到客户端后,通过将条目 UseRasCredentials 从 1 (默认) 更改为 0 (零) ,来修改客户端上的 Rasphone.pbk

客户端连接流

VPN 客户端连接流的工作方式如下:

VPN 客户端尝试连接时的设备符合性工作流。

将 VPNv2 配置文件配置为 <“已启用 DeviceCompliance><”>true</Enabled> 时,VPN 客户端将使用此连接流:

  1. VPN 客户端调用 Windows 10 或 Windows 11 的 Microsoft Entra Token Broker,将自己标识为 VPN 客户端。
  2. Microsoft Entra Token Broker 向Microsoft Entra ID进行身份验证,并为其提供有关尝试连接的设备的信息。 Microsoft Entra服务器检查设备是否符合策略。
  3. 如果符合要求,Microsoft Entra ID请求生存期较短的证书。
  4. Microsoft Entra ID通过令牌代理将生存期较短的证书推送到证书存储区。 然后,令牌代理将控制权返回给 VPN 客户端,以便进行进一步的连接处理。
  5. VPN 客户端使用Microsoft Entra ID颁发的证书向 VPN 服务器进行身份验证。

配置条件访问

有关 XML 配置,请参阅 VPN 配置文件选项VPNv2 CSP

详细了解条件访问和Microsoft Entra运行状况