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

重要

このバージョンの Operations Manager はサポート終了に達しました。 Operations Manager 2022 にアップグレードすることをお勧めします。

この記事では、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. すべての管理サーバーと Web コンソール サーバーに SQL Server 2012 Native Client 11.0 または Microsoft OLE DB Driver 18 for SQL Server をインストールします。
  2. すべての管理サーバー、ゲートウェイ サーバー、Web コンソール サーバー、Operations Manager データベースとレポート サーバー ロールをホストする SQL Server に、.NET Framework 4.6 をインストールします。
  3. TLS 1.2 をサポートする必須の 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.6.7 以降をすべての管理サーバーと Web コンソール サーバーにインストールします。
  2. すべての管理サーバー、ゲートウェイ サーバー、Web コンソール サーバー、Operations Manager データベースとレポート サーバー ロールをホストする SQL Server に、.NET Framework 4.6 をインストールします。
  3. TLS 1.2 をサポートする必須の SQL Server の更新プログラムをインストールします。
  4. ODBC Driver バージョン 17.3 から 17.10.5 以降をすべての管理サーバーにインストールします。
  5. TLS 1.2 のみを使用するように Windows を構成します。
  6. TLS 1.2 のみを使用するように Operations Manager を構成します。

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

注意

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

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

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

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

重要

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

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

Note

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

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

  2. [スタート] を選択して [レジストリのエディターを開始し、[実行] ボックスに「regedit」と入力し、[OK] を選択します

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

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

  5. 前の手順で作成した各プロトコル バージョンのサブキー以下に Client および Server のサブキーを作成します。 たとえば、TLS 1.0 のサブキーは と HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\ServerになりますHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client

  6. 各プロトコルを無効にするには、ServerClient 以下に次の DWORD 値を作成します。

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

    • 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 を既定のセキュリティで保護されたプロトコルとして有効にするための更新プログラム」に従って次の変更を行う必要があります。

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

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

  1. ローカルの管理者資格情報を持つアカウントを使用して、サーバーにサインインします。
  2. [スタート] を選択して長押ししてレジストリ エディターを開始し、[実行] ボックスに「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 Packs for Update Rollups のこのロールアップに含まれる管理パックをインポートしてください。

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

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

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

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

  2. [スタート] を選択して [レジストリのエディターを開始し、[実行] ボックスに「regedit」と入力し、[OK] を選択します

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

    Note

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

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

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

    • ODBC 11.0 がインストールされている場合は、Driver エントリを に %WINDIR%\system32\msodbcsql11.dll変更します。
    • ODBC 13.0 がインストールされている場合は、[ドライバー] エントリを に %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 を使用してデータベースに接続します。 TLS 1.2 で機能するように DSN 設定を更新する必要があります。

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

  2. [スタート] を選択し、長押しして [レジストリ エディターを開始し、[実行] ボックスに「regedit」と入力して、[OK] を選択します

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

    Note

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

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

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

    • ODBC 17 がインストールされている場合は、[ドライバー] エントリを に %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\msodbcsql7.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
      

次のステップ