OS X Server:在使用 TLS、TTLS 或 PEAP 时如何在“配置描述文件”中配置 RADIUS 服务器信任

本文介绍了在使用配置描述文件时如何正确设置信任。

在 OS X 中,可使用配置描述文件来配置客户端,使其加入受 802.1x 保护的网络。如果配置描述文件没有针对 EAP 类型正确配置用于建立安全隧道(TLS、TTLS、PEAP)的 RADIUS 服务器信任,则会出现以下问题之一:

  • 不能自动加入
  • 鉴定失败
  • 到新接入点的漫游功能不起作用

在正确配置信任之前,您必须知道在鉴定失败期间 RADIUS 服务器提供了哪些证书。如果您已经有这些证书,请跳到第 13 步。

  1. EAPOL 日志会显示 RADIUS 服务器提供的证书。要启用 Mac OS X 中的 EAPOL 日志,请在终端使用以下命令:

    sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.eapolclient LogFlags -int -1
     
  2. 在启用 EAPOL 日志后,手动连接到受 802.1x 保护的网络。系统应该会提示您是否信任 RADIUS 服务器证书。如果信任此证书,即可完成鉴定。
  3. 找到 EAPOL 日志。
    - 可以在 OS X Lion 和 Mountain Lion 的“/var/log/”中找到这些日志。此日志名称可能是“eapolclient.en0.log”或“eapolclient.en1.log”。
    - 可以在 OS X Mavericks 的“/Library/Logs/CrashReporter/com.apple.networking.eapol.XXXXXXXX”中找到这些日志。
  4. 在“控制台”中打开“eapolclient.enX.log”,找到名为“TLSServerCertificateChain”的关键字。它应显示如下:


  5. <data></data> 之间的文本块就是证书。复制此文本块,然后将其粘贴到文本编辑器中。确保配置了文本编辑器以保存纯文本文件。
  6. 添加页眉 “-----BEGIN CERTIFICATE-----” 和页脚 “-----END CERTIFICATE-----”。它应显示如下:

  7. 使用 .pem 扩展名保存此文件。
  8. 打开位于“实用工具”文件夹中的“钥匙串访问”app。
    注:它对于创建新的钥匙串以便轻松找到您要在下一步骤中导入的证书很有帮助。
  9. 将您创建的 .pem 文件拖移到新的钥匙串中,或选取“文件”>“导入项目”,然后选择您之前创建的 .pem 文件。将此文件导入到您选择的钥匙串中。
  10. 对“TLSCertificateChain”阵列中的每个证书重复上述步骤。您可能有多个证书。
  11. 检查每个已导入的证书,以便您了解证书是什么。您至少应该有一个根证书和一个 RADIUS 服务器证书。您也可以有一个中间证书。必须将 RADIUS 服务器提供的所有根证书和中间证书包含在配置描述文件的证书有效负载中。如果您将 RADIUS 服务器名称包含在网络有效负载的“可信的服务器证书的名称”部分中,则“包含 RADIUS 服务器证书”这一操作是可选的。否则,还要在描述文件中包含 RADIUS 服务器证书。
  12. 您知道 RADIUS 服务器所提供的证书后,您可以从钥匙串中将它们导出为 .cer 文件,然后将它们添加到配置描述文件。将每个根证书和中间证书添加到配置描述文件的证书有效负载中。如果需要,您也可以添加 RADIUS 服务器证书。
  13. 在网络有效负载中,找到“信任”部分,然后将您刚添加的证书标记为可信。确保您没有将同位于证书有效负载中的任何其他证书标记为可信,否则,鉴定将失败。确保仅将 RADIUS 服务器实际提供的证书标记为可信。
  14. 接下来,将 RADIUS 服务器名称添加到“可信的服务器证书的名称”部分中。必须将所显示的精确名称(包括大小写)用作 RADIUS 服务器证书的通用名称。例如,如果 RADIUS 服务器证书的通用名称是“TEST.example.com”,则必须确保与证书中所用的大小写匹配。“test.example.com”值是无效的,但“TEST.example.com”是有效的。必须为每台 RADIUS 服务器添加新条目。也可以对主机名使用通配符。例如,*.example.com 会导致 example.com 域上的所有 RADIUS 服务器可信。
  15. 如果您以前曾启用 eapol 日志,则可以使用以下命令停用此日志记录功能:

    sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.eapolclient LogFlags -int 0

如果您不确定是否正确配置了信任,则可以检查“/var/log/system.log”。在“控制台”中打开“system.log”,然后过滤“eapolclient”,以查看与 eapolclient 进程相关的所有信息。典型的信任错误如下所示:

Mar 31 12:27:14 Macintosh.local eapolclient[5961]: [eapttls_plugin.c:968] eapttls_verify_server(): server certificate not trusted status 3 0

 

发布日期: