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 中,可於 /資源庫/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

發佈日期: