証明書の管理
概要
HDX™ダイレクト接続はネットワークレベルの暗号化で保護されています。これを容易にするために、各セッションホストは一意の自己署名ルートCA証明書と、その自己署名ルートCA証明書によって署名された対応するサーバー証明書を持っています。
このソリューションには次の利点があります。
- セキュリティの合理化: HDXダイレクト接続は、環境内で証明書を管理する管理上のオーバーヘッドなしに保護されます。
- 攻撃対象領域の縮小: 各ホストが一意のキーと証明書のセットを持っているため、攻撃対象領域は単一のホストに限定されます。
- 非永続環境のセキュリティ強化: 非永続セッションホストがある環境では、再起動時に新しいキーと証明書が生成されるため、セキュリティがさらに強化されます。
セッションホスト
各セッションホスト上で証明書を管理する役割を担う2つのサービスは、Citrix ClxMtp Service と Citrix Certificate Manager Service です。ClxMtp Service はキーの生成とローテーションを処理し、一方、Certificate Manager Service は証明書を生成および管理します。
自己署名ルートCAとサーバー証明書の2つの証明書が作成されます。どちらも2年間の有効期間で発行されますが、キーがローテーションされると置き換えられます。さらに、非永続マシンが再起動するたびに新しい証明書が生成されます。
各証明書の詳細は次のとおりです。
-
自己署名ルートCA
- この証明書が発行される対象となるエンティティは: CA-Citrix-Certificate-Manager
- 発行元: CA-Citrix-証明書マネージャー
- 発行者の詳細: 組織はCitrix Systems, Inc.です。
-
サーバー証明書
- 発行先: <ホスト 完全修飾ドメイン名> (例: FTLW11-001.ctxlab.net)
- Issued by: CA-Citrix-Certificate-Manager
- 発行者の詳細: 組織はCitrix Systems, Inc.です。
注:
Citrix Certificate Managerサービスは、2048ビットキーを利用するRSA証明書を生成します。
Citrix Certificate Manager Serviceによって作成された既存のマシン証明書があり、サブジェクト名がマシンのFQDNと一致しない場合、新しい証明書が生成されます。
キーのローテーション
Citrix ClxMtp Serviceは、6か月ごとにキーを自動的にローテーションします。ただし、セッションホストのレジストリでローテーションカウンターを増やすことで、手動でキーのローテーションをトリガーできます。
キーをローテーションするには、次の値を更新します。
- Key: SOFTWARE\Citrix\ClxMtpConnectorSvcRotateKeyPairs
- 値の型はDWORDです
- Value name: ClxMtpRotateRequestCounter
- データ: 整数 (10進数)
注:
初回キーローテーションの場合:
- Create the ClxMtpConnectorSvcRotateKeyPairs key.
- Create and set the ClxMtpRotateRequestCounter value to 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証明書がインストールされている必要があります。