Citrix Virtual Apps and Desktops 7 2311

ユニバーサルプリントサーバーでのトランスポート層セキュリティ (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のレジストリ設定が記載されています。

Using the Group Policy Editor on the VDA, go to Computer Configuration > Administrative Templates > Network > SSL Configuration Settings > SSL Cipher Suite Order. Select the following order when TLS 1.3 is set:

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は、暗号化された印刷Webサービス接続(デフォルトポート:8443)の暗号スイートを、接続が両方のSSL暗号スイートリストに表示されている場合にのみ選択します。

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

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

重要:

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

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

SSL/TLSサーバー構成

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

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

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

HTTPSの場合、Universal Print Serverはサーバー証明書を使用してTLS機能をサポートします。クライアント証明書は使用されません。Universal Print Serverの証明書を要求するには、Microsoft Active Directory証明書サービスまたは別の認証機関を使用します。

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サーバーとして機能します。受信接続には2つのタイプがあります。印刷コマンドを含む印刷Webサービス接続と、印刷ジョブを含む印刷データストリーム接続です。これらの接続でSSLを有効にできます。SSLはこれらの接続の機密性と整合性を保護します。デフォルトでは、SSLは無効になっています。

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

ユニバーサルプリントサーバーでのリッスンポート番号の構成

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です。

注:

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

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

暗号スイートは、接続に使用される暗号化アルゴリズムを選択します。VDAとUniversal Print Serverは、異なる暗号スイートのセットをサポートできます。VDAが接続し、サポートされているTLS暗号スイートのリストを送信すると、Universal Print Serverはクライアントの暗号スイートの1つを、自身の構成済み暗号スイートのリストにある暗号スイートの1つと照合し、接続を受け入れます。一致する暗号スイートがない場合、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すべて FIPS コンポーネント 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印刷スプーラーのRPC/SMB接続には影響しません。

重要:

最初のパラメーターとして、Enable または Disable のいずれかを指定します。ローカルコンピューターの個人証明書ストアに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証明書のサムプリント。引用符で囲みます。スクリプトは、指定されたサムプリントを使用して、使用する証明書を選択します。
HTTPPort <port> クリアテキスト印刷Webサービス (HTTP/SOAP) ポート。デフォルト: 8080
CGPポート番号 <port> クリアテキスト印刷データストリーム (CGP) ポート。デフォルト: 7229
HTTPSポート番号 <port> 暗号化された印刷Webサービス (HTTPS/SOAP) ポート。デフォルト: 8443
CGPSSLPort <port> 暗号化された印刷データストリーム (CGP) ポート。デフォルト: 443
SSL最小バージョン "<version>" 最小TLSプロトコルバージョン。引用符で囲みます。有効な値: 「TLS_1.2」および「TLS_1.3」。デフォルト: TLS_1.2。
SSL暗号スイート "<name>" TLS暗号スイートパッケージの名前。引用符で囲みます。有効な値: 「GOV」、「COM」、および「ALL」(デフォルト)。
FIPSMode <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モードの有効化

デリバリーコントローラー™上でウェブスタジオを実行し、SSL FIPS Mode Citrixポリシー設定を有効に設定します。Citrixポリシーを有効にします。

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

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

サーバーでのFIPSモードの有効化

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

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

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

Web Studioで、SSL FIPS Mode Citrixポリシー設定をDisabledに設定します。Citrixポリシーを有効にします。SSL 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プロトコルバージョンの設定

各VDAで次の操作を行います。

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

  2. Microsoftサポート記事TLS Registry Settingsには、Microsoft SCHANNEL SSPのレジストリ設定が記載されています。レジストリ設定を使用して、クライアント側のTLS 1.2またはTLS 1.3を有効にします。

    重要:

    テストが完了したら、レジストリ設定を元の値に復元することを忘れないでください。

  3. VDAを再起動します。

トラブルシューティング

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

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

Universal Print Serverのホスト名を含む以下のポリシー設定では、Universal Print Serverの完全修飾ドメイン名を使用してください。

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

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

ユニバーサルプリントサーバーでのトランスポート層セキュリティ (TLS)