MICROSOFT ENTRA TLS 1.1 および 1.0 の非推奨に対して、環境内の TLS 1.2 のサポートを有効にする

テナントのセキュリティ体制を改善し、業界標準に準拠し続けるために、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
  • PTA エージェント
  • レガシ ブラウザー
  • Microsoft Entra IDと統合されたアプリケーション

この変更が行われる理由

これらのプロトコルと暗号は、次の理由で非推奨になっています。

TLS 1.0TLS 1.1および 3DES 暗号スイート サービスは、次のスケジュールで非推奨になっています。

インスタンスの種類 非推奨の日付 状態
米国政府インスタンス 2021 年 3 月 31 日 完了
パブリック インスタンス 2022 年 1 月 31 日 完了
21Vianet が中国で運営するMicrosoft Entraインスタンス 2023 年 6 月 進行 中

Microsoft Entra サービスの TLS 1.3 サポート

TLS 1.2 のサポートに加えて、Microsoft Entraでは、セキュリティのベスト プラクティス (NIST - SP 800-52 Rev. 2) に合わせて、エンドポイントの TLS 1.3 のサポートも展開しています。 この変更により、Microsoft Entra エンドポイントは TLS 1.2 プロトコルと TLS 1.3 プロトコルの両方をサポートします。

環境での TLS 1.2 のサポートを有効にする

Microsoft Entra IDおよび Microsoft 365 サービスへの安全な接続を確保するには、TLS 1.2 と現代的な暗号スイートをサポートするように、クライアント アプリとクライアントとサーバーオペレーティング システム (OS) の両方を構成します。

クライアントで TLS 1.2 を有効にするためのガイドライン

  • 「WinHTTP」に使用する Windows と既定の TLS を更新します。
  • TLS 1.2 をサポートしていないクライアント アプリとオペレーティン グシステムへの依存を特定して軽減します。
  • Microsoft Entra IDと通信するアプリケーションとサービスに対して TLS 1.2 を有効にします。
  • TLS 1.2 をサポートするように .NET Framework のインストールを更新および構成します。
  • アプリケーションと PowerShell ( Microsoft GraphMicrosoft Graph PowerShell を使用する) スクリプトがホストされ、TLS 1.2 をサポートするプラットフォームで実行されていることを確認します。
  • Web ブラウザーに最新の更新プログラムがインストールされていることを確認します。 新しい Microsoft Edge ブラウザー (Chromium ベース) を使用することをお勧めします。 詳細については、「Microsoft Edge Stable チャネルのリリース ノート」を参照してください。
  • Web プロキシが TLS 1.2 をサポートしていることを確認します。 Web プロキシを更新する方法の詳細については、Web プロキシ ソリューションのベンダーに確認してください。

詳細については、次の資料を参照してください。

WinHTTP に使用する Windows OS と既定の TLS を更新する

これらのオペレーティン グ システムは、WinHTTP を介したクライアント/サーバー通信用の TLS 1.2 をネイティブにサポートします。

  • Windows 8.1、Windows 10、およびそれ以降のバージョン
  • R2、Windows Server 2016、およびそれ以降のバージョンをWindows Server 2012する

これらのプラットフォームで 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 (Windows 10 など) をサポートする OS では、従来のバージョンの 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 を使用して OS が接続を再試行するように強制されます。

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
    • DisabledByDefault: 000000000
    • Enabled: 00000001
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
    • DisabledByDefault: 000000000
    • Enabled: 00000001
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
    • SchUseStrongCrypto: 00000001

PowerShell スクリプトを使用して TLS 1.2 を有効にするには、「Microsoft Entra Connect の TLS 1.2 の適用」を参照してください。

使用されている TLS プロトコルをチェックする方法

使用されている TLS をチェックするには、次の 2 つの方法があります。

  • ブラウザーのセキュリティ設定
  • Windows のインターネット プロパティ

インターネットのプロパティを使用して使用されている TLS プロトコルをチェックするには、次の手順に従います。

  1. Windows+R キーを押して [実行] ボックスを開きます。

  2. 「inetcpl.cpl」と入力し、[OK] を選択します。 次に、[ インターネットのプロパティ] ウィンドウが開きます。

  3. [インターネットのプロパティ] ウィンドウで、[詳細設定] タブを選択し、下にスクロールして TLS に関連する設定をチェックします。

    [インターネットのプロパティ] に TLS 関連の設定を示すスクリーンショット。

TLS 1.2 をサポートするように .NET Framework を更新および構成する

マネージド Microsoft Entra統合アプリケーションとWindows PowerShell スクリプト (Microsoft Graph PowerShellMicrosoft Graph を使用) では、.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 ビット OS で実行されている 32 ビット アプリケーションおよび 64 ビット OS で実行されている 64 ビット アプリケーションの場合、次のサブキー値を更新します。

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

      • SystemDefaultTlsVersions: 00000001
      • SchUseStrongCrypto: 00000001
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

      • SystemDefaultTlsVersions: 00000001
      • SchUseStrongCrypto: 00000001
  • 64 ビット OS で実行されている 32 ビット アプリケーションの場合、次のサブキー値を更新します。

    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727
      • SystemDefaultTlsVersions: dword:00000001
      • SchUseStrongCrypto: dword:00000001
    • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
      • SystemDefaultTlsVersions: dword:00000001
      • SchUseStrongCrypto: dword:00000001

たとえば、次の値を設定します。

  • 構成マネージャー クライアント
  • サイト サーバーにインストールされていないリモート サイト システムのロール
  • サイト サーバー自体

詳細については、次の資料を参照してください。

サインイン ログの新しいテレメトリの概要

環境内でレガシ TLS を引き続き使用するクライアントまたはアプリを特定するには、Microsoft Entraサインイン ログを表示します。 レガシ TLS 経由でサインインするクライアントまたはアプリの場合、Microsoft Entra IDは[追加の詳細] の [レガシ TLS] フィールドに True を付けてマークします。 [レガシ TLS] フィールドは、サインインがレガシ TLS を介して行われた場合にのみ表示されます。 ログにレガシ TLS が表示されない場合は、TLS 1.2 に切り替える準備が整います。

レガシ TLS プロトコルを使用したサインイン試行を確認するために、管理者は次の方法でログを確認できます。

  • Azure Monitor でログをエクスポートしてクエリします。
  • 過去 7 日間のログを JavaScript Object Notation (JSON) 形式でダウンロードします。
  • PowerShell を使用してサインイン ログをフィルター処理およびエクスポートします。

これらの方法については、以下で説明します。

Azure Monitor を使用してサインイン ログをクエリできます。 Azure Monitor は、強力なログ分析、監視、およびアラート ツールです。 次に対して Azure Monitor を使用します。

  • ログのMicrosoft Entra
  • Azure リソース ログ
  • 独立したソフトウェア ツールからのログ

注:

レポート データを Azure Monitor にエクスポートするには、Microsoft Entra ID P1 または P2 ライセンスが必要です。

Azure Monitor を使用してレガシ TLS エントリをクエリするには、次の手順を実行します。

  1. [Microsoft Entra ログと Azure Monitor ログの統合] で、Azure Monitor の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 要求のソースの詳細については、次のフィールドを検索します。

    • User.DisplayName
    • AppDisplayName
    • ResourceDisplayName
    • UserAgent

Microsoft Entra 管理センターのログ エントリに関する詳細を表示する

ログを取得すると、Microsoft Entra 管理センターで従来の TLS ベースのサインイン ログ エントリの詳細を取得できます。 次の手順を実行します。

  1. Azure portalで、[Microsoft Entra ID] を検索して選択します。

  2. [概要] ページのメニューで、[サインイン ログ] を選択します。

  3. ユーザーのサインイン ログ エントリを選択します。

  4. [追加の詳細情報] タブを選択します (このタブが表示されない場合は、最初に右隅の省略記号 (...) を選択して、タブの完全なリストを表示します)。

  5. True に設定されているレガシ TLS (TLS 1.0、1.1、または 3DES) 値を確認します。 その特定のフィールドと値が表示されている場合は、レガシ TLS を使用してサインインが行われています。 サインインが TLS 1.2 を使用して行われた場合、そのフィールドは表示されません。

詳細については、「Microsoft Entra IDでのサインイン ログ」を参照してください。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。