跳至主要内容

Android 802.1X 和 EAP-TLS 故障排查:Intune 与 Microsoft Entra ID 部署清单

您将能够精准定位托管的 Android 手机在员工 SSID 上无法通过 EAP-TLS 认证的原因,并在 Intune 中进行修复。将每个症状与四个常见原因进行匹配:缺少 CA 或域名、客户端证书处于错误的文件配置文件中、RADIUS 服务器名称值不匹配或未送达受信任的根证书。然后应用防止重复停机的推广清单。

作者:Tom Hackett发布于
📖 9 分钟阅读512 字3 应用实例12 关键定义

核心系列的一部分:企业 WiFi 安全指南 →

托管的 Android 手机通常因以下四个原因之一导致 EAP-TLS 失败。WiFi 配置文件缺少 CA 证书或域名,因此 Android 拒绝了 RADIUS 服务器。客户端证书存在于另一个不同的配置文件中。RADIUS 服务器名称字段与服务器证书不匹配。或者受信任的根配置文件从未传送到该设备。

EAP-TLS 在 Android 上的失败表现是什么样的?

EAP-TLS(带传输层安全性的可扩展身份验证协议)使用证书而非密码来对设备进行身份验证。它运行在 IEEE 802.1X(基于端口的访问控制标准)内部。802.1X 将身份验证移交给 RADIUS(远程用户拨号认证服务)服务器。

当这在 Android 上失败时,您通常会看到以下症状之一:

  • 网络显示在列表中,但始终处于“正在连接”状态,然后又回落到“已保存”状态。
  • 设备显示通用的身份验证错误。具体措辞因制造商而异。
  • 该网络在三星手机上可以使用,但在 Google Pixel 上不行,反之亦然。
  • 该网络在公司拥有的手机上可以使用,但在注册了工作配置文件的个人所有设备上失败。
  • 您的 RADIUS 日志中完全没有出现任何记录。

最后一个症状最为重要。从未到达 RADIUS 的设备属于配置文件问题,而不是身份验证问题。

通常是什么原因导致 Android EAP-TLS 失败?

近期 Android 版本中更严格的服务器验证

近期的 Android 版本针对新的企业网络删除了“不进行验证”选项。Android 现在需要满足两个条件才会发送其证书:一个用于信任的 CA 证书以及一个用于匹配的域名。

如果两者缺一,设备将拒绝完成 TLS 握手。在旧版本上正常运行了多年的配置文件,一旦设备进行操作系统更新,就可能会失效。

证书在工作配置文件中,而网络是从个人侧加入的

Android Enterprise 将工作配置文件与个人侧隔离开来,并且各自拥有独立的证书存储。Intune 会将客户端证书和受信任的根安装在工作配置文件中。员工如果是从个人设置中手动添加 SSID 的,将无法获取这些证书,因此身份验证会失败。

RADIUS 服务器名称字段

Intune Android Enterprise WiFi 配置文件中包含一个 RADIUS 服务器名称字段。微软的文档要求填写您的 RADIUS 服务器所提供的证书中的 DNS 名称。Android 会将此值放入其域名列表中,并将其与服务器证书进行比对。如果该字段为空、拼写错误或包含 IP 地址,验证就会失败。

受信任的根配置文件

WiFi 配置文件指向一个独立的 Intune 受信任证书配置文件。该配置文件必须包含签发了 RADIUS 服务器证书的根 CA。一个常见的错误是在您的客户端证书背后部署了根,而实际上签署服务器证书的是一个不同的 CA。这两个配置文件还必须针对相同的组和相同的 Android Enterprise 注册类型。### 制造商差异

Samsung、Google Pixel 和其他制造商的版本对企业 WiFi 设置的命名和排列方式有所不同。有些会显示额外选项,例如在线证书状态检查。请以您自己车队的设备作为参考,而不是使用其他品牌的屏幕截图。

如何确定原因?

先从设备开始,然后在 RADIUS 日志中进行确认。日志中的模式通常会指出原因。

症状 RADIUS 显示的内容 可能的原因 首要解决方法
未尝试连接到 RADIUS 设备未发送请求 未应用 WiFi 配置文件,或 SSID 名称不匹配 在 Intune 中检查每个设备的配置文件状态
服务器发送其证书后握手停止 来自客户端的 TLS 警报,例如 "unknown CA" 信任的根证书错误或缺失,或域名不匹配 部署服务器的根 CA 并纠正 RADIUS 服务器名称
握手在服务器端完成,然后失败 未提供客户端证书 缺失 SCEP 或 PKCS 证书,或处于错误的配置文件中 确认该设备的证书配置文件已成功运行
证书被接受,然后被拒绝 证书验证后拒绝访问 (Access-Reject) 身份映射、吊销或策略规则 对照身份提供商检查证书主题或 SAN
仅在个人拥有的设备上失败 无请求,或无客户端证书 从个人端加入了 SSID 将配置文件部署到工作配置文件,并停止手动加入

读取设备上的失败信息

在 Microsoft Intune 管理中心,打开设备并检查每个配置文件的状态。显示为挂起或错误的 WiFi 配置文件从未到达设备。证书配置文件处于错误状态意味着 SCEP (Simple Certificate Enrollment Protocol) 或 PKCS (Public Key Cryptography Standards) 签发失败。在处理网络之前,请先解决该问题。

在实验室设备上,来自 WiFi 请求方的 Android Debug Bridge 日志会显示确切的 TLS 警报。请将此方法用于测试手机,而不是生产车队。

读取 RADIUS 日志

FreeRADIUS、Microsoft Network Policy Server 和云 RADIUS 平台都会记录 EAP 交换停止的位置。通过设备的 MAC 地址或证书身份进行搜索。客户端发送的 TLS 警报意味着手机拒绝了您的服务器。在证书有效后拒绝访问 (Access-Reject) 意味着您的服务器拒绝了手机。

如果设备能够进行身份验证,然后随着员工在楼层之间走动而掉线,则原因不同。请阅读 Resolving Roaming Issues in Corporate WLANs。与信道变化相一致的断开连接则指向雷达事件。请参阅 DFS radar events on Cisco Meraki, HPE Aruba and Ruckus: a diagnostics checklist for channel changes。

对您的具体配置有疑问吗?

我们的团队与 80,000 多个场所的运营方、IT 经理和网络工程师保持合作。预约 20 分钟的通话,我们将为您展示同行是如何解决类似问题的。

如何在 Intune 和每个 Android 版本中解决它?

在 Intune 中

  1. 打开与注册类型相匹配的 Android 企业级 WiFi 配置文件。完全托管、专用和公司拥有的工作资料设备使用一种配置文件类型。个人拥有的工作资料设备使用另一种类型。
  2. 将 EAP 类型设置为 EAP-TLS。
  3. 在 RADIUS 服务器名称中输入 RADIUS 服务器证书的 DNS 名称。证书中的确切名称是最安全的值。切勿输入 IP 地址。
  4. 选择包含服务器根 CA 的受信任证书配置文件。
  5. 选择用于客户端身份验证的 SCEP 或 PKCS 配置文件。
  6. 将所有这三个配置文件分配给同一个组。

在三星、Pixel 及其他版本上

请勿要求员工在任何品牌的设备上手动编辑企业级设置。手动更改会绕过 Intune 并使设置偏向工作资料的错误一侧。如果某个制造商的设备失败而另一个正常工作,请先比较配置文件状态。然后,在您的实验室中针对该版本测试域名值。

在 RADIUS 端

确认服务器证书包含您在 Intune 中输入的 DNS 名称。确认其证书链指向您部署的根证书。如果您使用 Purple 员工 WiFi,Purple 会提供云 RADIUS 服务,并通过 RadSec(在 TLS 内传输的 RADIUS)连接到您的接入点。厂商设置步骤位于 Purple 的支持文章中,例如 Staff WiFi - Ubiquiti UniFi。请在 Security and Hardware Compatibility 中检查接入点要求。

实用案例

某 Android 更新后的 200 间客房酒店

以一家拥有 200 间客房、为客房部和工程维护部配备了 60 部公司所有手机的酒店为例。在每月更新后,有 40 部手机停止加入员工 SSID。RADIUS 日志显示客户端发送了 TLS 警报。

其 WiFi 配置文件没有 RADIUS 服务器名称值,而较旧的版本曾容许此情况。IT 团队添加了服务器证书的 DNS 名称并重新部署了配置文件。在下一次 Intune 签入后,所有 60 部手机均成功连接,无需恢复出厂设置。酒店运营商可以在我们的 Hotels 页面上找到有关员工连接的更多信息。

拥有个人设备的 120 家门店零售连锁企业

以一家拥有 120 家门店、店长在注册了工作资料的个人手机上运行的 零售 连锁企业为例。服务台工单显示,许多门店的手机从未到达 RADIUS。

店长们是从个人设置(其中不存在证书)中添加了门店 SSID。团队分配了个人拥有的工作资料 WiFi 配置文件,并告知店长们删除手动条目。每部手机收到托管配置文件后,连接失败的情况便停止了。

某铁路运营商更新其服务器证书

假设一家列车运营商在车厢内和车库中运行员工 WiFi(列车)。该运营商从一个新的颁发 CA 更新了其 RADIUS 服务器证书。在一夜之间,所有 Android 设备都因“未知 CA”警告而连接失败。如果在割接之前将新的根证书上传到受信任的证书配置文件中,本可以避免这次停机。该运营商现在提前两周部署根证书变更。

如何防止此类事件再次发生?

Intune 和 Entra ID 中的 Android 设备组推广清单

  • 映射身份。 决定证书是携带设备 ID 还是员工的 UPN(其 Entra ID 登录名)。配置 RADIUS 以匹配该字段。
  • 按注册类型分离。 为公司拥有的设备构建一套配置文件,为个人拥有的工作配置文件设备构建另一套。
  • 成对配对配置文件。 受信任的根证书、客户端证书和 WiFi 配置文件必须共享同一个分配组。
  • 使用正确的根证书。 部署签署了 RADIUS 服务器证书的 CA。
  • 填写 RADIUS 服务器名称。 使用服务器证书中的 DNS 名称,绝不要使用 IP 地址。
  • 在不同制造商设备间进行试点。 测试至少一部三星和一部 Pixel 手机,以及您设备组中的任何其他品牌。
  • 禁止手动加入。 告知员工绝不要手动添加 SSID。
  • 分阶段进行证书更新。 在服务器证书更改之前推送新的根证书。
  • 双向监控。 在推广期间,每周审查 Intune 配置文件状态和 RADIUS 拒绝记录。

关于身份提供商集成,请参阅 如何启用单点登录。

常见问题解答

Purple 员工 WiFi 是否支持在 Intune 中管理的 Android 设备?

是的。Purple 员工 WiFi 使用基于证书的 802.1X 通过 Purple 的云 RADIUS 对受管理的 Android 设备进行身份验证。您继续使用 Intune 进行证书和 WiFi 配置文件分发。Purple 连接到 Microsoft Entra ID、Okta 和 Google Workspace 进行身份识别。您的 Intune 配置文件指向 Purple RADIUS 服务器证书,而不是本地服务器。本指南中的 Android 端规则仍然适用:需要一个受信任的根证书和一个匹配的域名。

我需要新的接入点才能在 Purple 中运行 EAP-TLS 吗?

不需要。Purple 与硬件无关,可作为云叠加层在您已有的接入点上运行。支持的厂商包括 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium、Extreme Networks 和 Fortinet。每个厂商都需要一个指向 Purple 的 RADIUS 配置。设置步骤可在 Purple 的支持文档中找到。在开始之前,请在安全和硬件兼容性文档中检查具体型号的要求。

我可以在不重新注册 Android 设备的情况下,从本地 NPS 迁移到云 RADIUS 吗?

是的,在大多数情况下您可以这样做。如果新的 RADIUS 服务信任您的签发 CA,设备将保留其现有的客户端证书。您需要在 Intune 中更新受信任的根配置文件和 RADIUS 服务器名称,以匹配新的服务器证书。在切换 SSID 的 RADIUS 目标之前,先分阶段部署这些配置文件的更改。这样可以防止本指南中描述的隔夜“未知 CA”故障。

对于员工设备,EAP-TLS 是否优于 PEAP 或 iPSK?

是的,对于托管设备群而言确是如此。EAP-TLS 为每个设备或身份使用一个证书,因此不存在泄露共享密码的风险。PEAP (Protected EAP) 依赖于 TLS 隧道内的用户名和密码。iPSK (identity pre-shared key) 为每个设备或组提供其专属的密钥。iPSK 适用于无法保存证书的非托管设备。EAP-TLS 则适用于您通过 Intune 托管的手机。

Purple 在员工认证数据方面满足哪些合规标准?

Purple 已通过 ISO 27001 和 Cyber Essentials 认证,并符合 GDPR 和 CCPA。基于证书的 802.1X 支持 PCI DSS 在持卡人数据附近的系统网络上所要求的强访问控制。Purple 还持有 B Corp 认证。如果您的采购流程需要副本,请向您的客户团队索取最新的证书。

Android EAP-TLS 部署需要多长时间?

预计大部分精力将投入到 PKI 和 Intune 中,而不是接入点。将 SSID 指向 Purple 的 RADIUS 只需遵循支持中心中简短的厂商检查清单。为每种注册类型构建 SCEP 或 PKCS 配置文件、受信任的根配置文件以及 WiFi 配置文件需要更长的时间。在进行更广泛的部署之前,请预留时间对设备群中的每个制造商进行试点测试。

关键定义

EAP-TLS

带有传输层安全的扩展身份验证协议,在 IETF RFC 5216 中被指定为一种 EAP 方法 (RFC 3748)。客户端和服务器在 TLS 握手内使用 X.509 证书进行相互认证,因此不交换密码。

您在 Intune Android Enterprise WiFi 配置文件中为托管员工手机设置的 EAP 类型。本指南中的大多数失败发生在 TLS 握手期间,此时 Android 拒绝服务器或未提供客户端证书。

IEEE 802.1X

用于基于端口的网络访问控制的 IEEE 标准。它定义了客户端、认证器(例如接入点)和身份验证服务器在授予网络访问权限之前如何交换 EAP 消息。

您的员工 SSID 运行的框架。802.1X 将身份验证移交给 RADIUS,因此故障排查意味着既要检查 Android 客户端(Supplicant),也要检查 RADIUS 日志。

RADIUS

远程用户拨号认证系统,在 IETF RFC 2865 中指定。它将网络设备的身份验证请求传送到中央服务器,中央服务器以 Access-Accept 或 Access-Reject 进行回复。

FreeRADIUS、Microsoft 网络策略服务器和云 RADIUS 平台会记录 EAP 交换停止的位置。客户端发送的 TLS 告警意味着手机拒绝了您的服务器;Access-Reject 意味着您的服务器拒绝了手机。

RadSec

在 TLS 内传输的 RADIUS,在 IETF RFC 6614(用于 RADIUS 的 TLS 加密)中指定。它用加密的、经过证书验证的 TCP 连接取代了传统 RADIUS 的共享密钥传输。

Purple Staff WiFi 通过 RadSec 将您的接入点连接到 Purple 的云 RADIUS 服务。供应商设置步骤请参见 Purple 的支持文章。

RADIUS 服务器名称

Intune Android Enterprise WiFi 配置文件中的一个字段,Microsoft 将其定义为您的 RADIUS 服务器所出示证书中的 DNS 名称。Android 会将其写入其域名字段并与服务器证书进行比对。

空白、拼写错误或 IP 地址值会导致服务器验证失败。较旧的 Android 版本允许空白字段,因此故障通常在操作系统更新后出现。

信任的证书配置文件

在设备上安装根 CA 证书的 Intune 配置配置文件。WiFi 配置文件引用它,以便 Android 能够在 EAP-TLS 握手期间验证 RADIUS 服务器的证书链。

它必须包含颁发 RADIUS 服务器证书的根证书。它还必须与 WiFi 配置文件指向相同的组和注册类型,否则握手将因 "unknown CA"(未知 CA)警报而终止。

SCEP

简单证书注册协议(Simple Certificate Enrollment Protocol),在 IETF RFC 8894 中指定。设备向证书颁发机构请求并接收证书,私钥在设备上生成。

用于颁发客户端证书的两种 Intune 方法之一。Intune 管理中心中出现错误的 SCEP 配置文件意味着设备没有可出示的证书,因此在调整网络之前请先修复此问题。

PKCS

公钥加密标准(Public Key Cryptography Standards),源自 RSA 的系列规范。Intune PKCS 证书配置文件以 PKCS #12 包的形式将证书和密钥交付给设备。

在 Intune 中进行客户端身份验证时替代 SCEP 的方案。WiFi 配置文件必须选择 PKCS 或 SCEP 配置文件,且所有三个配置文件必须共享一个分配组。

Android Enterprise 工作资料

Google 的 Android Enterprise 管理模式,可在单独的配置文件中隔离企业应用、数据和凭据。工作资料拥有独立的证书存储,与个人侧区分开来。

Intune 在工作资料中安装客户端证书和根证书。从个人设置加入的网络无法访问这些证书,这就是为什么当员工手动添加 SSID 时,个人拥有的设备会失败的原因。

PEAP

受保护的扩展身份验证协议(Protected Extensible Authentication Protocol),在 IETF 互联网草案中定义。它将内部的基于密码的方法封装在经过服务器身份验证的 TLS 隧道内。

EAP-TLS 的常见替代方案。它依赖于用户名和密码,因此带有共享凭据风险,而基于证书的 EAP-TLS 在托管设备群上消除了这一风险。

iPSK

身份预共享密钥(Identity pre-shared key),一种供应商方法,在单个 SSID 上为每个设备或组分配其专属的 WPA2 或 WPA3 个人密码,而不是使用单一共享密钥。

适用于无法保存证书的非托管设备。对于您通过 Intune 管理的手机,则更适合使用 EAP-TLS。

UPN

用户主体名称(User Principal Name),Microsoft Entra ID 中员工的登录名称,格式为 RFC 822 样式的地址。它可以写入证书的主题或主题替代名称中。

您可以决定证书是携带设备 ID 还是 UPN,然后配置 RADIUS 以匹配该字段。不匹配会在出示有效证书后产生 Access-Reject 拒绝访问。

应用实例

一家拥有 200 间客房的酒店为客房部和维护部门配备了 60 部公司所有的 Android 手机。在一次月度更新后,40 部手机停止加入员工 SSID,且 RADIUS 日志显示客户端发送了 TLS 告警。

客户端发送的 TLS 告警意味着手机拒绝了服务器,因此团队检查了服务器验证设置。WiFi 配置文件中没有 RADIUS 服务器名称值,而较旧的 Android 版本曾容忍过这一点。最近的 Android 版本要求在发送证书之前同时具有受信任的 CA 和域名。IT 团队将 RADIUS 服务器证书的 DNS 名称添加到该字段中,并通过 Intune 重新部署了配置文件。在下一次 Intune 签入后,所有 60 部手机均成功连接。由于客户端证书和受信任的根证书已经正确,因此无需进行恢复出厂设置。

一家拥有 120 家门店的零售连锁店的门店经理在个人手机上注册了 Android Enterprise 工作配置文件。服务台工单显示,许多门店的手机从未到达 RADIUS。

RADIUS 日志中没有请求指向配置文件问题,而不是身份验证问题。经理们通过个人设置手动添加了门店 SSID。个人侧拥有自己的证书存储且不包含客户端证书,因此无法启动身份验证。团队分配了专为个人拥有的工作配置文件设备构建的 WiFi 配置文件,该配置文件与公司所有的配置文件类型不同。他们告知经理删除其手动输入的条目。一旦每部手机在其工作配置文件中接收到托管配置文件,连接失败的情况就停止了。

一家火车运营商在车厢内和车库中运行员工 WiFi。它从一个新的颁发 CA 续订了其 RADIUS 服务器证书,所有 Android 设备在一夜之间因 “未知 CA” 告警而连接失败。

“未知 CA” 告警表明手机拒绝了它们无法链接到受信任根证书的服务器证书。Intune 受信任证书配置文件中仍保留着旧的根证书,因此新的服务器证书在每台设备上都验证失败。在切换之前将新的根证书上传到受信任证书配置文件本可以防止此次停机。该运营商现在在任何服务器证书续订前两周部署根证书更改。这样在发生切换时,设备就会同时信任旧的和新的证书链。

常见问题

Purple Staff WiFi 是否适用于在 Intune 中管理的 Android 设备?

是的。Purple Staff WiFi 通过基于证书的 802.1X 对受管理的 Android 设备进行身份验证,并与 Purple 的云端 RADIUS 进行对接。您只需继续使用 Intune 进行证书和 WiFi 配置文件的分发。Purple 可连接到 Microsoft Entra ID、Okta 和 Google Workspace 进行身份识别。您的 Intune 配置文件只需指向 Purple RADIUS 服务器证书,而非本地服务器。本指南中的 Android 端规则同样适用:必须提供受信任的根证书和匹配的域名。

我是否需要新的接入点才能通过 Purple 运行 EAP-TLS?

不,您无需更换。Purple 与硬件无关,可作为云端覆盖层运行在您现有的接入点上。支持的厂商包括 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium、Extreme Networks 和 Fortinet。每个厂商都需要配置指向 Purple 的 RADIUS 设置。具体设置步骤请参见 Purple 的支持文档。在开始之前,请在《安全与硬件兼容性》文章中查看具体型号的要求。

我能否在不重新注册 Android 设备的情况下,从本地 NPS 迁移到云端 RADIUS?

是的,在大多数情况下可以。如果新的 RADIUS 服务信任您的发证 CA,设备将保留其现有的客户端证书。您只需在 Intune 中更新受信任的根配置文件和 RADIUS 服务器名称,以匹配新的服务器证书。在切换 SSID 的 RADIUS 目标之前,请提前部署这些配置文件更改。这可以防止本指南中提到的夜间突发 "未知 CA" 故障。

对于员工设备,EAP-TLS 是否优于 PEAP 或 iPSK?

是的,对于托管设备群非常适用。EAP-TLS 为每个设备或身份使用唯一的证书,因此不存在共享密码泄露的风险。PEAP (Protected EAP) 依赖于 TLS 隧道内部的用户名和密码。iPSK (identity pre-shared key) 为每个设备或组分配专属密钥。iPSK 适用于无法保存证书的非托管设备。而 EAP-TLS 则非常适合您通过 Intune 管理的手机。

Purple 在员工身份验证数据方面满足哪些合规标准?

Purple 已通过 ISO 27001 和 Cyber Essentials 认证,并符合 GDPR 和 CCPA。基于证书的 802.1X 支持 PCI-DSS 对持卡人数据附近网络所要求的强访问控制。此外,Purple 还持有 B Corp 认证。如果您的采购流程需要副本,请向您的客户团队索取最新的证书。

Android EAP-TLS 部署通常需要多长时间?

大部分工作将集中在 PKI 和 Intune 上,而非接入点。在支持中心,只需按照简单的厂商清单即可将 SSID 指向 Purple 的 RADIUS。为每种注册类型构建 SCEP 或 PKCS 配置文件、受信任的根配置文件以及 WiFi 配置文件需要花费更多时间。在进行大规模部署之前,请预留充足的时间,针对设备群中的每个制造商进行试点测试。

对您的具体配置有疑问吗?

我们的团队与 80,000 多个场所的运营方、IT 经理和网络工程师保持合作。预约 20 分钟的通话,我们将为您展示同行是如何解决类似问题的。