証明書の管理
概要
HDX™ダイレクト接続はネットワークレベルの暗号化で保護されています。これを容易にするために、各セッションホストは一意の自己署名ルートCA証明書と、その自己署名ルートCA証明書によって署名された対応するサーバー証明書を持っています。
このソリューションは以下の利点を提供します。
- セキュリティの合理化: HDXダイレクト接続は、環境内で証明書を管理する管理上のオーバーヘッドなしに保護されます。
- 攻撃対象領域の縮小: 各ホストが一意のキーと証明書のセットを持っているため、攻撃対象領域は単一のホストに限定されます。
- 非永続環境のセキュリティ強化: 非永続セッションホストを持つ環境では、再起動時に新しいキーと証明書が生成されるため、セキュリティがさらに強化されます。
セッションホスト
Citrix ClxMtp ServiceとCitrix Certificate Manager Serviceは、各セッションホストで証明書を管理する責任を負う2つのサービスです。ClxMtp Serviceはキーの生成とローテーションを処理し、Certificate Manager Serviceは証明書を生成および管理します。
自己署名ルートCAとサーバー証明書の2つの証明書が作成されます。どちらも2年間の有効期間で発行されますが、キーがローテーションされると置き換えられます。さらに、非永続マシンが再起動するたびに新しい証明書が生成されます。
各証明書の詳細は以下のとおりです。
-
自己署名ルートCA
- 発行先: CA-シトリックス-証明書マネージャー
- 発行元: CA-シトリックス-証明書マネージャー
- 発行者の詳細: 組織名はCitrix Systems, Inc.です。
-
サーバー証明書
- 発行先: <host FQDN> (例えば、FTLW11-001.ctxlab.net のような形式で、ホストの完全修飾ドメイン名を指定します)
- Issued by: CA-Citrix-Certificate-Manager
- 発行元の詳細: 組織はCitrix Systems, Inc.です。
注:
Citrix Certificate Managerサービスは、2048ビットキーを利用するRSA証明書を生成します。
Citrix Certificate Managerサービスによって作成された既存のマシン証明書があり、サブジェクト名がマシンのFQDNと一致しない場合、新しい証明書が生成されます。
キーのローテーション
Citrix ClxMtpサービスは、6か月ごとにキーを自動的にローテーションします。ただし、セッションホストのレジストリでローテーションカウンターを増やすことによって、手動でキーのローテーションをトリガーできます。
キーをローテーションするには、次の値を更新します:
- Key: SOFTWARE\Citrix\ClxMtpConnectorSvcRotateKeyPairs
- 値の型はDWORDです。
- この項目で指定するレジストリ値の名前はClxMtpRotateRequestCounterです。
- データ: 整数 (10進数)
注:
初回キーローテーションの場合:
- Create the ClxMtpConnectorSvcRotateKeyPairs key.
- ClxMtpRotateRequestCounter の値を新規作成し、その値を 1 に設定します。
以降のキーローテーションでは、ClxMtpRotateRequestCounter の値を 1 ずつ増やします。
値が更新されると、Citrix ClxMtp Service は再起動を必要とせずにキーを自動的にローテーションします。その後、Citrix Certificate Manager Service は新しいキーを検出すると、自動的に新しい証明書を生成します。
クライアントデバイス
ルートCA証明書は、WorkspaceまたはStorefront™によって、すでに確立されている安全で信頼された接続パスを介してクライアントに送信されます。これにより、CA証明書をクライアントデバイスの証明書ストアに配布する必要がなくなり、クライアントがHDX Direct接続を保護するために使用される証明書を信頼することが保証されます。
カスタム証明書の使用
HDX Directは、独自のPKIによって発行および管理された証明書の使用をサポートしています。以下の手順では、証明書のインストール方法、必要な権限の設定方法、セッションマネージャーサービスへのバインド方法、および必要なTLSリスナーの有効化方法について説明します。
- マシンでHDX Directが無効になっている場合は、手順2に進みます。HDX Directが有効になっている場合は、以下の手順に従ってください。
- Open the registry editor (regedit.exe) and navigate to HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd.
- SSLEnabled の値を 0 に設定します。
- Navigate to HKLM\Software\Citrix\HDX-Direct.
- 「HdxDirectCaInTls」という名前の値を「0」に設定します。
-
PKIによって発行された適切な証明書を、マシンの証明書ストアにインストールします。
- セッションマネージャーサービスに、証明書の秘密キーへの読み取りアクセス権を付与します。
- Microsoft 管理コンソール (MMC) を起動します: [スタート] > [ファイル名を指定して実行] > mmc.exe。
- [ファイル] > [スナップインの追加と削除] に移動します。
- [証明書] を選択し、[追加] をクリックします。
- [コンピューターアカウント] を選択し、[次へ] をクリックします。
- [ローカルコンピューター] を選択し、[完了] をクリックします。
- [証明書 (ローカルコンピューター)] > [個人] > [証明書] に移動します。
- 適切な証明書を右クリックし、[すべてのタスク] > [秘密キーの管理] を選択します。
- 次のいずれかのサービスを追加し、読み取りアクセス権を付与します。
-
シングルセッションVDA の場合:
NT SERVICE\PorticaService -
マルチセッションVDA の場合:
NT SERVICE\TermService
-
シングルセッションVDA の場合:
- [適用] をクリックし、次に [OK] をクリックします。
- 証明書をセッションマネージャーサービスにバインドします。
- 証明書のサムプリントを取得します (証明書をダブルクリック > [詳細] > [拇印])。
- Open the registry editor (regedit.exe) and navigate to HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd.
- 「SSLThumbprint」の値を編集し、証明書のサムプリントを貼り付けます。
- Citrix TLSリスナーを有効にします。
- 同じレジストリの場所で、「SSLEnabled」の値を「1」に設定します。
- HDX Directを有効にします(Citrixポリシーで)。
Citrix Virtual Apps and Desktopsのインストールメディアには、これらのタスクのいくつかを自動化するPowerShellスクリプト(Enable-VdaSSL.ps1)が含まれています。
- 証明書のキーのアクセス許可を設定する
- 証明書をセッションマネージャーサービスにバインドする
- Citrix TLSリスナーを有効にする
このスクリプトは、Support > Tools > SslSupportディレクトリにあります。詳しくは、「PowerShellスクリプトを使用してVDAでTLSを構成する」を参照してください。
注:
独自の証明書を使用している場合、セッションホストに接続するデバイスには、適切なルートCA証明書と中間CA証明書がインストールされている必要があります。