在您的環境中啟用 TLS 1.2 的支援,以 Microsoft Entra TLS 1.1 和 1.0 淘汰

為了改善租使用者的安全性狀態,並保持符合業界標準,Microsoft Entra ID 很快就會停止支援下列傳輸層安全性 (TLS) 通訊協定和加密:

  • TLS 1.1
  • TLS 1.0
  • 3DES 密碼套件 (TLS_RSA_WITH_3DES_EDE_CBC_SHA)

這種變更可能會對您的組織造成什麼影響

您的應用程式是否與 Microsoft Entra ID 通訊或進行驗證? 如果這些應用程式無法使用 TLS 1.2 來進行通訊,則這些應用程式可能無法如預期的方式運作。 這種情況包括:

  • Microsoft Entra Connect
  • Microsoft Graph PowerShell
  • Microsoft Entra 應用程式 Proxy 連接器
  • PTA 代理程式
  • 舊版瀏覽器
  • 與 Microsoft Entra ID整合的應用程式

為何要進行此變更

這些通訊協定和加密將會因以下原因而被取代:

TLS 1.0TLS 1.13DES 加密套件服務會在下列排程中淘汰。

實例類型 淘汰日期 狀態
美國政府實例 2021 年 3 月 31 日 完成
公用實例 2022年1月31日 完成
Microsoft Entra 中國 21Vianet 營運的實例 2023 年 6 月 持續

適用於 Microsoft Entra 服務的 TLS 1.3 支援

除了支援 TLS 1.2,Microsoft Entra 也會針對其端點推出 TLS 1.3 的支援,以符合 NIST - SP 800-52 Rev.2) (的安全性最佳做法。 透過這項變更,Microsoft Entra 端點將同時支援 TLS 1.2 和 TLS 1.3 通訊協定。

在您的環境中啟用 TLS 1.2 的支援

若要確保與 Microsoft Entra ID 和 Microsoft 365 服務的安全連線,請將用戶端應用程式和用戶端和伺服器操作系統 (OS) 設定為支援 TLS 1.2 和現代加密套件。

在用戶端上啟用 TLS 1.2 的準則

  • 更新 Windows 和您用於「WinHTTP」的預設 TLS。
  • 識別並減少您對不支援 TLS 1.2 之用戶端應用程式與作業系統的相依性。
  • 針對與 Microsoft Entra ID 通訊的應用程式和服務啟用 TLS 1.2。
  • 更新並設定您的 .NET Framework 安裝以支援 TLS 1.2。
  • 請確定使用 Microsoft GraphMicrosoft Graph PowerShell) 腳本的應用程式和 PowerShell (裝載在支援 TLS 1.2 的平臺上並執行。
  • 請確定網頁瀏覽器有最新的更新。 建議您 (根據 Chromium) 使用新的 Microsoft Edge 瀏覽器。 如需詳細資訊,請參閱穩定通道的 Microsoft Edge 版本資訊。
  • 請確定您的 Web Proxy 支援 TLS 1.2。 如需如何更新 Web Proxy 的詳細資訊,請與您的 Web Proxy 解決方案廠商連絡。

如需詳細資訊,請參閱下列文章:

更新 WinHTTP 所用的 Windows OS 和預設 TLS

這些作業系統原本都支援 TLS 1.2,以供透過 WinHTTP 的用戶端與伺服器通訊:

  • Windows 8.1、Windows 10及更新版本
  • Windows Server 2012 R2、Windows Server 2016 及更新版本

請確認您沒有在這些平台上明確停用 TLS 1.2。

預設情況下,Windows 的早期版本 (例如 Windows 8 和 Windows Server 2012),不會使用 WinHTTP 來啟用 TLS 1.2 或 TLS 1.1 進行安全通訊。 對於這些舊版的 Windows:

  1. 安裝更新 3140245
  2. 從 [在用戶端或伺服器作業系統上啟用 TLS 1.2] 區段中,啟用 [登錄值]。

您可以設定這些值,將 TLS 1.2 和 TLS 1.1 新增至 WinHTTP 的預設安全通訊協定清單。

如需詳細資訊,請參閱如何在用戶端啟用 TLS 1.2

注意事項

例如,根據預設,支援 TLS 1.2 (的 OS Windows 10) 也支援舊版的 TLS 通訊協定。 使用 TLS 1.2 建立連線且無法及時取得回應,或重設連線時,OS 可能會嘗試使用舊版 TLS 通訊協定 (,例如 TLS 1.0 或 1.1) 連線到目標 Web 服務。 如果網路忙碌中,或是網路中出現封包,通常會發生這種情況。 暫時後援至舊版 TLS 之後,OS 會再次嘗試建立 TLS 1.2 連線。

Microsoft 停止支援舊版 TLS 之後,這類後援流量的狀態為何? OS 可能仍會嘗試使用舊版 TLS 通訊協定來建立 TLS 連線。 但是,如果 Microsoft 服務不再支援舊版 TLS 通訊協定,舊版 TLS 型連線將不會成功。 這會強制操作系統改為使用 TLS 1.2 再次嘗試連線。

識別並減少不支援 TLS 1.2 之用戶端的相依性

更新下列用戶端以提供不間斷的存取:

  • Android 版本 4.3 和舊版
  • Firefox 5.0 和舊版
  • Windows 7 及舊版中的 Internet Explorer 版本 8-10
  • Windows Phone 8.0 中的 Internet Explorer 10
  • OS X10.8.4 和舊版中的 Safari 6.0.4

如需詳細資訊,請參閱 www.microsoft.com、SSLLabs.com 的各種用戶端的交握模擬

在與 Microsoft Entra ID 通訊的一般伺服器角色上啟用 TLS 1.2

在用戶端或伺服器作業系統上啟用 TLS 1.2

登錄字串

針對 Windows 2012 R2、Windows 8.1 和更新版本的作業系統,預設會啟用 TLS 1.2。 因此,除非使用不同的值設定下列登錄值,否則不會顯示這些值。

若要在操作系統層級手動設定及啟用 TLS 1.2,您可以新增下列 DWORD 值:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
    • DisabledByDefault00000000
    • Enabled00000001
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
    • DisabledByDefault00000000
    • Enabled00000001
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
    • SchUseStrongCrypto00000001

若要使用PowerShell腳本啟用TLS 1.2,請參閱 Microsoft Entra Connect 的 TLS 1.2 強制執行

如何檢查正在使用的 TLS 通訊協定

以下是兩種檢查所使用 TLS 的方式:

  • 瀏覽器安全性設定
  • Windows 中的因特網屬性

若要檢查使用因特網屬性使用的 TLS 通訊協定,請遵循下列步驟:

  1. Windows+R 以開啟 [執行] 方 塊。

  2. 輸入 inetcpl.cpl ,然後選取 [ 確定]。 接著會開啟 [ 因特網屬性] 視窗。

  3. 在 [ 因特網屬性] 視窗中,選取 [ 進階 ] 索引卷標,然後向下捲動以檢查與 TLS 相關的設定。

    顯示因特網屬性中 TLS 相關設定的螢幕快照。

更新及設定 .NET Framework 以支援 TLS 1.2

使用 Microsoft Graph PowerShellMicrosoft Graph) (的受控 Microsoft Entra 整合式應用程式和 Windows PowerShell 腳本可能會使用 .NET Framework。

安裝 .NET 更新以啟用強式密碼編譯

判斷 .NET 版本

首先,判斷已安裝的 .NET 版本。

安裝 .NET 更新

安裝 .NET 更新,以便啟用強式密碼編譯。 有些 .NET Framework 版本可能需要更新,以便啟用強式密碼編譯。

使用這些方針:

  • .NET Framework 4.6.2 及較新版本支援 TLS 1.2 和 TLS 1.1。 檢查登錄設定。 不需要進行其他變更。

  • 更新 .NET Framework 4.6 和舊版以支援 TLS 1.2 和 TLS 1.1。

    如需詳細資訊,請參閱 .NET Framework 版本和相依性

  • 您是否使用 Windows 8.1 或 Windows Server 2012 上的 .NET Framework 4.5.2 或 4.5.1? 此外,也可以從 Microsoft Update 目錄取得相關的更新及詳細資料。

針對透過網路進行通訊並執行啟用 TLS 1.2 系統的電腦,請設定下列登錄 DWORD 值。

  • 對於 32 位元作業系統上的 32 位元應用程式或 64 位元作業系統上的 64 位元應用程式,請更新下列子機碼值:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727

      • SystemDefaultTlsVersions00000001
      • SchUseStrongCrypto00000001
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

      • SystemDefaultTlsVersions00000001
      • SchUseStrongCrypto00000001
  • 對於在 64 位元作業系統上執行的 32 位元應用程式,請更新下列子機碼值:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727
      • SystemDefaultTlsVersionsdword:00000001
      • SchUseStrongCryptodword:00000001
    • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
      • SystemDefaultTlsVersionsdword:00000001
      • SchUseStrongCryptodword:00000001

例如,在下列項目上設定這些值:

  • Configuration Manager 用戶端
  • 未安裝在網站伺服器上的遠端網站系統角色
  • 網站伺服器本身

如需詳細資訊,請參閱下列文章:

登入記錄檔中的新遙測概覽

若要協助您識別在環境中仍使用舊版 TLS 的任何用戶端或應用程式,請檢視 Microsoft Entra 登入記錄。 對於透過舊版 TLS 登入的用戶端或應用程式,Microsoft Entra ID 將 [其他詳細數據] 中的 [舊版 TLS] 字段標示為 True。 只有在透過舊版 TLS 進行登入時,才會顯示 [舊版 TLS] 欄位。 如果您在記錄中看不到任何舊版 TLS,就可以切換至 TLS 1.2。

若要尋找使用舊版 TLS 通訊協定的登入嘗試,管理員可以透過下列方式查看記錄檔:

  • 匯出及查詢 Azure 監視器中的記錄檔。
  • 以 JavaScript 物件標記法 (JSON) 格式下載記錄檔的最後七天。
  • 使用 PowerShell 篩選和匯出登入記錄檔。

以下說明這些方法。

您可以使用 Azure 監視器查詢登入記錄檔。 Azure 監視器是一種強大的記錄檔分析、監視及警示工具。 將 Azure 監視器用於:

  • Microsoft Entra 記錄
  • Azure 資源記錄
  • 來自獨立軟體工具的記錄

注意事項

您需要 Microsoft Entra ID P1 或 P2 授權,才能將報告數據匯出至 Azure 監視器。

使用 Azure 監視器查詢舊版 TLS 項目:

  1. 整合 Microsoft Entra 記錄與 Azure 監視器記錄中,遵循如何在 Azure 監視器中存取 Microsoft Entra 登入記錄的指示。

  2. 在查詢定義區域中,貼上下列 Kusto 查詢語言查詢:

    // Interactive sign-ins only
    SigninLogs
    | where AuthenticationProcessingDetails has "Legacy TLS"
        and AuthenticationProcessingDetails has "True"
    | extend JsonAuthProcDetails = parse_json(AuthenticationProcessingDetails)
    | mv-apply JsonAuthProcDetails on (
        where JsonAuthProcDetails.key startswith "Legacy TLS"
        | project HasLegacyTls=JsonAuthProcDetails.value
    )
    | where HasLegacyTls == true
    
    // Non-interactive sign-ins
    AADNonInteractiveUserSignInLogs
    | where AuthenticationProcessingDetails has "Legacy TLS"
        and AuthenticationProcessingDetails has "True"
    | extend JsonAuthProcDetails = parse_json(AuthenticationProcessingDetails)
    | mv-apply JsonAuthProcDetails on (
        where JsonAuthProcDetails.key startswith "Legacy TLS"
        | project HasLegacyTls=JsonAuthProcDetails.value
    )
    | where HasLegacyTls == true
    
    // Workload Identity (service principal) sign-ins
    AADServicePrincipalSignInLogs
    | where AuthenticationProcessingDetails has "Legacy TLS"
        and AuthenticationProcessingDetails has "True"
    | extend JsonAuthProcDetails = parse_json(AuthenticationProcessingDetails)
    | mv-apply JsonAuthProcDetails on (
        where JsonAuthProcDetails.key startswith "Legacy TLS"
        | project HasLegacyTls=JsonAuthProcDetails.value
    )
    | where HasLegacyTls == true
    
  3. 選取 [執行] 以執行查詢。 符合該查詢的記錄項目會出現在查詢定義下方的 [結果] 索引標籤中。

  4. 若要深入了解舊版 TLS 要求的來源,請參閱下列欄位:

    • UserDisplayName
    • AppDisplayName
    • ResourceDisplayName
    • UserAgent

檢視 Microsoft Entra 系統管理中心 中記錄專案的詳細數據

取得記錄之後,您可以在 Microsoft Entra 系統管理中心 中取得舊版 TLS 型登入記錄項目的詳細數據。 依照下列步驟執行:

  1. Azure 入口網站 中,搜尋並選取 [Microsoft Entra ID]。

  2. 在 [概觀] 頁面功能表中,選取 [登入記錄]

  3. 為使用者選取登入記錄檔項目。

  4. 選取 [其他詳細資料] 索引標籤。 (如果您沒有看到此索引標籤,請先選取右邊的省略號 (...),以查看完整的索引標籤清單。)

  5. 檢查 舊版 TLS (TLS 1.0、1.1 或 3DES 是否設定為 True 值。 如果您看到該特定欄位及值,則表示已使用舊版 TLS 進行登入嘗試。 如果已使用 TLS 1.2 進行登入嘗試,則該欄位不會出現。

如需詳細資訊,請參閱 Microsoft Entra ID 中的登入記錄

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群