關於使用 Azure Front Door 的 TLS 加密
重要
TLS 1.0 和 1.1 的支援將於 2025 年 3 月 1 日終止。
傳輸層安全性 (TLS) (先前稱為安全通訊端層 (SSL)) 是在網頁伺服器與用戶端 (如 Web 瀏覽器) 之間建立加密連結的標準安全性技術。 此連結可確保在伺服器與用戶端之間傳遞的所有資料都保有私密性和加密狀態。
為了符合您的安全性或合規性需求,Azure Front Door 支援端對端 TLS 加密。 Azure 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 來提供回溯相容性。 TLS 1.0 和 1.1 的支援將於 2025 年 3 月 1 日終止。
雖然 Azure Front Door 支援 TLS 1.2,且它在 RFC 5246 中引進用戶端/相互驗證,但目前 Azure Front Door 不支援用戶端/相互驗證 (mTLS)。
您可以使用 Azure 入口網站或 Azure REST API,在自訂網域 HTTPS 設定的 Azure Front Door 中設定最低要求的 TLS 版本。 目前,您可以選擇 1.0 或 1.2。 因此將 TLS 1.2 指定為最低版本,即可控制 Azure Front Door 從用戶端所能接受的最低 TLS 版本。 針對最低 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.0 和 1.1 的支援將於 2025 年 3 月 1 日終止。
注意
- 啟用 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 清單。 若出現不含完整鏈結的憑證,則不保證與該憑證相關的要求能如預期運作。
在某些使用案例中 (例如用於測試),您可以停用 Azure Front Door 的憑證主體名稱檢查,以作為解決 HTTPS 連線失敗的因應措施。 請注意,來源仍然需要出示具備有效信任鏈結的憑證,但不需要符合原始主機名稱。
在 Azure Front Door 標準和進階中,您可以設定來源以停用憑證主體名稱檢查。
在 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 上線憑證,可以是標準的 TLS、延伸驗證憑證,或甚至是萬用字元憑證。 不支援自我簽署憑證。 瞭解如何為自訂網域啟用 HTTPS。
憑證自動輪替
針對 Azure Front Door 受控憑證選項,Azure Front Door 會管理憑證並在 90 天的到期日內自動輪替。 針對 Azure Front Door 標準/進階版受控憑證選項,Azure Front Door 會管理憑證並在 45 天的到期日內自動輪替。 如果您使用 Azure Front Door 受控憑證,並看到標準/進階版 SKU 的憑證到期日不到 60 天或 30 天,請提出支援票證。
針對您的自訂 TLS/SSL 憑證:
為了在金鑰保存庫中有憑證新版本可用時,將憑證自動輪替為最新版本,請將金鑰版本設為「最新」。 針對自訂憑證,無論憑證到期時間為何,憑證都會在 3-4 天內自動輪替為較新版本的憑證。
如果選取特定版本,則不支援自動輪替。 您必須手動重新選取新版本,才能輪替憑證。 部署新版憑證/秘密最多需要 24 小時。
注意
如果網域 CNAME 記錄直接指向 Front Door 端點,或間接指向流量管理員端點,則會自動輪替 Azure Front Door (標準和進階) 受控憑證。 否則,您必須重新驗證網域擁有權,才能輪替憑證。
您必須確保 Azure Front Door 的服務主體可以存取金鑰保存庫。 請參閱如何授與金鑰保存庫的存取權。 只要憑證的主體名稱或主體替代名稱 (SAN) 未變更,Azure Front Door 更新的憑證推出作業不會導致在實際執行環境中出現任何停機。
支援的加密套件
針對 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 不支援停用或為設定檔設定特定加密套件。
下一步
- 了解 Azure Front Door 上的自訂網域。
- 使用 Azure 入口網站在 Azure Front Door 上設定自訂網域。
- 了解 Azure Front Door 的端對端 TLS。
- 針對 Azure Front Door 設定自訂網域。
- 針對自訂網域啟用 HTTPS。