リモート デスクトップ リスナー証明書の構成
この記事では、リモート デスクトップ サービス (RDS) 展開に含まれていない Windows Server 2012 ベースまたは Windows Server 2012 ベースのサーバーでリスナー証明書を構成する方法について説明します。
元の KB 番号: 3042780
リモート デスクトップ サーバー リスナーの可用性について
リスナー コンポーネントはリモート デスクトップ サーバー上で実行され、新しいリモート デスクトップ プロトコル (RDP) クライアント接続をリッスンして受け入れる役割を担います。 これにより、ユーザーはリモート デスクトップ サーバーで新しいリモート セッションを確立できます。 リモート デスクトップ サーバーに存在するリモート デスクトップ サービス接続ごとにリスナーがあります。 接続は、リモート デスクトップ サービス構成ツールを使用して作成および構成できます。
リスナー証明書を構成するメソッド
Windows Server 2003、Windows Server 2008、または Windows Server 2008 R2 では、リモート デスクトップ構成マネージャー MMC スナップインを使用すると、RDP リスナーに直接アクセスできます。 スナップインでは、証明書をリスナーにバインドし、RDP セッションに SSL セキュリティを適用できます。
Windows Server 2012 または Windows Server 2012 R2 では、この MMC スナップインは存在しません。 そのため、システムは RDP リスナーへの直接アクセスを提供しません。 Windows Server 2012 または Windows Server 2012 R2 でリスナー証明書を構成するには、次の方法を使用します。
方法 1: Windows Management Instrumentation (WMI) スクリプトを使用する
RDS リスナーの構成データは、
名前空間の下の WMI の Win32_TSGeneralSetting
クラスに格納されます。RDS リスナーの証明書は、SSLCertificateSHA1Hash プロパティのその証明書の Thumbprint 値を介して参照されます。 拇印の値は、各証明書に固有です。
Note
wmic コマンドを実行する前に、使用する証明書をコンピューター アカウントの個人用証明書ストアにインポートする必要があります。 証明書をインポートしない場合は、 Invalid パラメーター エラーが表示されます。
WMI を使用して証明書を構成するには、次の手順に従います。
証明書のプロパティ ダイアログを開き、 Details タブを選択します。
Thumbprint フィールドまで下にスクロールし、スペース区切りの 16 進文字列をメモ帳などにコピーします。
次のスクリーンショットは、 Certificate プロパティの証明書の拇印の例です。
文字列をメモ帳にコピーすると、次のスクリーンショットのようになります。
文字列内のスペースを削除しても、コマンド プロンプトでのみ表示される非表示の ASCII 文字が含まれます。 次のスクリーンショットは例です。
証明書をインポートするコマンドを実行する前に、この ASCII 文字が削除されていることを確認してください。
文字列からすべてのスペースを削除します。 非表示の ACSII 文字もコピーされる可能性があります。 メモ帳には表示されません。 検証する唯一の方法は、コマンド プロンプト ウィンドウに直接コピーすることです。
コマンド プロンプトで、手順 3 で取得した拇印の値と共に次の wmic コマンドを実行します。
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="THUMBPRINT"
次のスクリーンショットは、成功した例です。
方法 2: レジストリ エディターを使用する
重要
慎重にこのセクションの手順に従います。 レジストリを正しく変更しないと、重大な問題が発生する可能性があります。 変更する前に、 問題が発生した場合に Windows でレジストリをバックアップおよび復元する方法について説明します。
レジストリ エディターを使用して証明書を構成するには、次の手順に従います。
コンピューター アカウントを使用して、サーバー認証証明書を個人用証明書ストアにインストールします。
既定の自己署名証明書を使用する代わりに TLS をサポートするようにこのカスタム証明書を構成できるように、証明書の SHA1 ハッシュを含む次のレジストリ値を作成します。
- レジストリ パス:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
- 値の名前: SSLCertificateSHA1Hash
- 値の種類: REG_BINARY
- 値データ: 証明書の拇印
値は証明書の拇印で、空白を使用せずにコンマ (,) で区切る必要があります。 たとえば、そのレジストリ キーをエクスポートする場合、 SSLCertificateSHA1Hash の値は次のようになります。
SSLCertificateSHA1Hash=hex:42,49,e1,6e,0a,a0,2e,63,c4,5c,93,fd,52,ad,09,27,82,1b,01
- レジストリ パス:
リモート デスクトップ ホスト サービスは、ネットワーク サービス アカウントで実行されます。 そのため、RDS で使用されるキー ファイルのシステム アクセス制御リスト (SACL) を設定して、NETWORK SERVICE を Read アクセス許可と共に含める必要があります。
アクセス許可を変更するには、ローカル コンピューターの証明書スナップインで次の手順を実行します。
- [開始をクリックし、実行をクリックし、「mmc」と入力して、[
OK] をクリック 。 - [ファイル] メニューの [スナップインの追加と削除] をクリックします。
- [ スナップインの追加と削除 ] ダイアログ ボックスの [ 使用可能なスナップイン の一覧で Certificatesをクリックし、 追加をクリックします。
- [ Certificates スナップイン] ダイアログ ボックスで、[ Computer アカウントをクリックし、[次へ ] をクリック。
- コンピューターの選択] ダイアログ ボックスで、[ ローカル コンピューター: (このコンソールが実行されているコンピューター) ] をクリックし、[ 完了] をクリック。
- [スナップインの追加と削除] ダイアログ ボックスで、 [OK]をクリックします。
- Certificates スナップインのコンソール ツリーで、Certificates (ローカル コンピューター)を展開し、Personal を展開して、使用する SSL 証明書を選択します。
- 証明書を右クリックし、 [すべてのタスク] を選択して、 [秘密キーの管理] を選択します。
- [Permissions] ダイアログ ボックス で、[追加] をクリックし、「
NETWORK SERVICE」と入力 、OKをクリックし、[Allow] チェック ボックスの下にある [Read] を選択し、[OK] をクリック 。
- [開始をクリックし、実行をクリックし、「mmc」と入力して、[