トランスポート層セキュリティ (TLS)
Citrix Virtual Apps and Desktopsは、コンポーネント間のTCPベースの接続にトランスポート層セキュリティ (TLS) プロトコルをサポートしています。Citrix Virtual Apps and Desktopsは、アダプティブトランスポートを使用して、UDPベースのICA/HDX接続にデータグラム トランスポート層セキュリティ (DTLS) プロトコルもサポートしています。
TLSとDTLSは類似しており、同じデジタル証明書をサポートしています。Citrix Virtual AppsまたはCitrix Virtual Desktops™サイトをTLSを使用するように構成すると、DTLSを使用するように構成されます。以下の手順を使用してください。特に記載がない限り、手順はTLSとDTLSの両方に共通です。
-
すべてのDelivery Controllerでサーバー証明書を取得、インストール、登録し、TLS証明書でポートを構成します。詳細については、ControllerへのTLSサーバー証明書のインストールを参照してください。
必要に応じて、ControllerがHTTPおよびHTTPSトラフィックをリッスンするために使用するポートを変更できます。
-
Citrix Workspace™アプリとVirtual Delivery Agent (VDA)間のTLS接続を有効にするには、以下のタスクを実行してください。
- VDAがインストールされているマシンでTLSを構成します。(便宜上、VDAがインストールされているマシンへの以降の参照は単に「VDA」と呼びます。) 一般情報については、VDAのTLS設定を参照してください。TLS/DTLSの構成には、Citrixが提供するPowerShellスクリプトを使用することを強くお勧めします。詳細については、PowerShellスクリプトを使用したVDAでのTLSの構成を参照してください。ただし、TLS/DTLSを手動で構成する場合は、VDAでのTLSの手動構成を参照してください。
-
VDAを含むデリバリーグループでTLSを構成するには、Studioで一連のPowerShellコマンドレットを実行します。詳細については、デリバリーグループでのTLSの構成を参照してください。
要件と考慮事項:
- ユーザーとVDA間のTLS接続を有効にすることは、XenApp 7.6およびXenDesktop 7.6サイト、およびそれ以降のサポート対象リリースでのみ有効です。
- コンポーネントのインストール、サイトの作成、マシンカタログの作成、およびデリバリーグループの作成後に、デリバリーグループとVDAでTLSを構成します。
- デリバリーグループでTLSを構成するには、Controllerアクセスルールを変更する権限が必要です。フル管理者にはこの権限があります。
- VDAでTLSを構成するには、VDAがインストールされているマシンでWindows管理者である必要があります。
- Machine Creation Services™またはProvisioning ServicesによってプロビジョニングされたプールされたVDAでは、VDAマシンイメージは再起動時にリセットされ、以前のTLS設定が失われます。VDAが再起動されるたびにPowerShellスクリプトを実行して、TLS設定を再構成してください。
警告:
Windowsレジストリを操作するタスクの場合—レジストリを誤って編集すると、オペレーティングシステムの再インストールが必要になる深刻な問題が発生する可能性があります。Citrix®は、レジストリエディターの誤った使用によって生じる問題が解決されることを保証できません。レジストリエディターは自己責任で使用してください。編集する前に必ずレジストリをバックアップしてください。
サイトデータベースへのTLSの有効化については、CTX137556を参照してください。
ControllerにTLSサーバー証明書をインストールする
HTTPSの場合、XMLサービスはクライアント証明書ではなく、サーバー証明書を使用してTLS機能をサポートします。このセクションでは、Delivery ControllerでのTLS証明書の取得とインストールについて説明します。同じ手順をCloud Connectorに適用して、STAおよびXMLトラフィックを暗号化できます。
証明機関にはさまざまな種類があり、それらから証明書を要求する方法も複数ありますが、この記事ではMicrosoft証明機関について説明します。Microsoft証明機関には、サーバー認証の目的で公開された証明書テンプレートが必要です。
Microsoft証明機関がActive Directoryドメイン、またはDelivery Controllerが参加している信頼されたフォレストに統合されている場合、証明書MMCスナップインの証明書登録ウィザードから証明書を取得できます。
証明書の要求とインストール
- Delivery Controller™で、MMCコンソールを開き、証明書スナップインを追加します。プロンプトが表示されたら、コンピューターアカウントを選択します。
-
個人 > 証明書を展開し、すべてのタスク > 新しい証明書の要求コンテキストメニューコマンドを使用します。

- 次へをクリックして開始し、次へをクリックしてActive Directory登録から証明書を取得していることを確認します。
-
サーバー認証証明書のテンプレートを選択します。テンプレートが件名の値を自動的に提供するように設定されている場合、詳細情報を提供せずに登録をクリックできます。

-
証明書テンプレートの詳細情報を提供するには、詳細矢印ボタンをクリックして以下を構成します。
サブジェクト名: 共通名を選択し、Delivery ControllerのFQDNを追加します。
代替名:DNS を選択し、デリバリーコントローラー の FQDN を追加します。
証明書のプロパティ(/ja-jp/citrix-virtual-apps-desktops/2311/media/tls-certificate-properties.png)
SSL/TLS リスナーポートの構成
Web Studio および Director の一部としてインストールされている IIS Windows コンポーネントが同じサーバーにインストールされている場合、IIS を使用して TLS を構成できます。詳細については、「Web Studio および Director で TLS を有効にする」を参照してください。それ以外の場合は、PowerShell を使用して証明書を構成するには、次の手順を実行します。
-
既存の証明書がバインドされているかを確認するには、コマンドプロンプトを開き、
netsh http show sslcertを実行します。netsh http show sslcert <!--NeedCopy--> -
既存のバインドがある場合は、それを削除します。
netsh http delete sslcert ipport=0.0.0.0:443 <!--NeedCopy-->既存のバインドで特定の IP アドレスとポートが指定されていた場合は、
0.0.0.0:443をその IP アドレスとポートに置き換えます。 -
以前にインストールした証明書のサムプリントを見つけます。サムプリントを表示するには、コンピューター証明書の管理を開き、証明書を参照して開き、詳細タブに移動します。
証明書のプロパティにサムプリントが表示されているスクリーンショット(/ja-jp/citrix-virtual-apps-desktops/2411/media/certificate-thumbprint.png)
または、PowerShell を使用することもできます。たとえば、次のスクリプトは、共通名がサーバーのホスト名と一致する証明書を検索し、サムプリントを出力します。
$HostName = ([System.Net.Dns]::GetHostByName(($env:computerName))).Hostname $Thumbprint = (Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject -match ("CN=" + $HostName)}).Thumbprint -join ';' Write-Host -Object "Certificate Thumbprint for $($HostName): $($Thumbprint)" -Foreground Yellow <!--NeedCopy-->証明書の共通名がホスト名と一致しない場合、これは失敗します。ホスト名に対して複数の証明書がある場合、これは連結された複数のサムプリントを返し、適切なサムプリントを選択する必要があります。
次の例は、フレンドリ名で証明書を検索します。
$friendlyName = "My certificate name" $Thumbprint = (Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.FriendlyName -eq $friendlyNam}).Thumbprint -join ';' Write-Host -Object "Certificate Thumbprint for $friendlyName: $($Thumbprint)" -Foreground Yellow <!--NeedCopy-->指定されたフレンドリ名を持つ証明書が複数ある場合、これは連結された複数のサムプリントを返し、適切なサムプリントを選択する必要があります。
-
証明書をポートにバインドするには、
netsh http add sslcertコマンドを使用します。netsh http add sslcert ipport=[IP address]:443 certhash=[certificate hash] appid=[application GUID] disablelegacytls=enable <!--NeedCopy-->-
ipport: IP アドレスとポート。0.0.0.0:443 を使用すると、すべての IP アドレスに適用されます。代わりに特定の IP アドレスを指定することもできます。 -
certhash: 前のステップで特定した証明書のサムプリント。 -
appid: シトリックス ブローカー サービス の GUID です。注:
証明書を更新または再バインドする際は、任意の GUID ではなく、Broker Service に関連付けられた特定の
appidを使用してください。Citrix Broker サービス の正しい
appidを見つけるには:-
管理者として PowerShell コマンドウィンドウを開き、次のコマンドを実行します。
Get-WmiObject -Class Win32_Product | Select-String -Pattern "broker" <!--NeedCopy--> -
出力結果からCitrix Broker Serviceの識別番号 (GUID) を見つけます (例:
{D333C884-187F-447C-8C67-463F33989C8F})。このGUIDをappidパラメーターに指定します。
-
-
disablelegacytls=enable: レガシーバージョンの TLS を無効にします。このパラメーターは Windows 2022 以降で利用可能です。Windows 2022 では TLS 1.0 および 1.1 を無効にします。Windows 2025 では、TLS 1.0 および 1.1 はデフォルトで無効になっているため、これは不要です。
例えば、次のコマンドを実行して、サムプリント
bc96f958848639fd101a793b87915d5f2829b0b6の証明書をすべての IP アドレスのポート443にバインドします。netsh http add sslcert ipport=0.0.0.0:443 certhash=bc96f958848639fd101a793b87915d5f2829b0b6 appid={91fe7386-e0c2-471b-a252-1e0a805febac} disablelegacytls=enable <!--NeedCopy--> -
HTTPS が有効になったら、StoreFront deployments および Netscaler Gateway を構成して、HTTP の代わりに HTTPS を使用してデリバリーコントローラーに接続するようにします。
注:
Controller が Windows Server 2016 にインストールされ、StoreFront が Windows Server 2012 R2 にインストールされている場合、Controller で TLS 暗号スイートの順序を変更するための構成変更が必要です。この構成変更は、他の Windows Server バージョンの組み合わせの Controller および StoreFront では必要ありません。
暗号スイートの順序リストには、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 または TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 の暗号スイート (あるいはその両方) を含める必要があります。また、これらの暗号スイートは、TLS_DHE_ の暗号スイートよりも前に配置する必要があります。
- Microsoft グループポリシーエディターを使用して、コンピューターの構成 > 管理用テンプレート > ネットワーク > SSL 構成設定に移動します。
- 「SSL 暗号スイートの順序」ポリシーを編集します。デフォルトでは、このポリシーは「未構成」に設定されています。このポリシーを「有効」に設定します。
- スイートを正しい順序に並べます。使用したくない暗号スイートを削除します。
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 または TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 が、TLS_DHE_ の暗号スイートの前に来るようにしてください。
Microsoft MSDN で、Schannel 暗号スイートの優先順位付け も参照してください。
HTTP または HTTPS ポートを変更する
デフォルトでは、Controller の XML Service は、HTTP トラフィックにはポート 80 を、HTTPS トラフィックにはポート 443 をリッスンします。デフォルト以外のポートを使用できますが、信頼できないネットワークに Controller を公開することによるセキュリティリスクに注意してください。デフォルトを変更するよりも、スタンドアロンの StoreFront サーバーを展開する方が望ましいです。
Controller が使用するデフォルトの HTTP または HTTPS ポートを変更するには、Studio から次のコマンドを実行します。
BrokerService.exe -WIPORT \<http-port> -WISSLPORT \<https-port>
ここで、<http-port> は HTTP トラフィックのポート番号、<https-port> は HTTPS トラフィックのポート番号です。
注:
ポートを変更した後、Studio にライセンスの互換性とアップグレードに関するメッセージが表示される場合があります。この問題を解決するには、次の PowerShell コマンドレットシーケンスを使用してサービスインスタンスを再登録します。
Get-ConfigRegisteredServiceInstance -ServiceType Broker -Binding XML_HTTPS |
Unregister-ConfigRegisteredServiceInstance
Get-BrokerServiceInstance | where Binding -eq "XML_HTTPS" |
Register-ConfigServiceInstance
<!--NeedCopy-->
HTTPS トラフィックのみを強制する
XML Service が HTTP トラフィックを無視するようにしたい場合は、Controller 上の HKLM\Software\Citrix\DesktopServer\ に以下のレジストリ設定を作成し、その後 Broker Service を再起動してください。
HTTP トラフィックを無視するには、DWORD XmlServicesEnableNonSsl を作成し、0 に設定します。
HTTPS トラフィックを無視するために作成できる対応するレジストリ DWORD 値があります: DWORD XmlServicesEnableSsl。これが 0 に設定されていないことを確認してください。
VDA 上の TLS 設定
Delivery Groupには、TLSが構成されているVDAとTLSが構成されていないVDAを混在させることはできません。Delivery GroupにTLSを構成する前に、そのDelivery Group内のすべてのVDAにTLSが構成されていることを確認してください。
VDAでTLSを構成すると、インストールされているTLS証明書のアクセス許可が変更され、ICA®サービスに証明書の秘密キーへの読み取りアクセス権が付与され、ICAサービスに次の情報が通知されます。
- TLSに使用する証明書ストア内の証明書。
-
TLS接続に使用するTCPポート番号。
Windowsファイアウォール(有効な場合)は、このTCPポートでの受信接続を許可するように構成する必要があります。この構成は、PowerShellスクリプトを使用すると自動的に行われます。
-
許可するTLSプロトコルのバージョン。
重要:
Citrixでは、SSLv3の使用状況を確認し、必要に応じてSSLv3のサポートを削除するように展開を再構成することをお勧めします。CTX200238を参照してください。
サポートされているTLSプロトコルバージョンは、階層(最低から最高)に従います:SSL 3.0、TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3。許可される最小バージョンを指定します。そのバージョンまたはそれより高いバージョンを使用するすべてのプロトコル接続が許可されます。
たとえば、TLS 1.1を最小バージョンとして指定した場合、TLS 1.1およびTLS 1.3プロトコル接続が許可されます。SSL 3.0を最小バージョンとして指定した場合、サポートされているすべてのバージョンの接続が許可されます。TLS 1.3を最小バージョンとして指定した場合、TLS 1.3接続のみが許可されます。
DTLS 1.0はTLS 1.1に対応し、DTLS 1.3はTLS 1.3に対応します。
-
許可するTLS暗号スイート。
暗号スイートは、接続に使用される暗号化を選択します。クライアントとVDAは、異なる暗号スイートのセットをサポートできます。クライアント(Citrix WorkspaceアプリまたはStoreFront)が接続し、サポートされているTLS暗号スイートのリストを送信すると、VDAはクライアントの暗号スイートの1つを、自身の構成済み暗号スイートのリストにある暗号スイートの1つと照合し、接続を受け入れます。一致する暗号スイートがない場合、VDAは接続を拒否します。
VDAは、3つの暗号スイートセット(コンプライアンスモードとも呼ばれます)をサポートしています:GOV(政府)、COM(商用)、およびALL。許容される暗号スイートは、Windows FIPSモードにも依存します。Windows FIPSモードの詳細については、http://support.microsoft.com/kb/811833を参照してください。次の表に、各セットの暗号スイートを示します。
| TLS/DTLS暗号スイート | ALL | COM | GOV | ALL | COM | GOV |
|---|---|---|---|---|---|---|
| FIPS のモード | オフ | オフ | オフ | オン | オン | オン |
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384* | X | X | X | X | ||
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 | X | X | X | X | ||
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | X | X | X | X |
* Windows Server 2012 R2ではサポートされていません。
注:
The VDA does not support DHE ciphersuites (for example, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, and TLS_DHE_RSA_WITH_AES_128_CBC_SHA.) If selected by Windows, they may not be used by Receiver.
Citrix Gateway を使用している場合は、バックエンド通信の暗号スイートサポートに関する情報について、Citrix ADC のドキュメントを参照してください。TLS 暗号スイートのサポートについては、Citrix ADC アプライアンスで利用可能な暗号 を参照してください。DTLS 暗号スイートのサポートについては、DTLS 暗号のサポート を参照してください。
証明書のリクエストとインストール
- VDA で、MMC コンソールを開き、証明書スナップインを追加します。プロンプトが表示されたら、[コンピューターアカウント] を選択します。
- 個人 > 証明書 を展開し、コンテキストメニューコマンド すべてのタスク > 新しい証明書のリクエスト を使用します。
- 次へ をクリックして開始し、再度 次へ をクリックして、Active Directory 登録から証明書を取得することを確認します。
-
サーバー認証証明書のテンプレートを選択します。デフォルトの Windows コンピューター または Web サーバー (エクスポート可能) のどちらも使用できます。テンプレートが件名の値を自動的に提供するように設定されている場合は、詳細を指定せずに 登録 をクリックできます。

-
証明書テンプレートの詳細を指定するには、詳細 をクリックして以下を構成します。
サブジェクト名 — 種類として 共通名 を選択し、VDA の FQDN を追加します。
代替名 — 種類として DNS を選択し、VDA の FQDN を追加します。

注:
Active Directory 証明書サービス証明書の自動登録を使用して、VDA への証明書の発行と展開を自動化します。これについては https://support.citrix.com/article/CTX205473 で説明されています。
ワイルドカード証明書を使用して、単一の証明書で複数の VDA を保護できます。
サブジェクト名 — 種類を共通名に選択し、VDAの*.primary.domainを入力します
代替名 — 種類をDNSに選択し、VDAの*.primary.domainを追加します
証明書要求ワイルドカードダイアログ(/ja-jp/citrix-virtual-apps-desktops/2311/media/tls-request-certificates-wildcard.png)
SAN証明書を使用すると、単一の証明書で複数の特定のVDAを保護できます。
サブジェクト名 — 種類を共通名に選択し、証明書の使用状況を識別するのに役立つ文字列を入力します
代替名 — 種類をDNSに選択し、各VDAのFQDNのエントリを追加します。最適なTLSネゴシエーションを確保するために、代替名の数を最小限に抑えてください。
証明書要求ダイアログ(/ja-jp/citrix-virtual-apps-desktops/2311/media/tls-request-certificates-san.png)
注:
ワイルドカード証明書とSAN証明書の両方で、秘密キーのタブで秘密キーをエクスポート可能にするを選択する必要があります。
証明書要求ダイアログ(/ja-jp/citrix-virtual-apps-desktops/2311/media/tls-certificate-properties-private-key.png)
PowerShellスクリプトを使用してVDAでTLSを構成する
TLS証明書を証明書ストアのローカルコンピューター > 個人 > 証明書領域にインストールします。その場所に複数の証明書がある場合は、証明書のサムプリントをPowerShellスクリプトに指定します。
注:
XenAppおよびXenDesktop 7.16 LTSR以降、PowerShellスクリプトはVDAのFQDNに基づいて正しい証明書を見つけます。VDAのFQDNに対して単一の証明書のみが存在する場合、サムプリントを指定する必要はありません。
Enable-VdaSSL.ps1スクリプトは、VDA上のTLSリスナーを有効または無効にします。このスクリプトは、インストールメディアのSupport > Tools > SslSupportフォルダーにあります。
TLSを有効にすると、DHE暗号スイートは無効になります。ECDHE暗号スイートは影響を受けません。
TLSを有効にすると、スクリプトは指定されたTCPポートの既存のWindowsファイアウォールルールをすべて無効にします。その後、ICAサービスがTLS TCPおよびUDPポートでのみ受信接続を受け入れることを許可する新しいルールを追加します。また、以下のWindowsファイアウォールルールも無効にします。
- シトリックス ICA (デフォルト: 1494)
- シトリックス CGP (デフォルト: 2598)
- シトリックス ウェブソケット (デフォルト: 8008)
その結果、ユーザーはTLSまたはDTLSを使用してのみ接続できます。TLSまたはDTLSなしでは、ICA/HDX、セッション信頼性のあるICA/HDX、またはWebSocket経由のHDXを使用できません。
注:
DTLSは、UDPリアルタイムトランスポート経由のICA/HDXオーディオ、またはICA/HDX Framehawkではサポートされていません。
ネットワークポートを参照してください。
スクリプトには、以下の構文の説明と追加の例が含まれています。Notepad++などのツールを使用して、この情報を確認できます。
重要:
EnableまたはDisableパラメーターと、CertificateThumbPrintパラメーターのいずれかを指定します。その他のパラメーターはオプションです。
構文
Enable-VdaSSL {-Enable | -Disable} -CertificateThumbPrint "<thumbprint>" [-SSLPort <port>] [-SSLMinVersion "<min-ssl-version>"] [-SSLCipherSuite"\<suite>"]
| パラメーター | 説明 |
|---|---|
| 有効にする | VDA に TLS リスナーをインストールして有効にします。このパラメーターまたは Disable パラメーターのいずれかが必要です。 |
| 無効にする | VDA 上の TLS リスナーを無効にします。このパラメーターまたは Enable パラメーターのいずれかが必要です。このパラメーターを指定した場合、他のパラメーターは無効になります。 |
| 証明書サムプリント “ |
引用符で囲まれた、証明書ストア内の TLS 証明書のサムプリント。スクリプトは、指定されたサムプリントを使用して、使用する証明書を選択します。このパラメーターが省略された場合、誤った証明書が選択されます。 |
| エスエスエルポート |
TLS ポート。デフォルト: 443 |
| エスエスエル最小バージョン “ |
引用符で囲まれた、最小 TLS プロトコルバージョン。有効な値: 「TLS_1.0」(デフォルト)、「TLS_1.1」、および「TLS_1.3」。 |
| SSLCipherSuite “ |
引用符で囲まれた、TLS 暗号スイート。有効な値: 「GOV」、「COM」、および「ALL」(デフォルト)。 |
使用例
次のスクリプトは、TLS プロトコルバージョン値をインストールして有効にします。サムプリント(この例では「12345678987654321」として表されます)は、使用する証明書を選択するために使用されます。
Enable-VdaSSL -Enable -CertificateThumbPrint "12345678987654321"
以下のスクリプトは、TLSリスナーをインストールして有効にし、TLSポート400、GOV暗号スイート、および最小TLS 1.2プロトコル値を指定します。サムプリント(この例では「12345678987654321」として表されます)は、使用する証明書を選択するために使用されます。
Enable-VdaSSL -Enable
-CertificateThumbPrint "12345678987654321"
-SSLPort 400 -SSLMinVersion "TLS_1.3"
-SSLCipherSuite "All"
以下のスクリプトは、VDA上のTLSリスナーを無効にします。
Enable-VdaSSL -Disable
VDAでTLSを手動で構成する
VDAでTLSを手動で構成する場合、各VDA上の適切なサービス(WindowsシングルセッションOS用VDAの場合はNT SERVICE\PorticaService、WindowsマルチセッションOS用VDAの場合はNT SERVICE\TermService)のTLS証明書の秘密キーに一般的な読み取りアクセス権を付与します。VDAがインストールされているマシンで:
ステップ1。Microsoft管理コンソール(MMC)を起動します:スタート > ファイル名を指定して実行 > mmc.exe。
ステップ2。MMCに証明書スナップインを追加します:
- ファイル > スナップインの追加と削除 を選択します。
- 証明書 を選択し、追加 をクリックします。
- 「このスナップインは常に次の証明書を管理します:」と表示されたら、「コンピューターアカウント」を選択し、次へ をクリックします。
- 「このスナップインで管理するコンピューターを選択してください」と表示されたら、「ローカルコンピューター」を選択し、完了 をクリックします。
ステップ3。証明書 (ローカルコンピューター) > 個人 > 証明書 の下で、証明書を右クリックし、すべてのタスク > 秘密キーの管理 を選択します。
ステップ4。アクセス制御リストエディターには、「(FriendlyName) の秘密キーのアクセス許可」と表示されます。(FriendlyName) はTLS証明書の名前です。以下のいずれかのサービスを追加し、読み取りアクセス権を付与します:
- Windowsシングルセッションオペレーティングシステム用VDAの場合、「PORTICASERVICE」
- Windowsマルチセッションオペレーティングシステム用VDAの場合、「TERMSERVICE」
ステップ5。インストールされているTLS証明書をダブルクリックします。証明書ダイアログで、詳細 タブを選択し、一番下までスクロールします。サムプリント をクリックします。
STEP 6. Run regedit and go to HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd.
- SSL Thumbprintキーを編集し、TLS証明書のサムプリントの値をこのバイナリ値にコピーします。バイナリ値の編集ダイアログボックスの不明な項目(「0000」や特殊文字など)は無視して問題ありません。
- SSLEnabledキーを編集し、DWORD値を1に変更します。(後でSSLを無効にするには、DWORD値を0に変更します。)
-
デフォルト設定を変更する場合(オプション)は、同じレジストリパスで以下を使用します。
SSLPort DWORD – SSLポート番号。既定値は443です。
SSLMinVersion DWORD – 1 = SSL 3.0, 2 = TLS 1.0, 3 = TLS 1.1, 4 = TLS 1.3. Default: 2 (TLS 1.0).
SSLCipherSuite DWORD – 1 = GOV, 2 = COM, 3 = ALL. Default: 3 (ALL).
ステップ 7. TLS TCPおよびUDPポートがデフォルトの443でない場合は、Windowsファイアウォールで開いていることを確認します。(Windowsファイアウォールで受信規則を作成する際は、そのプロパティで「接続を許可する」および「有効」のエントリが選択されていることを確認してください。)
ステップ 8. 他のアプリケーションやサービス(IISなど)がTLS TCPポートを使用していないことを確認します。
ステップ 9. Windows Multi-session OS用VDAの場合、変更を有効にするためにマシンを再起動します。(Windows Single-session OS用VDAを含むマシンを再起動する必要はありません。)
重要:
An extra step is necessary when the VDA is on Windows Server 2012 R2, Windows Server 2016, or Windows 10 Anniversary Edition or later supported release. This affects connections from Citrix Receiver for Windows (version 4.6 through 4.9), Citrix Workspace app for HTML5, and Citrix Workspace app for Chrome. This also includes connections using Citrix Gateway.
この手順は、Citrix GatewayとVDA間のTLSが構成されている場合、すべてのVDAバージョンでCitrix Gatewayを使用するすべての接続にも必要です。これは、すべてのCitrix Receiver™バージョンに影響します。
VDA(Windows Server 2012 R2、Windows Server 2016、またはWindows 10 Anniversary Edition以降)で、グループポリシーエディターを使用して、コンピューターの構成 > ポリシー > 管理用テンプレート > ネットワーク > SSL構成設定 > SSL暗号スイートの順序に移動します。次の順序を選択します。
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256
注:
最初の6つの項目では、楕円曲線(P384またはP256)も指定されています。「curve25519」が選択されていないことを確認してください。FIPSモードでは、「curve25519」の使用は妨げられません。
このグループポリシー設定が構成されている場合、VDAは、グループポリシーリストと、選択されたコンプライアンスモード(COM、GOV、またはALL)のリストの両方に表示される場合にのみ、暗号スイートを選択します。暗号スイートは、クライアント(Citrix WorkspaceアプリまたはStoreFront)によって送信されるリストにも表示されている必要があります。
このグループポリシー構成は、VDA上の他のTLSアプリケーションおよびサービスにも影響します。アプリケーションが特定の暗号スイートを必要とする場合、それらをこのグループポリシーリストに追加する必要がある場合があります。
重要:
グループポリシーの変更は適用時に表示されますが、TLS構成のグループポリシーの変更は、オペレーティングシステムの再起動後にのみ有効になります。したがって、プールされたデスクトップの場合、TLS構成のグループポリシーの変更をベースイメージに適用してください。
デリバリーグループでのTLSの構成
TLS接続用に構成したVDAを含む各デリバリーグループに対して、この手順を完了してください。
- StudioからPowerShellコンソールを開きます。
- Citrix製品のコマンドレットをロードするために、asnp Citrix.*を実行します。
- Run Get-BrokerAccessPolicyRule -DesktopGroupName ‘<delivery-group-name>’ | Set-BrokerAccessPolicyRule -HdxSslEnabled $true.
- Run Set-BrokerSite -DnsResolutionEnabled $true.
トラブルシューティング
接続エラーが発生した場合は、VDAのシステムイベントログを確認してください。
Windows向けCitrix Workspaceアプリを使用しているときに、TLSエラーを示す接続エラーが表示された場合は、Desktop Viewerを無効にしてから、もう一度接続を試してください。接続は引き続き失敗しますが、基になるTLS問題の説明が提供される場合があります。(例:証明機関に証明書を要求する際に誤ったテンプレートを指定したなど。)
HDX™ Adaptive Transportを使用するほとんどの構成は、Citrix Workspaceアプリ、Citrix Gateway、およびVDAの最新バージョンを使用するものを含め、DTLSで正常に動作します。Citrix WorkspaceアプリとCitrix Gatewayの間、およびCitrix GatewayとVDAの間でDTLSを使用する一部の構成では、追加の操作が必要です。
追加のアクションが必要な場合:
- the Citrix Receiver version supports HDX Adaptive Transport and DTLS: Receiver for Windows (4.7, 4.8, 4.9), Receiver for Mac (12.5, 12.6, 12.7), Receiver for iOS (7.2, 7.3.x) or Receiver for Linux (13.7)
かつ、以下のいずれかが当てはまる場合:
-
Citrix GatewayのバージョンがVDAへのDTLSをサポートしているが、VDAのバージョンがDTLSをサポートしていない場合(バージョン7.15以前)、
-
VDAのバージョンがDTLSをサポートしているが(バージョン7.16以降)、Citrix GatewayのバージョンがVDAへのDTLSをサポートしていない場合。
Citrix Receiverからの接続が失敗するのを避けるには、以下のいずれかを実行してください:
- Citrix Receiverを、Receiver for Windowsバージョン4.10以降のバージョン、Receiver for Mac 12.8以降のバージョン、またはReceiver for iOSバージョン7.5以降のバージョンにアップデートしてください。または、
- Citrix Gatewayを、VDAへのDTLSをサポートするバージョンにアップデートする。または、
- VDAをバージョン7.16以降にアップデートする。または、
- VDAでDTLSを無効にする。または、
- HDX アダプティブ トランスポートを無効にする。
注:
Receiver for Linuxの適切なアップデートはまだ利用できません。Receiver for Android (バージョン3.12.3) は、Citrix Gateway経由のHDX Adaptive TransportおよびDTLSをサポートしていないため、影響を受けません。
VDAでDTLSを無効にするには、VDAファイアウォール構成を変更してUDPポート443を無効にします。詳細については、ネットワークポートを参照してください。
コントローラーとVDA間の通信
Windows Communication Framework (WCF) メッセージレベル保護は、Controller と VDA 間の通信を保護します。TLS を使用した追加のトランスポートレベル保護は必要ありません。WCF 構成は、Controller と VDA 間の相互認証に Kerberos を使用します。暗号化には、256 ビットキーの CBC モードで AES を使用します。メッセージの整合性には SHA-1 を使用します。
Microsoft 社によると、WCF で使用されるセキュリティプロトコルは、WS-SecurityPolicy 1.2 などを含む OASIS (Organization for the Advancement of Structured Information Standards) が策定した標準に準拠しています。さらに、Microsoft 社は、WCF がSecurity Policy 1.2に記載されているすべてのアルゴリズムスイートに対応していると明言しています。
Controller と VDA 間の通信には、上記で述べたアルゴリズムを持つ basic256 アルゴリズムスイートが使用されます。
TLS と HTML5 ビデオリダイレクト、およびブラウザコンテンツリダイレクト
HTML5 ビデオリダイレクトとブラウザコンテンツリダイレクトを使用して、HTTPS Web サイトをリダイレクトできます。これらの Web サイトに挿入される JavaScript は、VDA で実行されている Citrix HDX HTML5 Video Redirection Service への TLS 接続を確立する必要があります。これを実現するために、HTML5 Video Redirection Service は、VDA の証明書ストアに 2 つのカスタム証明書を生成します。サービスを停止すると、証明書は削除されます。
HTML5 ビデオリダイレクトポリシーは、デフォルトで無効になっています。
ブラウザコンテンツリダイレクトは、デフォルトで有効になっています。
HTML5 ビデオリダイレクトの詳細については、「マルチメディアポリシー設定」を参照してください。