使用相互 TLS
「交互傳輸層安全 (mTLS)」鑑別可確保用戶端與伺服器之間雙向的資料流量安全且受信任。 它僅適用於「企業」或「安全」方案層次的客戶。
當配置 mTLS 時,只會授與存取權給具有對應用戶端憑證的要求。 當要求到達應用程式時,CIS 會回應用戶端憑證的要求。 如果用戶端無法呈現憑證,則不容許繼續執行要求。 否則,金鑰交換會繼續進行。

配置相互 TLS
依預設不會啟用相互 TLS。 這是一項額外服務,需要事先授權及啟用。
若要取得授權,您必須提交 IBM 支援案例。
為您的帳戶開啟 mTLS 之後,請採取下列步驟來啟用它。
- 導覽至 CIS 使用者介面中的 安全 頁面。
- 選取 相互 TLS 標籤。
- 按一下 啟用 以啟用特性。
mTLS 啟用後,就無法停用。
若要在IBM Cloud Internet Services UI 中為特定端點設定mTLS認證:
-
在「主要憑證」表格中,按一下 新增 以定義新的主要憑證。
-
將憑證內容貼至內容欄位,提供主要 CA 的名稱,並新增您要使用此憑證之端點的一或多個完整網域名稱 (FQDN)。 這些 FQDN 是用於應用程式原則所保護資源的主機名稱。 您必須將主要 CA 與受保護應用程式使用的 FQDN 相關聯。
-
按一下儲存。
如果您的區域除了使用主要憑證之外還使用中繼憑證,請上傳整個鏈。
-
在 MTLS 存取原則表格中,建立施行 mTLS 鑑別的新存取應用程式。 應用程式必須使用憑證上傳限制模式中相關聯的主機名稱來建置。 原則區段預設為施行
non_identity
的決策,以及符合任何有效憑證的include
規則。
使用cURL進行測試
-
嘗試在沒有用戶端憑證的情況下對網站進行 curl 處理,以使用 mTLS 來測試網站。 此 curl 指令範例適用於具有
https://auth.example.com
的存取原則集的網站 example.com:curl -sv https://auth.example.com
如果請求中沒有客戶端憑證,則會顯示「403 forbidden」回應,無法存取網站。
-
將用戶端憑證資訊新增至要求:
curl -sv https://auth.example.com --cert example.pem --key key.pem
當鑑別程序順利完成時,回應中會傳回 CF_Authorization Set-Cookie 標頭。
正在驗證相互 TLS
當您啟用此存取原則時,請遵循此驗證工作流程:
- 對來源的所有要求都會評估有效的用戶端憑證。 用戶端裝置會傳送用戶端 "hello"。 存取應用程式會回應 "hello" 及用戶端憑證的要求。
- 用戶端傳回有效憑證。
- 針對主要憑證管理中心完成用戶端鑑別信號交換。
- 對於鏈結,會檢查是否有過期憑證。 鏈結驗證適用於憑證驗證。
- 當主要憑證信任用戶端憑證時,會為用戶端產生已簽署的「JSON Web 記號 (JWT)」,容許要求及後續要求繼續進行。 如果要求沒有有效的用戶端憑證,則
403 Forbidden
會在回應中傳回。