皆さん、こんにちは。
今回はオンプレミス環境の話題です。リモート デスクトップ接続の際に用いる証明書を CA (Certification Authority) から発行された証明書に設定して、自己署名証明書 (通称オレオレ証明書) から脱却しましょうという内容です。
本記事では、環境内に既に Active Directory ドメイン コントローラーがあり、AD CS (Active Directory Certificate Services) が構成されていることを前提とします。
なぜ、この記事を書いているかというと、Remote Desktop Connection Manager (RDCMan) の最新バージョンである、v3.21 を使っていると、サーバーやクライアントに接続する際に下記のメッセージが表示されることに気付いたからです。
“The certificate is not issued by a trusted certificate authority.”
“Show certificate details” を選択すると、対象ホスト自身が発行した証明書でした。
ちなみに、リモート デスクトップ接続 (mstsc.exe) を使用して、FQDN で接続する場合は特に警告は表示されませんでした。
ただし、IP アドレスで接続する場合は、「この証明書は信頼された認証機関からのものではありません。」と警告メッセージが表示されます。
<設定方法>
それでは、AD CS (Active Directory Certificate Services) でリモート デスクトップ接続用の証明書テンプレートを作成して、リモート デスクトップ接続の際に、AD CS (Active Directory Certificate Services) から発行された証明書を使うように設定していきましょう。
- AD CS のサーバーにログオンします。
- 証明書テンプレート コンソール (certtmpl.msc) を起動します。
- 証明書テンプレート コンソールが起動したら、右パネル内から [ワークステーション認証] を見つけ、右クリックにて [テンプレートの複製] を選択します。

- 下記のウィンドウが開きますので、[証明機関] を [Windows Server 2016] に変更し、[証明書の受信者] を [Windows 10 / Windows Server 2016] に変更します。


- 次に、[全般] タブに移動します。
[全般] タブでは、[テンプレート表示名] (日本語やスペースあり) と [テンプレート名] を指定します。
必要に応じて、有効期間などを設定します。

- [暗号化] タブに移動して、必要に応じて設定を変更します。
今回は、[プロバイダーのカテゴリ] を [キー格納プロバイダー]、[アルゴリズム名] を [RSA]、[最小キー サイズ] を [2048]、[ハッシュの要求] を [SHA256] に設定しました。

- [拡張機能] タブに移動して、[アプリケーション ポリシー] を選択した上で、[編集] を選択します。

- [クライアント認証] を選択して、[削除] を選択します。

- その後、[追加] を選択し、下記画面で右下の [新規] を選択します。

- 下記画面にて、[名前] を [Remote Desktop Authentication] (任意)、[オブジェクトの識別子] を [1.3.6.1.4.1.311.54.1.2] に設定し、[OK] を選択します。

- 追加された、[Remote Desktop Authentication] を選択し、[OK] を選択します。

- [アプリケーション ポリシー] に追加した [Remote Desktop Authentication] が存在することを確認し、[OK] を選択します。

- [拡張機能] タブの [アプリケーション ポリシー] に [Remote Desktop Authentication] が含まれることを確認します。

- [サブジェクト名] タブに移動し、[Active Directory の情報から構築する] にチェックが入っていることを確認し、[サブジェクト名の形式] を [DNS] にします。
また、[代わりのサブジェクト名に次の情報を含める] にて [DNS 名] にチェックが入っていることも確認します。

- [セキュリティ] タブに移動し、[Domain Computers] を選択し、[自動登録] に許可のチェックを入れいます。
※ ドメイン コントローラーにも証明書を配布する場合、[Domain Controllers] も新規に追加して、同様に [自動登録] に許可のチェックを入れます。

- 必要な設定が完了したら、上記のウィンドウ自体を [OK] で閉じます。
- 証明機関 (certsrv.msc) を開き、左ペインの [証明書テンプレート] を右クリックして、[新規作成] > [発行する証明書テンプレート] を選択します。

- 作成した証明書テンプレート名 (TDC Remote Desktop Certificate) を選択し、[OK] を選択します。

- ドメイン コントローラーに移動し、グループ ポリシーの管理 (gpmc.msc) を起動します。
- [グループ ポリシー オブジェクト] を右クリックして、[新規] で新規のグループ ポリシーを作成します。
- [名前] は適宜設定します。今回は、[TDC Remote Desktop Certificate] とします。
- [コンピューターの構成] > [ポリシー] > [管理用テンプレート] > [Windows コンポーネント] > [リモート デスクトップ サービス] > [リモート デスクトップ セッション ホスト] > [セキュリティ] を開きます。
- [サーバー認証証明書テンプレート] のポリシーを開き、[有効] にチェックを入れ、[証明書テンプレート名] に項番 5 で設定した、[テンプレート名] (スペースなしの方) を入力して、[OK] を選択します。

- あとは、設定したグループ ポリシーを必要な OU にリンクします。
- 必要に応じて、対象マシン上で gpupdate /force をします。
<動作確認>
では、リモート デスクトップ接続 (mstsc.exe) を用いて CA から発行された証明書であることを確認します。
あえて、警告画面を表示させるため、IP アドレスで接続を試みます。
下記の警告が表示されますが、今回は [証明書エラー] の項目は [この証明書にあるサーバー名が正しくありません。] のエラーに変わっています。これは、IP アドレスで接続を試みているため、証明書の名前と一致せず、エラーとなっているためです。(予期した動作)
では、[証明書の表示] を選択してみましょう。
下記のように、[発行者] が AD CS (私の環境の場合、TAMAI-CA) になっていることが確認いただけるかと思います。
この状態で、ホスト名 (FQDN) でアクセスすると警告は表示されませんし、RDCMan で接続した場合も警告画面は表示されなくなりました。
これでめでたく AD CS (インターナル CA) から発行した証明書でリモート デスクトップ接続が確立出来ました。




