トランスポート層セキュリティ 1.2 を実装する方法

この記事では、System Center Operations Manager 管理グループに対してトランスポート層セキュリティ (TLS) プロトコル バージョン 1.2 を有効にする方法について説明します。

Note

Operations Manager では、オペレーティング システム レベルで構成されたプロトコルが使用されます。 たとえば、TLS 1.0、TLS 1.1、TLS 1.2 がオペレーティング システム レベルで有効になっている場合、Operations Manager では次の優先順で 3 つのプロトコルのいずれかが選択されます。

  1. TLS バージョン 1.2
  2. TLS バージョン 1.1
  3. TLS バージョン 1.0

次に、Schannel SSP によって、クライアントとサーバーがサポートできる最も優先順位の高い認証プロトコルが選択されます。

TLS プロトコル バージョン 1.2 を有効にするには、次の手順を実行します。

Note

Microsoft OLE DB Driver 18 for SQL Server (推奨) は、Operations Manager 2016 UR9 以降でサポートされています。

  1. SQL Server 2012 Native Client 11.0 または Microsoft OLE DB Driver 18 for SQL Server をすべての管理サーバーと Web コンソール サーバーにインストールします。
  2. Operations Manager データベースとレポート サーバーの役割をホストするすべての管理サーバー、ゲートウェイ サーバー、Web コンソール サーバー、および SQL Server に .NET Framework 4.6 をインストールします。
  3. TLS 1.2 をサポートする Required SQL Server 更新プログラム をインストールします。
  4. すべての管理サーバー ODBC 11.0 または ODBC 13.0 をインストールします。
  5. System Center 2016 - Operations Manager の場合は、更新プログラムのロールアップ 4 以降をインストールします。
  6. TLS 1.2 のみを使用するように Windows を構成します。
  7. TLS 1.2 のみを使用するように Operations Manager を構成します。
  1. Microsoft OLE DB Driver バージョン 18.2 から 18.7.2 をすべての管理サーバーと Web コンソール サーバーにインストールします。
  2. Operations Manager データベースとレポート サーバーの役割をホストするすべての管理サーバー、ゲートウェイ サーバー、Web コンソール サーバー、および SQL Server に .NET Framework 4.6 をインストールします。
  3. TLS 1.2 をサポートする Required SQL Server 更新プログラム をインストールします。
  4. すべての管理サーバー ODBC Driver バージョン 17.3 から 17.10.6 をインストールします。
  5. TLS 1.2 のみを使用するように Windows を構成します。
  6. TLS 1.2 のみを使用するように Operations Manager を構成します。

Operations Manager では、SHA1 と SHA2 の自己署名証明書が生成されます。 これは、TLS 1.2 を有効にするために必要です。 CA 署名付き証明書が使用されている場合は、証明書が SHA1 または SHA2 であることを確認します。

Note

セキュリティ ポリシーで TLS 1.0 と 1.1 が制限されている場合、セットアップ メディアに TLS 1.2 をサポートするための更新プログラムが含まれていないため、新しい Operations Manager 2016 管理サーバー、ゲートウェイ サーバー、Web コンソール、および Reporting Services ロールのインストールは失敗します。 これらの役割をインストールできる唯一の方法は、システムで TLS 1.0 を有効にし、更新プログラムのロールアップ 4 を適用してから、システムで TLS 1.2 を有効にすることです。

TLS 1.2 プロトコルのみを使用するように Windows オペレーティング システムを構成する

次のいずれかの方法を使用して、TLS 1.2 プロトコルのみを使用するように Windows を構成します。

方法 1: 手動でレジストリを変更する

重要

慎重にこのセクションの手順に従います。 レジストリを正しく変更しないと、重大な問題が発生する可能性があります。 変更する前に、問題が発生した場合に復元するためにレジストリをバックアップします。

システム全体のすべての SCHANNEL プロトコルを有効または無効にするには、次の手順を使用します。 着信と発信のすべての通信で TLS 1.2 プロトコルを有効にすることをお勧めします。

Note

これらのレジストリを変更しても、Kerberos または NTLM プロトコルの使用には影響しません。

  1. ローカルの管理資格情報を持つアカウントを使って、サーバーにログインします。

  2. レジストリ エディターを起動するには、Start を選択し、Run ボックスに「regedit」と入力し、OK を選択します。

  3. 次のレジストリ サブキーを見つけます: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols

  4. SSL 2.0SSL 3.0TLS 1.0TLS 1.1、および TLS 1.2Protocolsの下にサブキーを作成します。

  5. 前に作成した各プロトコル バージョンのサブキーの下に、 ClientServer サブキーを作成します。 たとえば、TLS 1.0 のサブキーは HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client され、 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Serverされます。

  6. 各プロトコルを無効にするには、 Server および Client の下に次の DWORD 値を作成します。

    • Enabled [Value = 0]
    • DisabledByDefault [値 = 1]
  7. TLS 1.2 プロトコルを有効にするには、 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\ClientHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Serverの下に次の DWORD 値を作成します。

    • Enabled [値 = 1]
    • DisabledByDefault [値 = 0]
  8. レジストリ エディターを閉じます。

方法 2: レジストリを自動的に変更する

次の Windows PowerShell スクリプトを管理者として実行して、TLS 1.2 プロトコルのみを使用するように Windows オペレーティング システムを自動的に構成します。

$ProtocolList       = @("SSL 2.0", "SSL 3.0", "TLS 1.0", "TLS 1.1", "TLS 1.2")
$ProtocolSubKeyList = @("Client", "Server")
$DisabledByDefault  = "DisabledByDefault"
$registryPath       = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\"

foreach ($Protocol in $ProtocolList)
{
	foreach ($key in $ProtocolSubKeyList)
	{
		$currentRegPath = $registryPath + $Protocol + "\" + $key
		Write-Output "Current Registry Path: `"$currentRegPath`""

		if (!(Test-Path $currentRegPath))
		{
			Write-Output " `'$key`' not found: Creating new Registry Key"
			New-Item -Path $currentRegPath -Force | out-Null
		}
		if ($Protocol -eq "TLS 1.2")
		{
			Write-Output " Enabling - TLS 1.2"
			New-ItemProperty -Path $currentRegPath -Name $DisabledByDefault -Value "0" -PropertyType DWORD -Force | Out-Null
			New-ItemProperty -Path $currentRegPath -Name 'Enabled' -Value "1" -PropertyType DWORD -Force | Out-Null
		}
		else
		{
			Write-Output " Disabling - $Protocol"
			New-ItemProperty -Path $currentRegPath -Name $DisabledByDefault -Value "1" -PropertyType DWORD -Force | Out-Null
			New-ItemProperty -Path $currentRegPath -Name 'Enabled' -Value "0" -PropertyType DWORD -Force | Out-Null
		}
		Write-Output " "
	}
}

TLS 1.2 のみを使用するように Operations Manager を構成する

Operations Manager のすべての前提条件の構成を完了したら、すべての管理サーバー、Web コンソール ロールをホストしているサーバー、およびエージェントがインストールされているすべての Windows コンピューターで、次の手順を実行します。

重要

慎重にこのセクションの手順に従います。 レジストリを正しく変更しないと、重大な問題が発生する可能性があります。 変更を加える前に、問題が発生した場合に備え、復元のためにレジストリをバックアップしてください。

Note

Windows OS 2012 で実行されている SCOM 2012 R2 では、UNIX/LINUX 監視に TLS 1.2 over HTTP を使用するための追加の変更が必要です。 Windows で WinHTTP で TLS 1.2 を既定のセキュリティ プロトコルとして有効にするには、Windows の WinHTTP で TLS 1.1 と TLS 1.2 を既定のセキュリティで保護されたプロトコルとして有効にするために、 Update に従って次の変更を行う必要があります

  1. UNIX/LINUX リソース プール内の管理サーバー/ゲートウェイ サーバーに KB3140245 をインストールします。
  2. KB 記事で説明されているように変更されたレジストリをバックアップします。
  3. UNIX/LINUX リソース プールの管理サーバー/ゲートウェイで Easy Fix ツールをダウンロードして実行します。
  4. サーバーを再起動します。

レジストリを手動で変更する

  1. ローカルの管理資格情報を持つアカウントを使って、サーバーにログインします。
  2. Start を選択してレジストリ エディターを起動し、Run ボックスに「regedit」と入力し、OK を選択します。
  3. 次のレジストリ サブキーを見つけます: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
  4. このサブキーの下に、DWORD 値 SchUseStrongCrypto を値 1 で作成します。
  5. 次のレジストリ サブキーを見つけます: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
  6. このサブキーの下に、DWORD 値 SchUseStrongCrypto を値 1 で作成します。
  7. 設定を有効にするためにシステムを再起動します。

レジストリを自動的に変更する

管理者モードで次の Windows PowerShell スクリプトを実行して、TLS 1.2 プロトコルのみを使用するように Operations Manager を自動的に構成します。

# Tighten up the .NET Framework
$NetRegistryPath = "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null

$NetRegistryPath = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null

追加設定

これが System Center 2016 - Operations Manager で実装されている場合は、更新プログラムロールアップ 4 を適用した後、このロールアップに含まれる管理パックを必ずインポートしてください。 \Program Files\Microsoft System Center 2016\Operations Manager\Server\Management Pack for Update Rollups

サポートされているバージョンの Linux サーバーを Operations Manager で監視している場合は、ディストリビューションの該当する Web サイトの指示に従って TLS 1.2 を構成してください。

コレクション サービスの監査

監査コレクション サービス (ACS) の場合は、ACS コレクター サーバー上のレジストリに追加の変更を加える必要があります。 ACS は DSN を使用してデータベースに接続します。 DSN 設定を更新して、TLS 1.2 で機能させる必要があります。

  1. ローカルの管理資格情報を持つアカウントを使って、サーバーにログインします。

  2. レジストリ エディターを起動するには、Start を選択し、Run ボックスに「regedit」と入力し、OK を選択します。

  3. OpsMgrAC の次の ODBC サブキーを見つけます: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC

    Note

    DSN の既定の名前は OpsMgrAC です。

  4. ODBC データ ソースサブキーで、DSN 名 OpsMgrAC を選択します。 これには、データベース接続に使用する ODBC ドライバーの名前が含まれます。 ODBC 11.0 がインストールされている場合は、この名前を ODBC Driver 11 for SQL Server に変更するか ODBC 13.0 がインストールされている場合は、この名前を ODBC Driver 13 for SQL Server に変更します。

  5. OpsMgrAC サブキーで、インストールされている ODBC バージョンの Driver を更新します。

    • ODBC 11.0 がインストールされている場合は、Driver エントリを %WINDIR%\system32\msodbcsql11.dll に変更します。
    • ODBC 13.0 がインストールされている場合は、Driver エントリを %WINDIR%\system32\msodbcsql13.dll に変更します。

    レジストリ ファイル

    または、次の .reg ファイルをメモ帳または別のテキスト エディターに作成して保存します。 保存した .reg ファイルを実行するには、ファイルをダブルクリックします。

    • ODBC 11.0 の場合は、次の ODBC 11.reg ファイルを作成します。

      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
      "OpsMgrAC"="ODBC Driver 11 for SQL Server"
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC]
      "Driver"="%WINDIR%\system32\msodbcsql11.dll"
      
    • ODBC 13.0 の場合は、次の ODBC 13.reg ファイルを作成します。

      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
      "OpsMgrAC"="ODBC Driver 13 for SQL Server"
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC]
      "Driver"="%WINDIR%\system32\msodbcsql13.dll"
      

    PowerShell

    または、次の PowerShell コマンドを実行して変更を自動化することもできます。

    • ODBC 11.0 の場合は、次の PowerShell コマンドを実行します。

      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql11.dll" -PropertyType STRING -Force | Out-Null
      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 11 for SQL Server" -PropertyType STRING -Force | Out-Null
      
    • ODBC 13.0 の場合は、次の PowerShell コマンドを実行します。

      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql13.dll" -PropertyType STRING -Force | Out-Null
      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 13 for SQL Server" -PropertyType STRING -Force | Out-Null
      

コレクション サービスの監査

監査コレクション サービス (ACS) の場合は、ACS コレクター サーバー上のレジストリに追加の変更を加える必要があります。 ACS は DSN を使用してデータベースに接続します。 DSN 設定を更新して、TLS 1.2 で機能させる必要があります。

  1. ローカルの管理資格情報を持つアカウントを使って、サーバーにログインします。

  2. レジストリ エディターを起動するには、Start を選択し、Run ボックスに「regedit」と入力し、OK を選択します。

  3. OpsMgrAC の次の ODBC サブキーを見つけます: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC

    Note

    DSN の既定の名前は OpsMgrAC です。

  4. ODBC データ ソースサブキーで、DSN 名 OpsMgrAC を選択します。 これには、データベース接続に使用する ODBC ドライバーの名前が含まれます。 ODBC 17 がインストールされている場合は、この名前を ODBC Driver 17 for SQL Server に変更します。

  5. OpsMgrAC サブキーで、インストールされている ODBC バージョンの Driver を更新します。

    • ODBC 17 がインストールされている場合は、Driver エントリを %WINDIR%\system32\msodbcsql17.dll に変更します。

    レジストリ ファイル

    または、次の .reg ファイルをメモ帳または別のテキスト エディターに作成して保存します。 保存した .reg ファイルを実行するには、ファイルをダブルクリックします。

    • ODBC 17 の場合は、次の ODBC 17.reg ファイルを作成します。

      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
      "OpsMgrAC"="ODBC Driver 17 for SQL Server"
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC]
      "Driver"="%WINDIR%\system32\msodbcsql17.dll"
      

    PowerShell

    または、次の PowerShell コマンドを実行して変更を自動化することもできます。

    • ODBC 17 の場合は、次の PowerShell コマンドを実行します。

      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql17.dll" -PropertyType STRING -Force | Out-Null
      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 17 for SQL Server" -PropertyType STRING -Force | Out-Null
      

次のステップ