使用 Cloud PKI 为 Entra 连接设备设置基于云的 RADIUS


Cloud PKI 使您能够使用 Microsoft Intune 完全从云将 SCEP 证书部署到您的设备,而无需在本地环境中使用复杂的企业证书颁发机构和 NDES 服务器。这很棒,但如果我需要利用 Cloud PKI 进行 WPA2(或 3)企业无线身份验证该怎么办?或者甚至是有线网络身份验证?为此,需要一台 RADIUS 服务器,而 Microsoft 无意将其引入云中,从而为您的云转型之旅带来潜在的阻碍。

在这篇文章中,我通过实践基于云的 RADIUS 服务 RADIUSaaS 来解决这个问题,这是一种无需基础设施的解决方案,可从云提供传统 RADIUS 身份验证。具体来说,我将带您完成使用 Ubiquiti Wireless 设置 Cloud PKI 和 RADIUSaaS 的过程,并给出我的诚实意见。

解决方案摘要

该解决方案有几个组件,目标是您可以使用基于设备的证书身份验证来使用纯云基础设施进行无线使用,并使用 Microsoft Intune 加入 Entra 并管理您的设备。以下组件创建了此解决方案:

  • Microsoft Intune(设备管理)
  • Microsoft Cloud PKI (Intune PKI 插件)
  • RADIUSaaS (glueckkanja AG 基于云的 RADIUS 服务)
  • 支持 WPA2 或 WPA3 Enterprise 的无线产品

下图突出显示了解决方案设计:

该解决方案的身份验证流程总结为以下步骤:

  1. 托管设备配置为信任来自 Cloud PKI 和 RADIUSaaS 的证书颁发机构。它还具有 Microsoft Intune 分配给它的 Wi-Fi 配置文件。
  2. Cloud PKI 使用 Intune SCEP 配置文件向工作站颁发客户端身份验证设备证书。
  3. 当在范围内时,工作站会尝试自动连接到启用 RADIUS 的无线 SSID。
  4. 然后,身份验证请求将发送到 RADIUSaaS。
  5. 设备证书根据 Cloud PKI 颁发 CA 的公共 CRL 进行验证和检查。
  6. RADIUSaaS 评估任何其他规则并处理最终的身份验证请求(如果有效)。

总费用

云之旅中最重大的挑战之一是预测潜在解决方案的许可成本,同时确保其可行性和可扩展性。为了评估该解决方案的成本(不包括无线产品的重复成本),每用户费用可总结如下:

  • 云 PKI:每用户每月 2 美元
  • RADIUSaaS: 每个用户每月 1.5 欧元(最多 275 个用户,然后随着用户数量的增加逐渐下降)。

基于用户数量的成本示例:

  • 100 位用户:每月大约 360 美元
  • 200 位用户:每月大约 720 美元
  • 1000 个用户:每月大约 2780 美元(2000 美元 - 云 PKI + 780 美元 - RADIUSaaS)。

*无论采用哪种解决方案,如果您的用户数量超过一定数量,您都可以与您的客户经理讨论降低许可成本或激励措施。

设置 Cloud PKI

值得庆幸的是,Microsoft 使在 Microsoft Intune 中配置 Cloud PKI 变得轻而易举。您所需要做的就是创建根 CA 和颁发 CA。然后,将两个受信任的证书配置文件部署到包含每个 CA 的公共证书的目标设备。这可确保您的设备信任完整的证书链。本文稍后将配置一个单独的 SCEP 配置文件,将设备配置为从云 PKI 请求证书。

无需重新发明轮子,查看这篇文章:如何在 Microsoft Intune 中逐步设置云 PKI,其中包含创建根 CA、颁发 CA 和受信任证书配置文件的步骤。整个过程也可以使用 Microsoft Graph PowerShell 完成!

当您需要向设备颁发证书时,请继续阅读本文。

下载 CA 证书和 CRL 地址

配置 Cloud PKI 中的 CA 后,您可以通过下载 CA 证书并复制每个 CA 的 CRL 来准备配置 RADIUSaaS 服务。

CRL 代表证书吊销列表。 CRL 是以前由 CA(证书颁发机构)颁发但已被撤销且不能再用于身份验证目的的证书的黑名单。

当服务尝试验证证书时,验证请求将发送到 CRL 颁发者,CRL 颁发者将响应该服务,告知证书是良好还是已吊销。证书可能因多种原因被撤销;疑似泄露、配置错误、错误发布。

要获取 CA 证书和 CRL,请针对根 CA 和颁发 CA 执行以下步骤:

1. 登录 intune.microsoft.com

2. 选择租户管理 > 云 PKI

3. 单击每个 CA,然后单击证书的下载按钮并复制CRL URL

请妥善保管此信息,因为您将在下一步中使用它。

配置 RADIUSaaS

下一步是配置您的 RADIUSaaS 服务。在这篇博文中,我导航到 radius-as-a-service.com 并从其网站主页选择了立即尝试 RADIUSaaS

试用注册不是自动的。然而,我的试用帐户在第二天就被激活了,并且从那时起 RADIUSaaS 团队就一直提供大力支持。您还可以通过 Azure 市场购买实例,团队将在本视频中引导您完成该过程。

与他们的团队交谈后,RADIUSaaS 服务在幕后运行在完全由 RADIUSaaS 管理和维护的冗余 Kubernetes 集群上。他们还可以通过直接与他们交谈来提供额外和/或定制的冗余选项。

创建新代理

由于我的无线接入点不支持 RadSec,因此我将使用通过 UDP 运行的传统 RADIUS 协议来进行此设置。 为此,我需要在 RADIUSaaS 服务中设置一个代理来接受身份验证数据包。

RADIUSaaS 主要是一项 RadSec 服务。在幕后,任何身份验证请求都会自动转换为 RadSec 以支持后端。如果无线解决方案不支持 RadSec,RADIUSaaS 支持通过代理使用传统 RADIUS 协议。

在 RADIUSaaS 门户中,展开设置,选择代理设置,然后点击添加

出现提示时,根据您的地理区域选择代理位置,然后单击创建

几分钟后,您的代理应该已成功创建。确保记录为您的代理提供的IP 地址

将 Cloud PKI 证书上传到 RADIUSaaS

下一步是确保 RADIUSaaS 服务信任我们的云 PKI CA,并且还知道在哪里可以找到每个 CA 的证书吊销列表 (CRL)。

为此,请展开设置并选择受信任的证书。单击添加

从下拉框中选择上传 PEM 或 DER 文件

添加可信证书弹出窗口中,选择客户端身份验证,然后上传您在前面步骤中下载的根CA证书。

然后,在验证下,选择CRL验证方法。

Cloud PKI 目前不支持 OCSP 验证方法。

最后,选择PEM作为CRL编码方法,并输入您之前从相应CA复制的CRL URL

Cloud PKI 使用 PEM 编码对 CRL 进行编码以创建 X.509 证书。

现在,对您的云 PKI 颁发 CA 执行相同的操作。完成后,两个受信任的证书都应列在 RADIUSaaS 门户内的“受信任的证书”页面上。

部署 RADIUSaaS 可信证书

除了应已通过 Intune 为云 PKI CA 部署到最终用户设备的两个受信任证书配置文件之外,您还需要为实例自动创建的 RADIUSaaS CA 部署第三个受信任证书配置文件。这是必需的,因为在无线网络身份验证点,客户端设备和 RADIUSaaS 之间建立了 TLS 隧道。

如果未将 RADIUSaaS 证书部署到最终用户设备,他们在尝试连接到无线网络时可能会收到以下错误。

虽然它不会完全阻止对无线网络的访问,但它会进一步增加混乱,而且体验也不会顺畅。

RADIUSaaS 确实支持在此步骤中使用您自己的 CA 证书,但是,由于您的 Cloud PKI 证书链和私钥无法导出,Cloud PKI b>这里支持。

下载 RADIUSaaS 可信证书

要下载 RADIUSaaS 可信证书,请按照以下步骤操作。

1. 登录到您的 RADIUSaaS 门户并展开设置,然后选择服务器设置并单击由 提供的 Customer-CA 旁边的下载图标RADIUSaaS。

2. 在弹出窗口中,确保下载以绿色突出显示的证书。这包含完整的证书链,如果没有它,您将遇到上面突出显示的相同错误。

部署 RADIUSaaS 可信证书

现在您已拥有正确的证书,需要使用 Intune 将其部署到最终用户设备上的受信任根证书存储中。请按照以下步骤部署证书:

1. 登录 intune.microsoft.com。

2. 选择设备 > 配置 > 创建 > 新策略

3. 在创建配置文件页面上,选择Windows 10 及更高版本模板,然后选择受信任的证书模板。

4. 为您的策略提供名称,然后单击下一步

5. 在“证书设置”页面上,选择您的RADIUSaaS 证书,然后选择计算机证书存储 - 根

6. 继续执行策略向导,确保将策略分配给目标设备

验证部署

一旦您的设备成功与 Microsoft Intune 同步,RADIUSaaS 证书现在应该存储在计算机的受信任根证书存储中。请按照以下步骤验证这一点:

1. 在 Windows 搜索栏中,输入 certlm.msc 并单击输入。这将启动管理计算机证书控制台

2. 展开受信任的根证书颁发机构,然后单击证书

根据上图,您应该会看到列出的证书。如果不这样做,请确保您的计算机已分配给上一步中创建的配置文件,并手动运行与 Intune 的同步。

为 Ubiquiti Wireless 配置 RADIUS 身份验证

如果您不像我一样使用 Ubiquiti 无线接入点,则必须确保您选择的无线产品支持 WPA Enterprise 或 RADIUS 身份验证。目前,我有一个连接到官方 Unify 云网关解决方案的 Ubiquity 无线接入点。请按照以下步骤在 Unify 管理门户中配置 RADIUS 身份验证,否则请查看无线供应商的文档。

创建新的 RADIUS 配置文件

第一步是创建新的 RADIUS 配置文件。在 Unify 管理门户中选择设置齿轮,然后单击配置文件> RADIUS > 新建

在 RADIUS 配置文件设置页面上输入下图中突出显示的信息。记帐服务器设置是可选的,但我建议您添加记帐服务器信息,以确保 RADIUS 服务器收集来自接入点的其他活动日志。

RADIUS 身份验证和帐户服务器的 IP 地址、端口和共享密钥可以在 RADIUSaaS 门户的设置 > 服务器设置下找到

创建新的无线配置文件

现在,您可以使用新创建的 RADIUS 设置来创建无线配置文件。在 Unify 管理门户中选择设置齿轮,然后点击WiFi >新建

定义您的配置文件的名称(这将是您的 SSID 的名称)并选择将广播该 SSID 的 AP。对于高级选项,将其设置为手动,然后修改以下设置:

  • 安全协议: WPA3 Enterprise
  • RADIUS 配置文件: %您的 RADIUS 配置文件%

此时,您的客户端将可以看到无线 SSID。

部署基于设备的 SCEP 证书配置文件

Microsoft Intune 中的云 PKI 服务支持简单证书注册协议 (SCEP),以便为使用 Intune 管理的设备向颁发 CA 请求证书。它使用 Microsoft Cloud PKI SCEP 服务来执行此操作,该服务是整个 Microsoft Cloud PKI 服务的一部分。下图中突出显示了该过程的更多细节。

为了确保我们的设备可以从 Cloud PKI SCEP 服务请求证书,我们必须首先通过 Intune 将 SCEP 配置文件部署到我们的设备。请按照以下步骤部署 SCEP 证书配置文件。

1. 登录 intune.microsoft.com

2. 选择设备 > 配置 > 创建 > 新策略

3. 选择Windows 10 及更高版本 > 模板,然后选择SCEP 证书模板。

4. 定义 SCEP 证书配置文件的名称,然后单击下一步

5. 在配置设置页面上,进行以下设置:

  • 证书类型:设备
  • 主题名称格式: CN={{AAD_Device_ID}} -(默认)
  • 证书有效期:6个月
  • 密钥存储提供商 (KSP):注册到可信平台模块 (TPM) KSP(如果存在),否则注册软件 KSP
  • 按键用法:全选
  • 密钥大小(位):2048
  • 哈希算法: SHA-2
  • 根证书:Intune Cloud PKI 的根 CA。
  • 扩展密钥用法:客户端身份验证
  • 续订阈值 (%): 20% (默认)
  • SCEP 服务器 URL:从颁发 CA 属性页面复制 SCEP URI。

颁发 CA 属性页面上的 SCEP URI 将在地址 {{CloudPKIFQDN}} 中显示以下变量。这很好,不应该改变。当证书颁发给设备时,URL 将动态更新。

您还可以在下面检查您的设置与我的设置:

完成此屏幕后,单击下一步,并确保将配置文件分配给设备的目标组。为简单起见,这也可能是您颁发根 CA 和颁发 CA 的同一组设备。

验证证书部署

与前面的步骤一样,您应该验证您的设备证书是否已成功部署到您的设备,并且存在完整的信任链。如果没有它,您与无线 SSID 的连接将被 RADIUSaaS 服务拒绝。

为此,请按照以下步骤操作:

1. 在 Windows 搜索栏中,输入 certlm.msc 并单击输入。这将启动管理计算机证书控制台

2. 展开个人 > 证书,然后双击颁发的证书。

3. 在认证路径选项卡上,确保整个链可见并且证书状态为确定

如果您的证书尚未颁发,请确保 SCEP 配置文件已应用到设备,然后从 Intune 门户手动运行同步并等待一段时间。

部署无线配置文件

最后一个要配置的项目是使用 Microsoft Intune 的无线配置文件。这将确保 SSID 配置文件和相关设置自动部署到设备,以确保最终用户获得流畅的体验。它还将确保一旦设备处于公司无线范围内(并且尚未通过有线连接),它就会自动连接并提供网络访问。

请按照以下步骤使用 Intune 部署 RADIUS 无线配置文件:

1. 登录 intune.microsoft.com

2. 选择设备 > 配置 > 创建 > 新策略

3. 选择 Windows 10 及更高版本 > 模板,然后选择 Wi-Fi 模板并单击创建

4. 为您的策略指定一个包含您的 SSID 的有意义的名称,然后单击下一步

5. 在配置设置页面上,将 Wi-Fi 类型设置为企业,然后配置以下设置:

  • Wi-Fi 名称 (SSID):您的 SSID 名称
  • 连接名称:您的 SSID 名称
  • 在范围内时自动连接:
  • 身份验证模式:机器
  • EAP 类型: EAP-TLS
  • 证书服务器名称:添加 RADIUS 根 CA 的 SAN主题名称。这可以从 RADIUS 门户的服务器设置下获取。

如果您使用 RADIUSaaS 提供的 CA(Cloud PKI 唯一支持的方法),则使用者名称和 SAN 将相同。在这种情况下,您的无线配置文件中只需要一项。

  • 用于服务器验证的根证书:添加 RADIUSaaS 证书配置文件(不是 Cloud PKI)
  • 身份验证方法: SCEP 证书
  • 用于客户端身份验证的客户端证书(身份证书):选择您创建的 SCEP 证书配置文件

请参阅下面我的设置进行确认:

6. 最后,将 Wi-Fi 配置文件分配给您的目标设备组

测试无线访问

现在配置已完成,是时候测试我们的无线连接了。从下面的屏幕截图中可以看到,我们的基于证书的 Office Wireless SSID 已成功连接。

有关用于此连接的连接方法的更多详细信息,可以使用 Windows 内置的 Netsh WLAN 报告来查看。只需以本地管理员身份打开 PowerShell 并运行以下命令:

netsh wlan show wlanreport

将生成报告并保存在 C:\ProgramData\Microsoft\Windows\WlanReport\wlan-report-latest.html 中。打开报告文件,您将看到有关无线适配器事件的详细日志。

EAP 方法类型 13 与支持基于证书的身份验证的 EAP-TLS 身份验证协议相关,详细信息请参阅 RFC 5216。

撤销证书和 CRL 支持

可以使用 Intune 门户轻松撤销证书,以确保在需要时快速阻止设备的网络访问。要使用 Intune 门户吊销证书,请按照以下步骤操作:

1. 登录 intune.microsoft.com

2. 选择租户管理 > 云 PKI

3. 选择您的颁发 CA 并单击查看所有证书

4. 选择您的目标证书并单击撤销

吊销我颁发的证书后大约1 分钟后,我无法再连接到无线网络。

RADIUSaaS 日志

在本博客的前面部分,我们为 RADIUSaaS 平台中的云 PKI 颁发 CA 配置了 CRL URL。此 URL 包含我们的 Cloud PKI CA 中所有已撤销证书的列表。 RADIUSaaS 将根据此 CRL 验证证书,并根据其有效性决定是否授权连接。如果用户设备上的证书已被撤销,RADIUSaaS 将捕获拒绝日志。

RADIUS 服务的整个过程相当即时,任何延迟都可能是由于 Microsoft Graph API 提供的服务速度造成的。

要查看这些日志,请从 RADIUSaaS 门户的菜单中选择日志,然后展开与拒绝事件相关的日志。然后可以以表格或 JSON 格式查看日志。

将日志导出到 Log Analytics

如果无法导出和集中这些日志以增强可见性,那么这将没有任何帮助,尤其是对于服务提供商而言。值得庆幸的是,RADIUSaaS 包含日志导出器功能,使您能够将这些日志连续导出到 Azure 中的 Log Analytics 工作区。这允许团队将日志提取到他们选择的 SIEM 解决方案中,以监控以下事件:

  • 授权系统
  • 代理服务
  • 规则引擎

然后可以在 SIEM 解决方案中配置规则,以突出显示连续或恶意日志事件并启动调查响应。

首先,只需从 RADIUSaaS 门户打开日志导出器,然后单击添加>日志分析

定义日志导出器的名称,然后启用您想要导出的日志类型。您还应该从 Azure 门户中的 Log Analytics 工作区获取客户 ID共享密钥

您可以从 Azure 门户获取客户 ID共享密钥。导航到 Log Analytics 工作区,选择代理并复制所需的值。