Citrix Virtual Apps and Desktops

ユニバーサルプリントサーバーでTLSを有効にする

Virtual Delivery Agent (VDA) とユニバーサルプリントサーバー間のTCPベースの接続には、トランスポート層セキュリティ (TLS) プロトコルがサポートされています。

警告:

Windowsレジストリでの作業を含むタスクの場合、レジストリを誤って編集すると、オペレーティングシステムの再インストールが必要になる可能性のある深刻な問題が発生する可能性があります。Citrix®は、レジストリエディターの誤った使用によって生じる問題が解決されることを保証できません。レジストリエディターは自己責任で使用してください。編集する前に必ずレジストリをバックアップしてください。

VDAとユニバーサルプリントサーバー間の印刷接続の種類

クリアテキスト接続

以下の印刷関連の接続はVDAから発信され、ユニバーサルプリントサーバー上のポートに接続します。これらの接続は、SSL enabled ポリシー設定が Disabled (デフォルト) に設定されている場合にのみ行われます。

  • クリアテキスト印刷Webサービス接続 (TCPポート 8080)
  • クリアテキスト印刷データストリーム (CGP) 接続 (TCPポート 7229)

The Microsoft support article Service overview and network port requirements for Windows describes the ports used by the Microsoft Windows Print Spooler Service. The SSL/TLS settings in this document do not apply to the NetBIOS and RPC connections made by the Windows Print Spooler service. The VDA uses the Windows Network Print Provider (win32spl.dll) as a fallback if the Universal Print Server enable policy setting is set to Enabled with fallback to Windows’ native remote printing.

ユニバーサルプリントサーバーのセキュリティ

暗号化された接続

これらの印刷関連のSSL/TLS接続はVDAから発信され、ユニバーサルプリントサーバー上のポートに接続します。これらの接続は、SSL enabled ポリシー設定が Enabled に設定されている場合にのみ行われます。

  • 暗号化された印刷Webサービス接続 (TCPポート 8443)
  • 暗号化された印刷データストリーム (CGP) 接続 (TCPポート 443)

ユニバーサルプリントサーバーのセキュリティ2

SSL/TLSクライアント構成

VDAはSSL/TLSクライアントとして機能します。

Microsoftグループポリシーとレジストリを使用して、暗号化された印刷Webサービス接続(TCPポート8443)のためにMicrosoft SCHANNEL SSPを構成します。Microsoftサポート記事「TLSレジストリ設定」には、Microsoft SCHANNEL SSPのレジストリ設定が記載されています。

VDA上のグループポリシーエディターを使用して、コンピューターの構成 > 管理用テンプレート > ネットワーク > SSL構成設定 > SSL暗号スイートの順序に移動します。TLS 1.3が設定されている場合は、次の順序を選択します。

TLS_AES_256_GCM_SHA384 TLS_AES_128_GCM_SHA256

TLS 1.2が設定されている場合は、次の順序を選択します。

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

注:

このグループポリシー設定が構成されている場合、VDAは、接続が両方のSSL暗号スイートリストに表示されている場合にのみ、暗号化された印刷Webサービス接続(デフォルトポート:8443)の暗号スイートを選択します。

  • グループポリシーSSL暗号スイート順序リスト
  • 選択されたSSL暗号スイートポリシー設定(COM、GOV、またはALL)に対応するリスト

このグループポリシー構成は、VDA上の他のTLSアプリケーションおよびサービスにも影響します。アプリケーションが特定の暗号スイートを必要とする場合は、それらをこのグループポリシー暗号スイート順序リストに追加する必要がある場合があります。

重要:

TLS構成のグループポリシーの変更は、オペレーティングシステムの再起動後にのみ有効になります。

Citrixポリシーを使用して、暗号化された印刷データストリーム (CGP) 接続 (TCPポート443) のSSL/TLS設定を構成します。

SSL/TLSサーバーの構成

ユニバーサルプリントサーバーはSSL/TLSサーバーとして機能します。

Enable-UpsSsl.ps1 PowerShellスクリプトを使用してSSL/TLS設定を構成します。

ユニバーサルプリントサーバーにTLS証明書をインストールする

HTTPSの場合、VDAによって信頼されているSSLサーバー証明書をUniversal Print Serverにインストールする必要があります。Microsoft Active Directory証明書サービスまたは別の認証局を使用して、Universal Print Serverの証明書を要求します。

Microsoft Active Directory証明書サービスを使用して証明書を登録/要求する際は、次の考慮事項に留意してください。

  1. 証明書をローカルコンピューターの個人証明書ストアに配置します。
  2. 証明書のサブジェクト識別名 (Subject DN) の共通名属性を、Universal Print Serverの完全修飾ドメイン名 (FQDN) に設定します。これは証明書テンプレートで指定します。
  3. 証明書要求と秘密キーの生成に使用される暗号化サービスプロバイダー (CSP) をMicrosoft Enhanced RSA and AES Cryptographic Provider (Encryption)に設定します。これは証明書テンプレートで指定します。
  4. キーサイズを2048ビット以上に設定します。これは証明書テンプレートで指定します。

証明書の作成とインストールについて詳しくは、「証明書の管理」を参照してください。

ユニバーサルプリントサーバーでのSSLの構成

Universal Print Server上のXTEサービスは、受信接続をリッスンします。SSLが有効な場合、SSLサーバーとして機能します。受信接続には、印刷コマンドを含む印刷Webサービス接続と、印刷ジョブを含む印刷データストリーム接続の2種類があります。これらの接続でSSLを有効にできます。SSLは、これらの接続の機密性と整合性を保護します。デフォルトでは、SSLは無効になっています。

SSLの構成に使用されるPowerShellスクリプトは、インストールメディアにあり、ファイル名は次のとおりです: \Support\Tools\SslSupport\Enable-UpsSsl.ps1.

Universal Print Server でのリスニングポート番号の構成

これらは XTE サービスのデフォルトポートです。

  • クリアテキスト印刷 Web サービス (HTTP) TCP ポート: 8080
  • クリアテキスト印刷データストリーム (CGP) TCP ポート: 7229
  • 暗号化された印刷 Web サービス (HTTPS) TCP ポート: 8443
  • 暗号化された印刷データストリーム (CGP) TCP ポート: 443

Universal Print Server で XTE サービスが使用するポートを変更するには、管理者として PowerShell で次のコマンドを実行します (Enable-UpsSsl.ps1 PowerShell スクリプトの使用に関する注意点については、後のセクションを参照してください)。

  1. Stop-Service CitrixXTEServer, UpSvc
  2. Enable-UpsSsl.ps1 -Enable -HTTPSPort <port> -CGPSSLPort <port> または Enable-UpsSsl.ps1 -Disable -HTTPPort <port> -CGPPort <port>
  3. Start-Service CitrixXTEServer

ユニバーサル プリント サーバー の TLS 設定

負荷分散構成で複数の Universal Print Server を使用している場合は、すべての Universal Print Server で TLS 設定が一貫して構成されていることを確認してください。

Universal Print Server で TLS を構成すると、インストールされている TLS 証明書のアクセス許可が変更され、Universal Printing Service に証明書の秘密キーへの読み取りアクセス権が付与され、Universal Printing Service に次の情報が通知されます。

  • TLS に使用する証明書ストア内の証明書。
  • TLS 接続に使用する TCP ポート番号。

Windows ファイアウォール(有効な場合)は、これらの TCP ポートでの受信接続を許可するように構成する必要があります。この構成は、Enable-UpsSsl.ps1 PowerShell スクリプトを使用すると自動的に行われます。

  • 許可する TLS プロトコルのバージョン。

Universal Print Server は TLS プロトコルバージョン 1.3 および 1.2 をサポートしています。許可される最小バージョンを指定してください。

デフォルトの TLS プロトコルバージョンは 1.2 です。

注:

TLS 1.1 および 1.0 は、Citrix Virtual Apps and Desktops バージョン 2311 以降ではサポートされなくなりました。

  • 許可する TLS 暗号スイート。

暗号スイートは、接続に使用される暗号化アルゴリズムを選択します。VDA と Universal Print Server は、異なる暗号スイートのセットをサポートできます。VDA が接続し、サポートされている TLS 暗号スイートのリストを送信すると、Universal Print Server はクライアントの暗号スイートのいずれかを、自身の構成済み暗号スイートのリストにある暗号スイートのいずれかと照合し、接続を受け入れます。一致する暗号スイートがない場合、Universal Print Server は接続を拒否します。

Universal Print Server は、OPEN、FIPS、および SP800-52 ネイティブ Crypto Kit モードに対して、GOV(ernment)、COM(mercial)、および ALL と名付けられた以下の暗号スイートセットをサポートしています。許容される暗号スイートは、SSL FIPS Mode ポリシー設定と Windows FIPS モードにも依存します。Windows FIPS モードの詳細については、このMicrosoft サポート記事を参照してください。

暗号スイート(優先順位降順) オープンオール オープンCOM オープンGOV フィップス 全般 FIPS コモン フィップス ガバメント SP800-52 オール SP800-52 コム SP800-52 ガブ
TLS_ECDHE_RSA_ AES256_GCM_SHA384 X   X X   X X   X
TLS_ECDHE_RSA_ AES256_CBC_SHA384 X   X X   X X   X
TLS_ECDHE_RSA_ AES256_CBC_SHA X X   X X   X X  

PowerShellスクリプトを使用して、ユニバーサルプリントサーバーでTLSを構成する

証明書ストアのローカルコンピューター > 個人 > 証明書領域にTLS証明書をインストールします。その場所に複数の証明書がある場合は、証明書のサムプリントをEnable-UpsSsl.ps1 PowerShellスクリプトに指定します。

注:

PowerShellスクリプトは、Universal Print ServerのFQDNに基づいて正しい証明書を検索します。Universal Print ServerのFQDNに対して単一の証明書のみが存在する場合、証明書のサムプリントを指定する必要はありません。

Enable-UpsSsl.ps1スクリプトは、VDAからUniversal Print ServerへのTLS接続を有効または無効にします。このスクリプトは、インストールメディアのSupport > Tools > SslSupportフォルダーにあります。

TLSを有効にすると、スクリプトはUniversal Print ServerのTCPポートに対する既存のWindowsファイアウォールルールをすべて無効にします。その後、XTEサービスがTLS TCPおよびUDPポートでのみ受信接続を受け入れることを許可する新しいルールを追加します。また、以下のWindowsファイアウォールルールも無効にします。

  • クリアテキスト印刷Webサービス接続 (デフォルト: 8080)
  • クリアテキスト印刷データストリーム (CGP) 接続 (デフォルト: 7229)

その結果、VDAはTLSを使用している場合にのみこれらの接続を行うことができます。

注:

TLSを有効にした場合でも、VDAから発信され、Universal Print Serverへと接続されるWindows Print SpoolerのRPC/SMB接続に対しては、影響を及ぼしません。

重要:

最初のパラメーターとしてEnableまたはDisableのいずれかを指定します。Local Computer Personal証明書ストアにUniversal Print ServerのFQDNを持つ証明書が1つしかない場合、CertificateThumbprintパラメーターはオプションです。その他のパラメーターはオプションです。

構文

Enable-UpsSSL.ps1 -Enable [-HTTPPort <port>] [-CGPPort <port>] [–HTTPSPort <port>] [-CGPSSLPort <port>] [-SSLMinVersion <version>] [-SSLCipherSuite <name>] [-CertificateThumbprint <thumbprint>] [-FIPSMode <Boolean>] [-ComplianceMode <mode>]
Enable-UpsSSL.ps1 -Disable [-HTTPPort <portnum>] [-CGPPort <portnum>]
パラメーター 項目説明
有効 XTEサーバーでSSL/TLSを有効にします。このパラメーターまたはDisableパラメーターのいずれかが必要です。
無効 XTEサーバーでSSL/TLSを無効にします。このパラメーターまたはEnableパラメーターのいずれかが必要です。
証明書サムプリント "<thumbprint>" ローカルコンピューターの個人証明書ストアにあるTLS証明書のサムプリント。引用符で囲みます。スクリプトは、指定されたサムプリントを使用して、使用する証明書を選択します。
HTTPポート番号 <port> クリアテキスト印刷Webサービス(HTTP/SOAP)ポート。デフォルト:8080
CGPポート番号 <port> クリアテキスト印刷データストリーム(CGP)ポート。デフォルト:7229
HTTPSポート番号 <port> 暗号化された印刷Webサービス(HTTPS/SOAP)ポート。デフォルト:8443
シージーピーエスエスエルポート <port> 暗号化された印刷データストリーム(CGP)ポート。デフォルト:443
SSL最小バージョン "<version>" 最小TLSプロトコルバージョン。引用符で囲みます。有効な値:「TLS_1.2」および「TLS_1.3」。デフォルト:TLS_1.2。
SSL暗号スイート "<name>" TLS暗号スイートパッケージの名前。引用符で囲みます。有効な値:「GOV」、「COM」、および「ALL」(デフォルト)。
フィップスモード <Boolean> XTEサーバーでFIPS 140モードを有効または無効にします。有効な値: FIPS 140モードを有効にする場合は$true、FIPS 140モードを無効にする場合は$false。

使用例

次のスクリプトはTLSを有効にします。サムプリント(この例では「12345678987654321」として表されています)は、使用する証明書を選択するために使用されます。

Enable-UpsSsl.ps1 –Enable -CertificateThumbprint "12345678987654321"

次のスクリプトはTLSを無効にします。

Enable-UpsSsl.ps1 –Disable

FIPSモードの構成

米国連邦情報処理標準(FIPS)モードを有効にすると、Universal Print Serverの暗号化された接続には、FIPS 140準拠の暗号化のみが使用されるようになります。

クライアントでFIPSモードを構成する前に、サーバーでFIPSモードを構成します。

Windows FIPSモードの有効化/無効化については、Microsoftのドキュメントサイトを参照してください。

クライアントでのFIPSモードの有効化

デリバリーコントローラー™上でWeb Studioを実行し、UPS FIPS Mode Citrixポリシー設定を有効に設定します。Citrixポリシーを有効にします。

各VDAで以下を実行します。

  1. Windows FIPSモードを有効にします。
  2. VDAを再起動します。

サーバーでFIPSモードを有効にする

各ユニバーサルプリントサーバーでこれを実行します:

  1. Windows FIPSモードを有効にします。
  2. 管理者としてこのPowerShellコマンドを実行します: stop-service CitrixXTEServer, UpSvc
  3. -Enable -FIPSMode $trueパラメーターを指定してEnable-UpsSsl.ps1スクリプトを実行します。
  4. ユニバーサルプリントサーバーを再起動します。

クライアントでFIPSモードを無効にする

Web Studioで、UPS FIPS Mode Citrixポリシー設定をDisabledに設定します。Citrixポリシーを有効にします。UPS FIPS Mode Citrixポリシー設定を削除することもできます。

各VDAでこれを実行します:

  1. Windows FIPSモードを無効にします。
  2. VDAを再起動します。

サーバーでFIPSモードを無効にする

各ユニバーサルプリントサーバーで、次の操作を実行します。

  1. Windows FIPSモードを無効にします。
  2. 管理者としてこのPowerShellコマンドを実行します: stop-service CitrixXTEServer, UpSvc
  3. -Enable -FIPSMode $falseパラメーターを指定してEnable-UpsSsl.ps1スクリプトを実行します。
  4. ユニバーサルプリントサーバーを再起動します。

注:

SSLプロトコルバージョンがTLS 1.3に設定されている場合、FIPSモードはサポートされません。

SSL/TLSプロトコルバージョンの構成

デフォルトのSSL/TLSプロトコルバージョンはTLS 1.2です。TLS 1.2とTLS 1.3は、本番環境での使用が推奨されるSSL/TLSプロトコルバージョンです。トラブルシューティングのために、非本番環境でSSL/TLSプロトコルバージョンを一時的に変更する必要がある場合があります。

SSL 2.0 および SSL 3.0 は、ユニバーサルプリントサーバー上ではサポートされていません。

サーバーでのSSL/TLSプロトコルバージョンの設定

以下の手順を各 Universal Print Server で実行してください。

  1. 管理者としてこのPowerShellコマンドを実行します: stop-service CitrixXTEServer, UpSvc
  2. -Enable -SSLMinVersionバージョンパラメーターを指定してEnable-UpsSsl.ps1スクリプトを実行します。テストが完了したら、これをTLS 1.2またはTLS 1.3に戻すことを忘れないでください。
  3. ユニバーサルプリントサーバーを再起動します。

クライアントでのSSL/TLSプロトコルバージョンの設定

Studioで、SSL Protocol Versionポリシー設定を目的のプロトコルバージョンに設定し、ポリシーを有効にします。

VDAのオペレーティングシステムが選択したTLSバージョンをサポートしていることを確認してください。WindowsでサポートされているTLSバージョンについては、Microsoft Learn - TLS protocol version supportを参照してください。デフォルトを上書きするようにレジストリを構成するには、Microsoft Learn - TLS, DTLS, and SSL protocol version settingsを参照してください。

トラブルシューティング

接続エラーが発生した場合は、ユニバーサルプリントサーバーの C:\Program Files (x86)\Citrix\XTE\logs\error.log ファイルを確認してください。

SSL/TLSハンドシェイクが失敗した場合、このログファイルにエラーメッセージ SSL handshake from client failed が表示されます。このような失敗は、VDAとUniversal Print ServerのSSL/TLSプロトコルバージョンが一致しない場合に発生する可能性があります。

ユニバーサルプリントサーバーのホスト名を含む以下のポリシー設定では、ユニバーサルプリントサーバーの FQDN を使用してください。

  • セッションプリンター
  • プリンターの割り当て
  • 負荷分散のためのユニバーサルプリントサーバー

Universal Print ServerとVDAで、システムクロック(日付、時刻、タイムゾーン)が正しいことを確認してください。

ユニバーサルプリントサーバーでTLSを有効にする