
多くの企業は、VDIインフラストラクチャを使用して、管理されていないパーソナルステーションでリモート作業を整理しています。 インターネットでVDIファームを公開すると、外部ユーザーは、企業の証明機関によって発行された証明書に対する不信の問題に直面します。 この結果、リモート接続を確立するときにセキュリティ警告が表示されます。

この場合、警告が2回表示されます。1回目はConnection Brokerサーバーが信頼されず、2回目はVDIファームの仮想マシンです。
多くのシステム管理者は、この状況から抜け出し、ユーザーに「二度と尋ねない」チェックボックスを設定してこのメッセージを無視するか、ユーザーのリモートコンピューター上の信頼できる証明書にルート証明書をインストールし、企業CAのCRLを公開します。 ただし、ユーザーが毎回異なる場所から接続する場合、または異なる仮想マシンに接続する場合、これらの方法は機能しません。
この問題を解決するには、VDIファームの信頼できる認証局によって発行された「ホワイト」証明書を使用する必要があります。 この外部証明書の名前とVDIコンピューターの名前は一致する必要があります。
問題の解決
まず、信頼できる証明機関から購入した* .yourcompany.comという形式のワイルドカード証明書が必要です。
新しいドメインサフィックスDNSの追加:
ドメインコントローラー上のDNSに、新しいActive Directory統合ゾーンyourcompany.comを追加します。これは、VDIファーム内の新しいサーバー名と仮想マシンに対する内部クエリを提供します。
ドメインで追加のドメインサフィックスを維持するには、ドメインレベルでmsDS-AllowedDNSSuffixes属性を変更する必要があります。 yourcompany.localやyourcompany.comなど、内部ドメイン名と外部ドメイン名を属性値として追加する必要があります。 ドメインレベルでは、DNSクエリ中に短いマシン名に追加されるDNSサフィックスを指定するための新しいグループポリシーを作成します。

次のポリシーを有効にし、内部ドメイン名と外部ドメイン名の値をコンマで区切る必要があります。コンピューターの構成\ポリシー\管理用テンプレート\ネットワーク\ DNSクライアント\ DNSサフィックス検索リスト。

RDサーバーへの証明書のインストール
VDIファームを作成する前に、計画されたRDサーバーのDNSサフィックスを外部ドメインの名前に変更する必要があります。 これを行うには、コンピューターのプロパティに移動し、コンピューターの名前を変更することを選択します。 コンピューター名を変更するウィンドウで、[詳細...]ボタンをクリックし、コンピューターの新しいプライマリDNSサフィックス-yourcompany.comを設定します。

次に、選択したMicrosoft Windows Server 2012 R2サーバーに基づいて新しいVDIファームを作成します。 この手順に関する情報は、ネットで簡単に見つけることができます。
pfx証明書ファイルを手元に置いたら、新しいVDIファームへのインストールに進むことができます。 RD接続ブローカーサーバーで、サーバーマネージャー->リモートデスクトップサービス->概要に移動します。 [タスク]ドロップダウンリストの[展開の概要]フィールドで、[展開プロパティの編集]を選択します。

[証明書]タブを開き、すべてのファームサービスに必要な* .yourcompany.com証明書をインストールします。 追加はアクションごとに1つ行われます。 既存の証明書を選択し、ファイルシステム上のパスとパスワードを指定します。

その後、これらの証明書はVDIサーバーにインストールされますが、仮想マシンにはインストールされません。 SSLCertificateSHA1Hash REG_BINARYパラメーターは、Connection Brokerサーバーのレジストリに、次のアドレスの証明書のthumb印値とともに表示されます。
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp
このパラメーターは、RDPセッションのインストール時に使用される証明書の選択を担当します。 このパラメーターは、クライアントマシンにもインストールする必要があります。

仮想マシンに証明書をインストールする
仮想マシンで白い証明書を使用するには:
- パーソナルコンピューターの証明書ストア内のすべてのマシンに証明書をインストールします。
- 各マシンのネットワークサービスの証明書キーの読み取り権限を設定します。
- 証明書のthumb印値を含むSSLCertificateSHA1Hash REG_BINARYパラメーターがあります。
- 仮想マシン名は証明書名と一致する必要があります。 接尾辞yourcompany.comがあります
VDIファーム内の仮想マシンのコンピューターアカウント専用の組織単位のレベルで新しいグループポリシーを作成します。
このポリシーは、仮想マシンでスタートアップスクリプトExportVDICert.batを実行する必要があります。

このスクリプトは、Microsoft certutilおよびFindPrivateKeyユーティリティを使用します。 Certutilは組み込みユーティリティであり、FindPrivateKeyは開発者向けのSamleツールとして提供されており、個別にコンパイルできます。 スクリプトはポリシー内に配置する必要があります。
証明書とFindPrivateKeyユーティリティは、スクリプトがインストール用のファイルを取得するネットワークフォルダーに配置する必要があります。 スクリプトテキスト:
certutil -f -p "<certificate password>" -importpfx "<Path to pfx>" NoExport c: mkdir "c:\TempCertSecurity" cd "c:\TempCertSecurity" xcopy "<Path to FindPrivateKey.exe>" "c:\TempCertSecurity" FindPrivateKey.exe My LocalMachine -t "<thumbprint of certificate>" -a > tmp.txt set /p myvar= < tmp.txt del tmp.txt del FindPrivateKey.exe cd \ rd "c:\TempCertSecurity" cacls.exe %myvar% /E /G "NETWORK SERVICE":R"
このスクリプトを使用すると、仮想マシンを再起動した後、新しい証明書がインストールされ、権利が構成されます。
ポリシーの次の部分は、SSLCertificateSHA1Hashパラメーターを設定することです。 必要なキーは、Preferences \ Windows Settings \ Registryで設定されます

ポリシーで仮想マシンのプライマリDNSサフィックスを集中的に変更するには、プライマリDNSサフィックスを有効にして、外部ドメイン名yourcompany.comとして設定する必要があります。

再起動後、マシンは白い証明書に対応する新しいFQDNを受け取ります。 これらの操作を実行した後、ユーザーに迷惑なセキュリティ警告が表示されなくなります。