クライアントで 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 が有効になっているか確認する

ほとんどの場合、プロトコルの使用は、オペレーティング システム レベル、フレームワークまたはプラットフォーム レベル、アプリケーション レベルの 3 つのレベルで制御されます。 TLS 1.2 は、オペレーティング システム レベルで既定で有効になっています。 TLS 1.2 を有効にするように .NET レジストリ値が設定されていることを確認し、環境がネットワーク上の TLS 1.2 を適切に使用していることを確認したら、レジストリ キーを編集 SChannel\Protocols して、セキュリティが低い古いプロトコルを無効にすることができます。 TLS 1.0 および 1.1 を無効にする方法の詳細については、「 Windows レジストリでの Schannel プロトコルの構成」を参照してください。

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 をインストールします。

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

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

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

強力な暗号化を構成する

強力な暗号化をサポートするように.NET Frameworkを構成します。 レジストリ設定を SchUseStrongCryptoDWORD:00000001設定します。 この値は RC4 ストリーム暗号を無効にし、再起動が必要です。 この設定の詳細については、「セキュリティ アドバイザリ 296038 Microsoft」を参照してください。

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 構成を使用できます。 詳細については、.NET Frameworkでの TLS のベスト プラクティスに関するページを参照してください。

次の手順