OS X 伺服器:使用 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 記錄檔。

    - In OS X Lion and Mountain Lion, these logs can be found in /var/log/. The log will be called eapolclient.en0.log or eapolclient.en1.log.

    - In OS X Mavericks, these logs can be found in /Library/Logs/CrashReporter/com.apple.networking.eapol.XXXXXXXX .

  4. 在「主控台」中打開 eapolclient.enX.log,然後找出名為 TLSServerCertificateChain 的密鑰。看起來應該像這樣:

  5. 位於 和 之間的文字區塊即為憑證。拷貝該文字區塊,然後貼到文字編輯器中。請確認文字編輯器已設為可儲存純文字檔案。

  6. 加入標頭-----BEGIN CERTIFICATE----- and a footer of -----END CERTIFICATE-----. It should look like this:

  7. 以副檔名 .pem 儲存檔案。

  8. 打開「工具程式」檔案夾中的「鑰匙圈存取」App。

    Note: It may be helpful to create a new keychain so that you can easily find the certificate you import in the next step.

  9. 你可以將所建立的 .pem 檔案拖移到新的鑰匙圈中,或選擇「檔案」>「輸入項目」,然後選取稍早建立的 .pem 檔案。將檔案輸入到所選的鑰匙圈中。

  10. 對 TLSCertificateChain 陣列中的每個憑證重複上述步驟。你可能會有多個憑證。

  11. 檢查所輸入的每個憑證,以瞭解憑證內容。你至少須有根憑證和 RADIUS 伺服器憑證。你可能也會有中繼憑證。在設定描述檔中,你必須將 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

發佈日期: