セキュリティで保護された通信

サイトとCitrix Workspaceアプリ間の通信を保護するために、Citrix Gatewayなどのセキュリティ保護技術と統合できます。

メモ:

StoreFrontサーバーとユーザーデバイス間の通信にCitrix Gatewayを使用することをお勧めします。

  • ファイアウォール:ネットワークファイアウォールは、送信先アドレスとポート番号に基づいてパケットを通過させたりブロックしたりできます。 サーバーの内部IPアドレスを外部インターネットアドレスにマップするネットワークファイアウォール(つまりNAT(Network Address Translation:ネットワークアドレス変換))を介してCitrix Workspaceアプリを使用する場合は、外部アドレスを構成します。

  • 信頼されたサーバー。

  • Citrix Virtual Apps and DesktopsまたはCitrix DaaS(Citrix Virtual Apps and Desktopsサービスの新名称)展開環境の場合のみ(XenDesktop 7には適用されません):SOCKSプロキシサーバーまたはセキュアプロキシサーバー(セキュリティプロキシサーバー、HTTPSプロキシサーバー、またはTransport Layer Security(TLS)トンネリングプロキシサーバーとも呼ばれます)。 プロキシサーバーでネットワークから外部へのアクセスや外部からネットワークへのアクセスを制限して、Citrix Workspaceアプリとサーバー間の接続を制御できます。 Citrix Workspaceアプリは、SOCKSプロトコルとセキュアプロキシプロトコルをサポートしています。

  • Citrix Virtual Apps and DesktopsまたはCitrix DaaS展開環境の場合のみ:Citrix Secure Web GatewayまたはTLSプロトコルによるSSL Relayソリューション。 TLS Version 1.0から1.2がサポートされます。

複数のプロキシサーバーを管理するためのプロビジョニング

以前は、Citrix Workspaceアプリは複数のプロキシサーバーの使用をサポートしていませんでした。 2408バージョン以降では、複数のプロキシサーバーを使用できるようになりました。これにより、HDXセッションは特定のリソースにアクセスするために適切なプロキシサーバーを選択できるようになります。 この選択は、プロキシ自動構成(PAC)ファイルで構成されたプロキシ規則に基づきます。 このファイルを使用すると、どのネットワークトラフィックをプロキシサーバー経由で送信し、どのネットワークトラフィックを直接送信する必要があるかを指定して、ネットワークを管理できます。

この機能はデフォルトでは無効になっています。 この機能を有効にするには、次の手順を実行します:

  1. $HOME/.ICAClient/All_Regions.iniファイルに移動します。
  2. [Network\Proxy]セクションに移動して、以下を実行します:

    1. ProxyTypeScriptに更新します。
    2. ProxyAutoConfigURLfile://file-pathhttps://serverfilepath、またはhttp://server/filepathに更新します。

    前述のパスを、接続に使用する実際のパスに置き換える必要があります。

ScriptProxyTypeとして追加されると、クライアントはプロキシスクリプトURLポリシーオプションで指定されたURLから、.pacファイルに基づいてJavaScriptを取得します。 .pacファイルは、接続に使用する必要があるプロキシサーバーを識別するために実行されます。

Citrix Gateway

Citrix Gateway(旧称「Access Gateway」)を使用すると、StoreFrontストアへの接続をセキュアに保護します。 また、管理者がデスクトップやアプリケーションへのユーザーアクセスを詳細に管理できます。

Citrix Gateway経由でデスクトップやアプリケーションに接続するには:

  1. 以下のいずれかの方法で、管理者により提供されたCitrix GatewayのURLを指定します:

    • セルフサービスユーザーインターフェイスの初回使用時に、[アカウントの追加]ダイアログボックスでURLを入力します。
    • セルフサービスユーザーインターフェイスの初回使用から後は、[基本設定] > [アカウント] > [追加]の順に選択してからURLを入力します。
    • storebrowseコマンドで接続する場合は、コマンドラインにURLを入力します。

    URLにより、ゲートウェイと、必要に応じて特定のストアが指定されます:

    • Citrix Workspaceアプリで検出された最初のストアに接続されるようにするには、URLを「https://gateway.company.com」のような形式で指定します。
    • 特定のストアに接続する場合は、URLをhttps://gateway.company.com>?\<storename\のような形式で指定します。 このURLには等号(=)を含めないでください。 storebrowseコマンドで特定のストアに接続する場合は、storebrowseコマンドでURLを引用符で囲んで指定します。
  2. 資格情報の入力を確認するメッセージが表示されたら、ユーザー名、パスワード、およびセキュリティトークンを入力します。 手順について詳しくは、Citrix Gatewayのドキュメントを参照してください。

    認証処理が完了すると、デスクトップまたはアプリケーションが表示されます。

プロキシサーバー

プロキシサーバーは、ネットワーク内部から外部への、および外部から内部へのアクセスを制限して、Citrix WorkspaceアプリとCitrix Virtual Apps and DesktopsまたはCitrix DaaS展開環境との間の接続を制御するために使います。

Citrix Workspaceアプリは、以下に加えて、SOCKSおよびHTTPSプロトコルをサポートします:

  • Citrix Secure Web Gateway™およびCitrix SSL Relay、セキュアプロキシプロトコル
  • Windows NTチャレンジ/レスポンス(NTLM)認証。

SOCKSプロトコルを使用してデスクトップを起動するようにプロキシを構成するには、次の手順を実行します:

  1. 構成ファイル~/.ICAClient/All_Regions.iniに移動します。
  2. 次の属性を更新します:

    1. ProxyTypeを更新します。 SocksV5ProxyTypeとして使用できます。
    2. ProxyHostを更新します。 ProxyHostは、次の形式で追加できます:

      <IP>:<PORT>。 例:「10.122.122.122:1080」

メモ:

  • プロキシを使用するには、EDTを無効にします。 EDTを無効にするには、~/.ICAClient/All_Regions.ini構成ファイルの[Network\UDT]セクションでHDXoverUDP属性をoffに設定します。
  • 確実にセキュアな接続を実行するには、TLSを有効にします。

プロキシサーバーのHTTPSプロトコルのサポート

以前は、SOCKSプロトコルを使用してのみプロキシサーバーに接続できました。 Citrix Workspaceアプリ2308以降では、HTTPSプロトコルを使用してプロキシサーバーに接続することもできます。

HTTPSプロトコルを使用してデスクトップを開くには、次の手順を実行します:

  1. 構成ファイル~/.ICAClient/All_Regions.iniに移動します。
  2. [Network\UDT]セクションに移動します。
  3. 以下を設定します:

      HDXoverUDP=Off
    <!--NeedCopy-->
    
  4. [Network\Proxy]セクションに移動します。
  5. 次の属性を更新します:

    • ProxyTypeを更新します。 SecureをProxyTypeとして使用できます。
    • ProxyHostを更新します。 ProxyHostは、次の形式で追加できます:

    &lt;IP&gt;:&lt;PORT&gt;。 例:「192.168.101.37:6153」。

セキュアプロキシサーバー

セキュアプロキシプロトコルを使用する接続を構成して、Windows NTチャレンジ/レスポンス(NTLM)認証のサポートを有効にできます。 このプロトコルを使用できる場合は、追加構成なしで実行時にこれが検出され使用されます。

重要:

NTLMをサポートするには、OpenSSL 1.1.1dライブラリとlibcrypto.soライブラリが必要です。 ユーザーデバイスにこれらのライブラリをインストールします。 ライブラリはLinuxディストリビューションに含まれていることがよくあります。 http://www.openssl.orgからダウンロードすることもできます。

Secure Web GatewayとSSL

Citrix WorkspaceアプリをCitrix Secure Web GatewayまたはCitrix SSL(Secure Sockets Layer)Relayと共に使うことができます。 Citrix Workspaceアプリでは、TLSプロトコルがサポートされます。 TLS(Transport Layer Security)は、標準化されたSSLプロトコルの最新版です。 IETF(Internet Engineering TaskForce)が、SSLの公開標準規格の開発をNetscape Communications社から引き継いだときに、SSLという名前をTLSに変更しました。 TLSは、サーバーの認証、データの暗号化、メッセージの整合性の確認を行って、データ通信をセキュアに保護します。 米国政府など、 データ通信を保護するためにTLSの使用を必須としている組織もあります。 このような組織では、さらにFIPS 140(Federal Information Processing Standard)などのテスト済み暗号化基準の使用を義務付けられる場合があります。 FIPS 140は、暗号化の情報処理規格です。

Secure Web Gateway

Citrix Secure Web Gatewayを通常モードまたはリレーモードで使用すると、Citrix Workspaceアプリとサーバー間の通信チャネルをセキュリティで保護することができます。 Secure Web Gatewayを通常モードで使用している場合は、Citrix Workspaceアプリ側での構成は不要です。

Citrix Secure Web Gateway Proxyがセキュリティで保護されたネットワーク内のサーバーにインストールされている場合は、Citrix Secure Web Gateway Proxyをリレーモードで使用できます。 ただし、リレーモードで使用する場合、Citrix Secure Web Gatewayサーバーはプロキシサーバーとして機能するため、Citrix Workspaceアプリで次の項目を構成する必要があります:

  • Citrix Secure Web™ Gatewayサーバーの完全修飾ドメイン名。
  • Citrix Secure Web Gatewayサーバーのポート番号。

メモ:

Citrix Secure Web Gatewayバージョン2.0では、リレーモードはサポートされていません。

完全修飾ドメイン名には、以下の3つの要素を順に指定する必要があります:

  • ホスト名
  • サブドメイン名
  • 最上位ドメイン名

たとえば、my_computer。my_company.comは完全修飾ドメイン名です。ホスト名(my_computer)、サブドメイン名(my_company)、最上位ドメイン名(.com)が順に指定されています。 サブドメイン名と最上位ドメイン名の組み合わせ(my_company.com)をドメイン名といいます。

SSL Relay

Citrix SSL RelayによるセキュアなTLS通信では、デフォルトでCitrix Virtual Apps and Desktops™またはCitrix DaaSサーバーのTCPポート443が使用されます。 SSL Relayは、SSL/TLS接続要求を受信すると、その要求を解読してからサーバーに転送します。

443以外のリスナーポートをSSL Relayで構成する場合、Citrix Workspaceアプリに対して非標準のリスナーポート番号を指定する必要があります。

Citrix SSL Relayを使用すると、次の通信をセキュアに保護できます:

  • TLSが有効なユーザーデバイスとサーバー間の通信。

SSL Relayによるセキュリティ機能については、Citrix Virtual Apps™のドキュメントを参照してください。

TLS

以前は、サポートされる最小TLSバージョンは1.0で、最大TLSバージョンは1.2でした。 バージョン2203以降、サポートされる最大TLSバージョンは1.3です。

[WFClient] セクションに次の構成オプションを追加することで、ネゴシエートできるTLSプロトコルのバージョンを制御できます:

  • MinimumTLS=1.1
  • MaximumTLS=1.3

これらはデフォルト値で、コードで設定されています。 必要に応じてこれを変更します。

注:

  • これらの値は、プログラムの開始時に必ず読み取られます。 self-serviceまたはstorebrowseを開始した後でこれらの値を変更する場合、killall AuthManagerDaemon ServiceRecord selfservice storebrowseと入力します。

  • Linux向けCitrix WorkspaceアプリではSSLv3プロトコルは使用できません。

  • TLS 1.0/1.1は、それらをサポートする古いVDIまたはCitrix Gatewayでのみ動作します。

暗号の組み合わせセットを選択するには、[WFClient]セクションで次の構成オプションを追加します:

  • SSLCiphers=GOV

これがデフォルト値です。 その他の認識される値は、COMおよびALLです。

メモ:

TLSバージョン構成のように、self-serviceまたはstorebrowseを開始した後にこの構成を変更する場合、killall AuthManagerDaemon ServiceRecord selfservice storebrowseと入力する必要があります

CryptoKitの更新

CryptoKitバージョン14.2は、OpenSSL 1.1.1dバージョンと統合されています。

暗号化の更新

この機能は、安全な通信プロトコルにとって重要な変更です。 接頭辞がTLS_RSA_の暗号の組み合わせは、Forward Secrecyを提供せず、強度が低いと見なされています。

TLS_RSA_暗号の組み合わせは完全に削除されました: 代わりに、より高度なTLS_ECDHE_RSA_暗号の組み合わせがサポートされています。

環境がTLS_ECDHE_RSA_暗号の組み合わせで構成されていない場合、暗号化の強度が低いため、クライアントの起動はサポートされません。 クライアント認証用に1536ビットのRSAキーがサポートされています:

次の高度な暗号の組み合わせがサポートされます:

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(0xc030)
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384(0xc028)
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA(0xc013)

DTLS v1.0では、次の暗号の組み合わせがサポートされています:

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_EMPTY_RENEGOTIATION_INFO_SCSV

DTLS v1.2では、次の暗号の組み合わせがサポートされています:

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_EMPTY_RENEGOTIATION_INFO_SCSV

TLS v1.3では、次の暗号の組み合わせがサポートされています:

  • TLS_AES_128_GCM_SHA256(0x1301)
  • TLS_AES_256_GCM_SHA384(0x1302)

メモ:

バージョン1903以降では、DTLSはCitrix Gateway 12.1以降でサポートされています。 Citrix GatewayでDTLSがサポートする暗号の組み合わせについては、「DTLSプロトコルのサポート」を参照してください。

暗号の組み合わせ

異なる暗号スイートを有効にするには、パラメーターSSLCiphersの値をALLCOM、またはGOVに変更します。 このオプションは$ICAROOT/configディレクトリにあるAll_Regions.iniファイルに含まれ、デフォルト値はALLです。

以下は、ALL、GOV、COMそれぞれによって提供される暗号の組み合わせセットです:

  • ALL
    • 3つの暗号の組み合わせすべてがサポートされています。
  • GOV
    • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(0xc030)
    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384(0xc028)
  • COM
    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA(0xc013)

トラブルシューティング情報については、「暗号の組み合わせ」を参照してください。

プレフィックスがTLS_RSA_の暗号の組み合わせは、Forward Secrecyを提供しません。 これらの暗号の組み合わせは現在業界では推奨されていません。 ただし、以前のバージョンのCitrix Virtual Apps and DesktopsまたはCitrix DaaSとの後方互換性をサポートするために、Citrix Workspaceアプリではこれらの暗号の組み合わせを有効にすることもできます。

セキュリティを強化するには、Enable\_TLS\_RSA\_フラグをFalseに設定します。

以下は、非推奨の暗号の組み合わせの一覧です:

  • TLS_RSA_AES256_GCM_SHA384
  • TLS_RSA_AES128_GCM_SHA256
  • TLS_RSA_AES256_CBC_SHA256
  • TLS_RSA_AES256_CBC_SHA
  • TLS_RSA_AES128_CBC_SHA
  • TLS_RSA_3DES_CBC_EDE_SHA
  • TLS_RSA_WITH_RC4_128_MD5
  • TLS_RSA_WITH_RC4_128_SHA

メモ:

最後の2つの暗号の組み合わせはRC4アルゴリズムを使用しており、セキュアではないため推奨されません。 また、TLS_RSA_3DES_CBC_EDE_SHA暗号の組み合わせを非推奨にすることも検討してください。 フラグを使用して、これらすべての非推奨を適用することができます。

DTLS v1.2の構成について詳しくは、Citrix Virtual Apps and Desktopsドキュメントの「アダプティブトランスポート」セクションを参照してください。

前提条件:

バージョン1901以前を使用している場合、次の手順を実行します:

.ICAClientが既に現在のユーザーのホームディレクトリに存在する場合:

  • All\_Regions.iniファイルを削除します

または

  • AllRegions.iniファイルを保持するには、[Network\SSL]セクションの最後に次の行を追加します:
    • Enable_RC4-MD5=
    • Enable_RC4_128_SHA=
    • Enable_TLS_RSA_=

.ICAClientフォルダーが現在のユーザーのホームフォルダーに存在しない場合は、Citrix Workspaceアプリの新規インストールです。 この場合、この機能のデフォルト設定は保持されます。

次の表は、各セットの暗号の組み合わせを示しています: 表1 - 暗号の組み合わせのサポートマトリックス

暗号の組み合わせのサポートマトリックスのイメージ

メモ:

上記のすべての暗号の組み合わせは、FIPSおよびSP800-52-に準拠しています。 最初の2つでのみ(D)TLS1.2接続が許可されています。 暗号の組み合わせのサポートに関する包括的な一覧については、表1 - 暗号の組み合わせのサポートマトリックス を参照してください。

証明書

ストアをSAML認証(AUTHv3プロトコルを使用)で使用すると、次のエラーメッセージが表示されます:「Unacceptable TLS Certificate」。

この問題は、Citrix Workspaceアプリ1906以降を使用する場合に発生します。 トラブルシューティングの手順については、次のKnowledge Centerの記事を参照してください:

お使いのStoreFrontサーバーが使用している証明書と一致する中間証明書を提供できない場合、または中間証明書をインストールしてスマートカードユーザーをサポートする場合、StoreFrontストアを追加する前に次の手順を実行します:

  1. 1つまたは複数のPEM形式の中間証明書を別途入手します。

    ヒント:

    PEM形式の証明書が見つからない場合は、opensslユーティリティを使用してCRT形式の証明書をPEMファイルに変換できます。

  2. ユーザー(通常はルート)がパッケージのインストール時に、以下の手順を実行します:

    1. 1つまたは複数のファイルを$ICAROOT/keystore/intcertsにコピーします。

    2. パッケージをインストールしたユーザーとして次のコマンドを実行します。

      $ICAROOT/util/ctx_rehash

証明機関により発行され、ユーザーデバイスに信頼されていないサーバー証明書を認証するには、StoreFrontストアを追加する前に以下の手順を行ってください:

  1. PEM形式のルート証明書を入手します。 ヒント:この形式の証明書が見つからない場合は、opensslユーティリティを使用してCRT形式の証明書をPEMファイルに変換できます。
  2. パッケージをインストールしたユーザー(通常はルート)が、以下の手順を実行します。
    1. ルート証明書を$ICAROOT/keystore/cacertsにコピーします。

    2. 次のコマンドを実行します:

      $ICAROOT/util/ctx_rehash

HDX™ Enlightened Data Transport Protocol(EDT)の機能強化

以前のリリースでは、HDXoverUDP[優先する]に設定すると、可能な場合、EDT上のデータ転送が使用され、TCPにフォールバックします。

Citrix Workspaceアプリのバージョン2103以降では、セッション画面の保持を有効にすると、EDTとTCPが次のタイミングで並行して試行されます:

  • 初期接続
  • セッション画面の保持による再接続
  • クライアントの自動再接続

この機能強化により、EDTが優先される場合の接続時間が短縮されます。 ただし、必要なベースのUDPトランスポートは利用できず、TCPを使用する必要があります。

デフォルトでは、TCPにフォールバックした後、アダプティブトランスポートは5分ごとにEDTを検索し続けます。

Enlightened Data Transport(EDT)MTU検出

Citrix Workspaceアプリのバージョン2109では、Enlightened Data Transport(EDT)で最大転送単位(MTU)検出がサポートされます。 その結果、EDTプロトコルの信頼性と互換性が向上し、ユーザーエクスペリエンスが向上します。

詳しくは、Citrix Virtual Apps and Desktopsドキュメントの「EDT MTU Discovery」セクションを参照してください。

EDT IPv6のサポート

Citrix Workspaceアプリのバージョン2203以降では、EDT IPv6がサポートされています。

メモ:

IPv6は、TCPとEDTの両方でサポートされています。 ただし、IPv6はTCP over TLSおよびEDT over DTLSではサポートされていません。

DTLSを使用したIPv6 UDPのサポート

以前は、Linux向けCitrix Workspaceアプリと仮想配信エージェント(VDA)の間のDTLS接続は、IPv4ネットワーク経由でのみサポートされていました。

2311リリース以降では、Citrix WorkspaceアプリはIPv4IPv6の両方でのDTLS接続をサポートします。

この機能はデフォルトで有効になっています。

Linux向けCitrix WorkspaceアプリでVDAとのIPv6 DTLS直接接続を使用する場合、追加の構成は不要です。

TLSを使用したIPv6 TCPのサポート

以前は、Linux向けCitrix Workspaceアプリと仮想配信エージェント(VDA)の間のTLS接続は、IPv4ネットワーク経由でのみサポートされていました。

2311リリース以降では、Citrix WorkspaceアプリはIPv4とIPv6の両方でのTLS接続をサポートします。

この機能はデフォルトで有効になっています。

Linux向けCitrix WorkspaceアプリでVDAとのIPv6 TLS直接接続を使用する場合、追加の構成は不要です。

セキュリティで保護された通信