使用 Azure Front Door 的端對端 TLS

傳輸層安全性(TLS),先前稱為安全套接字層(SSL),是建立網頁伺服器與客戶端之間加密連結的標準安全性技術,例如網頁瀏覽器。 此連結可確保在伺服器與客戶端之間傳遞的所有數據都會保持私人且加密。

為了符合您的安全性或合規性需求,Azure Front Door 支援端對端 TLS 加密。 Front Door TLS/SSL 卸除會終止 TLS 連線、解密 Azure Front Door 上的流量,並在將流量轉送至來源之前重新加密流量。 當來源的聯機使用來源的公用IP位址時,最好是將 HTTPS 設定為 Azure Front Door 上的轉送通訊協定。 藉由使用 HTTPS 作為轉送通訊協定,您可以強制執行端對端 TLS 加密,以處理從用戶端到來源的要求。 如果您使用 Private Link 功能,使用 Azure Front Door 部署私人來源 進階版,也支援 TLS/SSL 卸除。

本文說明 Azure Front Door 如何搭配 TLS 連線運作。 如需如何搭配您自己的自定義網域使用 TLS 憑證的詳細資訊,請參閱 自定義網域的 HTTPS。 若要瞭解如何在您自己的自定義網域上設定 TLS 憑證,請參閱使用 Azure 入口網站 在 Azure Front Door 上設定自定義網域。

端對端 TLS 加密

端對端 TLS 可讓您在傳輸至來源時保護敏感數據,同時受益於 Azure Front Door 功能,例如全域負載平衡和快取。 某些功能也包括 URL 型路由、TCP 分割、最接近客戶端的邊緣位置快取,以及自定義邊緣的 HTTP 要求。

Azure Front Door 會卸除邊緣的 TLS 會話,並解密用戶端要求。 然後,它會套用已設定的路由規則,將要求路由至來源群組中的適當來源。 然後,Azure Front Door 會啟動與來源的新 TLS 連線,並使用來源的憑證重新加密所有數據,再將要求傳送至來源。 來源的任何回應都會透過相同的進程加密給終端使用者。 您可以將 Azure Front Door 設定為使用 HTTPS 作為轉送通訊協定,以啟用端對端 TLS。

支援的 TLS 版本

Azure Front Door 支援四個 TLS 通訊協定版本:TLS 1.0、1.1、1.2 和 1.3 版。 在 2019 年 9 月之後建立的所有 Azure Front Door 配置文件都會使用 TLS 1.2 作為啟用 TLS 1.3 的預設最小值,但仍支援 TLS 1.0 和 TLS 1.1,以提供回溯兼容性。

雖然 Azure Front Door 支援在 RFC 5246 中引進用戶端/相互驗證的 TLS 1.2,但 Azure Front Door 目前不支援用戶端/相互驗證 (mTLS)。

您可以使用 Azure 入口網站 或 Azure REST API,在自定義網域 HTTPS 設定中,在 Azure Front Door 中設定最低 TLS 版本。 目前,您可以選擇 1.0 和 1.2。 因此,將 TLS 1.2 指定為最低版本可控制用戶端接受的最低可接受 TLS 版本 Azure Front Door。 針對最低 TLS 1.2 版,交涉會嘗試建立 TLS 1.3,然後嘗試 TLS 1.2,而針對最低 TLS 1.0 版,將會嘗試這四個版本。 當 Azure Front Door 起始來源的 TLS 流量時,它會嘗試交涉來源可可靠且一致地接受的最佳 TLS 版本。 來源連線支援的 TLS 版本為 TLS 1.0、TLS 1.1、TLS 1.2 和 TLS 1.3。

注意

  • 啟用 TLS 1.3 的客戶端必須支援其中一個符合 Microsoft SDL 規範的 EC 曲線,包括 Secp384r1、Secp256r1 和 Secp521,才能使用 TLS 1.3 成功向 Azure Front Door 提出要求。
  • 建議用戶端在要求期間使用上述其中一個曲線作為其慣用曲線,以避免增加 TLS 交握延遲,這可能會導致多次來回交涉支援的 EC 曲線。

支持的憑證

當您建立 TLS/SSL 憑證時,必須使用屬於 Microsoft 受信任 CA 列表的允許證書頒發機構單位 (CA) 建立完整的憑證鏈結。 若使用非允許的 CA,系統會拒絕您的要求。

不允許來自內部 CA 的憑證或自我簽署憑證。

在線憑證狀態通訊協定 (OCSP) 裝訂

根據預設,Azure Front Door 支援 OCSP 裝訂,而且不需要任何設定。

原始 TLS 連線 (Azure Front Door 至原始來源)

針對 HTTPS 連線,Azure Front Door 預期您的來源會向有效的證書頒發機構單位 (CA) 提供符合原始 主機名的主體名稱的憑證。 例如,如果您的原始主機名設定為 myapp-centralus.contosonews.net ,且您的來源在 TLS 交握期間呈現的憑證沒有 myapp-centralus.contosonews.net*.contosonews.net 主體名稱,則 Azure Front Door 會拒絕連線,且用戶端看到錯誤。

注意

憑證必須具有具有分葉和中繼憑證的完整憑證鏈結。 根 CA 必須是 Microsoft 信任 CA 清單一部分。 如果出現沒有完整鏈結的憑證,則牽涉到該憑證的要求不保證如預期般運作。

在某些使用案例中,例如用於測試,作為解決失敗 HTTPS 連線的因應措施,您可以停用 Azure Front Door 的憑證主體名稱檢查。 請注意,來源仍然需要出示具有有效信任鏈結的憑證,但不需要符合原始主機名。

在 Azure Front Door Standard 和 進階版 中,您可以設定來源來停用憑證主體名稱檢查。

在 Azure Front Door(傳統版)中,您可以變更 Azure 入口網站 中的 Azure Front Door 設定,以停用憑證主體名稱檢查。 您也可以使用 Azure Front Door API 中的後端集區設定來設定檢查。

注意

從安全性的觀點來看,Microsoft 不建議停用憑證主體名稱檢查。

前端 TLS 連線(用戶端至 Azure Front Door)

若要啟用 HTTPS 通訊協定,以在 Azure Front Door 自訂網域上安全地傳遞內容,您可以選擇使用由 Azure Front Door 管理的憑證,或使用您自己的憑證。

如需詳細資訊,請參閱 自定義網域的 HTTPS。

Azure Front Door 的受控憑證會透過 DigiCert 提供標準 TLS/SSL 憑證,並儲存在 Azure Front Door 的 金鑰保存庫 中。

如果您選擇使用自己的憑證,您可以從支援的 CA 將憑證上線,該 CA 可以是標準 TLS、擴充驗證憑證,甚至是通配符憑證。 不支援自我簽署憑證。 瞭解如何 為自定義網域啟用 HTTPS。

憑證自動調整

針對 Azure Front Door 受控憑證選項,憑證會在 Azure Front Door 到期後的 90 天內進行管理和自動輪替。 針對 Azure Front Door Standard/進階版 受控憑證選項,憑證會在 Azure Front Door 到期後的 45 天內進行管理和自動輪替。 如果您使用 Azure Front Door 受控憑證,並看到憑證到期日少於 60 天,或標準/進階版 SKU 的 30 天,請提出支援票證。

針對您自己的自定義 TLS/SSL 憑證:

  1. 當密鑰保存庫中有較新版本的憑證可用時,您會將憑證的秘密版本設定為 「最新」,以自動輪替為最新版本。 針對自定義憑證,無論憑證過期的時間為何,憑證都會在 3-4 天內自動輪替,且憑證版本較新版本。

  2. 如果選取特定版本,則不支援自動調整。 您必須手動重新選取新版本,才能輪替憑證。 部署新版憑證/秘密最多需要 24 小時。

    注意

    如果網域 CNAME 記錄直接指向 Front Door 端點,或間接指向 流量管理員 端點,則會自動輪替 Azure Front Door (Standard 和 進階版) 受控憑證。 否則,您必須重新驗證網域擁有權以輪替憑證。

    您必須確保 Front Door 的服務主體可以存取金鑰保存庫。 請參閱如何授與金鑰保存庫的存取權。 Azure Front Door 所更新的憑證推出作業不會造成任何生產停機時間,只要憑證的主體名稱或主體替代名稱 (SAN) 未變更。

支援的加密套件

針對 TLS 1.2/1.3,支援下列加密套件:

  • TLS_AES_256_GCM_SHA384 (僅限 TLS 1.3)
  • TLS_AES_128_GCM_SHA256 (僅限 TLS 1.3)
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

注意

針對 Windows 10 和更新版本,建議您啟用一或兩個ECDHE_GCM加密套件,以提高安全性。 Windows 8.1、8 和 7 與這些ECDHE_GCM加密套件不相容。 已提供ECDHE_CBC和 DHE 加密套件,以便與這些作業系統相容。

啟用 TLS 1.0 和 1.1 的自定義網域時,支援下列加密套件:

  • TLS_AES_256_GCM_SHA384 (僅限 TLS 1.3)
  • TLS_AES_128_GCM_SHA256 (僅限 TLS 1.3)
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA256
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

Azure Front Door 不支援停用或設定設定檔的特定加密套件。

下一步