クライアントで TLS 1.2 を有効にする方法

Configuration Manager (現在のブランチ) に適用

Configuration Manager 環境で TLS 1.2 を有効にする場合は、まず、TLS 1.2 を有効にし、サイト サーバーとリモート サイト システムで以前のプロトコルを無効にする前に、クライアントが TLS 1.2 を使用するように適切に構成されていることを確認します。 クライアントで TLS 1.2 を有効にするためタスクは 3 つあります。

  • Windows と WinHTTP の更新
  • オペレーティング システム レベルで SChannel のプロトコルとして TLS 1.2 が有効になっているか確認する
  • TLS 1.2 をサポートするように .NET Framework を更新および構成する

特定の Configuration Manager の機能とシナリオの依存関係の詳細については、「TLS 1.2 の有効化について」を参照してください。

Windows と WinHTTP の更新

Windows 8.1、Windows Server 2012 R2、Windows 10、Windows Server 2016、および以降のバージョンの Windows は、WinHTTP 上でのクライアント サーバー通信でネイティブに TLS 1.2 をサポートします。

Windows の以前のバージョン (Windows 7 や Windows Server 2012 など) では、WinHTTP を使用したセキュリティで保護された通信のために、TLS 1.1 または TLS 1.2 を既定で有効にしないでください。 これらの以前のバージョンの Windows では、更新プログラム 3140245 をインストールして以下のレジストリ値を有効にし、TLS 1.1 と TLS 1.2 を WinHTTP の既定の安全なプロトコル リストに追加できます。 修正プログラムがインストールされている状態で、次のレジストリ値を作成します。

重要

TLS 1.2 を有効にし、Configuration Manager サーバーで以前のプロトコルを無効にする 前に、以前のバージョンの Windows を実行しているすべてのクライアントでこれらの設定を有効にします。 そうしない場合は、誤って孤立させてしまうことがあります。

次に示す DefaultSecureProtocols レジストリ設定の値を確認します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\
      DefaultSecureProtocols = (DWORD): 0xAA0
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\
      DefaultSecureProtocols = (DWORD): 0xAA0

この値を変更した場合は、コンピューターを再起動します。

上記の例は、WinHTTP 0xAA0 設定の DefaultSecureProtocols の値を示しています。 「Windows の WinHTTP で TLS 1.1 および TLS 1.2 を既定の安全なプロトコルとして有効にするための更新プログラム」には、各プロトコルの 16 進数値がリストされています。 Windows の既定では、この値は 0x0A0 に設定され、WiinHTTP で SSL 3.0 と TLS 1.0 を有効にするようになっています。 上記の例では、これらの既定値を保持し、WinHTTP に対して TLS 1.1 と TLS 1.2 も有効にしています。 この構成により、SSL 3.0 または TLS 1.0 に依存している可能性がある他のアプリケーションが変更によって壊れないようにします。 TLS 1.1 と TLS 1.2 のみを有効にするため、0xA00 の値を使用できます。 Configuration Manager は、両方のデバイス間で Windows がネゴシエートする最も安全なプロトコルをサポートします。

SSL 3.0 および TLS 1.0 を完全に無効にする場合は、Windows でSChannel 無効プロトコル設定を使用します。 詳細については、「Schannel.dll で特定の暗号化アルゴリズムとプロトコルの使用を制限する」を参照してください。

オペレーティング システム レベルで SChannel のプロトコルとして TLS 1.2 が有効になっているか確認する

TLS 1.2 は既定で有効になっています。 したがって、有効にするには、これらのキーを変更する必要はありません。 Protocols TLS 1.0 および TLS 1.1 を無効にするには、これらの記事の残りのガイダンスに従い、TLS 1.2 が有効な場合にのみ環境が動作する確認を行った後に変更を加えます。

「トランスポート層HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocolsセキュリティ (TLS) のベスト プラクティス」に示すように、レジストリ サブキーの設定を確認.NET Framework。

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

.NET のバージョンを決定する

まず、インストールされている .NET のバージョンを確認します。 詳細については、「インストールされている Microsoft .NET Framework のバージョンおよび Service Pack のレベルを確認する」を参照してください。

.NET 更新プログラムのインストール

強力な暗号化を有効にできるよう、.NET 更新プログラムをインストールします。 一部のバージョンの.NET Framework暗号化を有効にするには更新が必要になる場合があります。 次のガイドラインを使用してください:

  • NET Framework 4.6.2 以降では、TLS 1.1 および TLS 1.2 がサポートされています。 レジストリ設定を確認しますが、追加の変更は必要ありません。

    注意

    バージョン 2107 より、Configuration Manager では、サイト サーバー、特定のサイト システム、クライアント、コンソールに対して Microsoft .NET Framework バージョン 4.6.2 が必要です。 環境で可能な場合は、.NET バージョン 4.8 の最新バージョンをインストールします。

  • NET Framework 4.6 以前のバージョンを更新して、TLS 1.1 および TLS 1.2 をサポートします。 詳細については、「.NET Framework のバージョンおよび依存関係」を参照してください。

  • Windows 8.1、Windows Server 2012 R2、または Windows Server 2012 で .NET Framework 4.5.1 または 4.5.2 を使用している場合は、.Net Framework 4.5.1 および 4.5.2 の最新のセキュリティ更新プログラムをインストールして、TLS 1.2 を正しく有効にすることを強くお勧めします。

    参考までに、TLS 1.2 は最初に .Net Framework 4.5.1 および 4.5.2 に導入され、次の修正プログラムのロールアップが適用されました。

強力な暗号化用に構成する

強力な.NET Frameworkをサポートするサーバーを構成します。 レジストリ設定 SchUseStrongCrypto をに設定します DWORD:00000001。 この値は RC4 ストリーム暗号を無効にし、再起動が必要です。 この設定の詳細については、「 Microsoft Security Advisory 296038」 を参照してください

TLS 1.2 が有効なシステムとネットワークを介して通信するコンピューターで、次のレジストリ キーを設定してください。 たとえば、Configuration Manager クライアント、サイト サーバーにインストールされていないリモート サイト システムの役割、サイト サーバー自体などです。

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

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
      "SystemDefaultTlsVersions" = dword:00000001
      "SchUseStrongCrypto" = dword: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

注意

この SchUseStrongCrypto 設定では、.NET で TLS 1.1 と TLS 1.2 を使用できます。 この SystemDefaultTlsVersions 設定では、.NET で OS 構成を使用できます。 詳細については、「TLS のベスト プラクティス」を参照.NET Framework

次の手順