セキュリティ

サイトとCitrix Workspaceアプリ間の通信をセキュアに保護するには、以下の一連のセキュリティ技術を使用します:

  • SOCKSプロキシサーバーまたはセキュアプロキシサーバー(セキュリティプロキシサーバー、HTTPSプロキシサーバーまたはTLSトンネリングプロキシサーバーとも呼ばれます)。プロキシサーバーでネットワークから外部へのアクセスや外部からネットワークへのアクセスを制限して、Citrix Workspaceアプリとサーバー間の接続を制御できます。Citrix Workspaceアプリは、SOCKSプロトコルとセキュアプロキシプロトコルをサポートしています。
  • Citrix Secure Web GatewayまたはTransport Layer Security(TLS)プロトコルによるSSL Relayソリューション。TLS Version 1.0から1.2がサポートされます。
  • ファイアウォール。ネットワークファイアウォールは、送信先アドレスとポート番号に基づいてパケットを通過させたりブロックしたりできます。サーバーの内部IPアドレスを外部インターネットアドレスにマップするネットワークファイアウォール(つまりNAT(Network Address Translation:ネットワークアドレス変換))を介してCitrix Workspaceアプリを使用する場合は、外部アドレスを構成します。

プロキシサーバー経由の接続

プロキシサーバーは、ネットワーク内部から外部への、および外部から内部へのアクセスを制限して、Citrix WorkspaceアプリとCitrix Virtual AppsまたはCitrix Virtual Desktopsとの間の接続を制御するために使います。Citrix Workspaceアプリは、SOCKSプロトコル、Citrix Secure Web GatewayおよびCitrix SSL Relay、セキュアプロキシプロトコル、およびWindows NTチャレンジ/レスポンス(NTLM)認証をサポートしています。

サポートされているプロキシの種類の一覧は、Trusted_Regions.iniとUntrusted_Regions.iniの内容によってAuto、None、およびWpadの種類に制限されます。SOCKS、Secure、またはScriptといった種類を使用する場合は、上記のファイルを編集して、許可された一覧に種類を追加します。

注:

確実にセキュアな接続を実行するには、TLSを有効にします。

セキュアプロキシサーバー経由の接続

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

重要:

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

Citrix Secure Web GatewayまたはCitrix SSL Relayでの接続

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は、暗号化の情報処理規格です。

Citrix Secure Web Gatewayによる接続

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

Citrix WorkspaceアプリがCitrix Secure Web Gatewayサーバーと通信するときは、リモートのWeb Interfaceサーバーで構成されている設定が使用されます。Citrix Workspaceアプリをサポートするプロキシサーバー設定の構成については、Web Interfaceのドキュメントを参照してください。

Citrix Secure Web Gateway Proxyがセキュリティで保護されたネットワーク内のサーバーにインストールされている場合は、Citrix Secure Web Gateway Proxyをリレーモードで使用できます。詳しくは、Citrix Virtual Apps(Citrix Secure Web Gateway)のドキュメントを参照してください。

ただし、リレーモードで使用する場合、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)をドメイン名といいます。

Citrix SSL Relayを使用する接続

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

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

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

  • TLSが有効なユーザーデバイスとサーバー間の通信。
  • Web InterfaceによるCitrix Virtual AppsサーバーとWebサーバー間の通信。

SSL Relayによるセキュリティ機能については、Citrix Virtual Appsのドキュメントを参照してください。TLS暗号化を使用するためのWeb Interfaceの構成については、Web Interfaceのドキュメントを参照してください。

TLSの構成および有効化

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

  • MinimumTLS=1.0
  • MaximumTLS=1.2

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

注1:

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

注2:

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

Linux向けCitrix Workspaceアプリは、DTLS 1.0およびTLS 1.0、1.1、1.2と次の暗号の組み合わせをサポートします:

  • RSA+AES256-SHA(RSAによる鍵交換、AES 256による暗号化、SHA-1によるダイジェスト)
  • RSA+AES256-SHA256(RSAによる鍵交換、AES 256による暗号化、SHA-256によるダイジェスト)
  • RSA+AES128-SHA(RSAによる鍵交換、AES 128による暗号化、SHA-1によるダイジェスト)
  • RSA+DES-CBC3-SHA(RSAによる鍵交換、トリプルDESによる暗号化、SHA-1によるダイジェスト)
  • RSA+RC4128-MD5(RSAによる鍵交換、RC4 128による暗号化、MD5によるダイジェスト)
  • RSA+RC4128-SHA(RSAによる鍵交換、RC4 128による暗号化、SHA-1によるダイジェスト)
  • RSA+AES128_GCM+SHA256(RSAによる鍵交換、AES 128による暗号化、SHA-256によるダイジェスト)
  • RSA+AES256_GCM+SHA384(RSAによる鍵交換、AES 256による暗号化、SHA-384によるダイジェスト)
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(楕円曲線ディフィーヘルマン鍵共有、RSAによる認証、AES 256およびGCM SHA 384によるダイジェスト)
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384(楕円曲線ディフィーヘルマン鍵共有、認証用のRSA、AES 256およびCBC SHA 384によるダイジェスト)
  • TLS_RSA_AES256_CBC_SHA256(RSAによる認証、AES 256およびCBC SHA 256によるダイジェスト)

上に挙げた標準SSL/TLS暗号の組み合わせで有効な暗号キーサイズは、以下のように定義されています。

  • RC4アルゴリズム:128ビット(ストリーム暗号)
  • トリプルDESアルゴリズム:3×64ビット(有効サイズ、3×56 = 168ビット)(ブロックサイズ、64ビット)
  • AESアルゴリズム:128ビットまたは256ビット(ブロックサイズ、128ビット)
  • RSA鍵交換および認証では、サポートされる鍵長(モジュラス)は1,024ビットから4,096ビットの範囲です。
  • ECDH鍵交換の場合、サポートされる楕円曲線は、NIST P-256およびNIST P-384(256ビットおよび384ビットの鍵長)です。

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

  • SSLCiphers=GOV

これがデフォルト値です。その他の認識される値は、COMおよびALLです。 :TLSバージョン構成のように、selfserviceまたはstorebrowseを開始した後にこれらの値を変更する場合、「 killall AuthManagerDaemon ServiceRecord selfservice storebrowse」と入力する必要があります。

ユーザーデバイスへのルート証明書のインストール

TLSを使うには、サーバー証明書の証明機関の署名を確認するためのルート証明書がユーザーデバイスにインストールされている必要があります。Citrix Workspaceアプリでは、デフォルトで以下の証明書がサポートされます。

証明書 証明機関
Class4PCA_G2_v2.pem VeriSign Trust Network
Class3PCA_G2_v2.pem VeriSign Trust Network
BTCTRoot.pem Baltimore Cyber Trust Root
GTECTGlobalRoot.pem GTE Cyber Trust Global Root
Pcs3ss_v4.pem Class 3 Public Primary Certification Authority
GeoTrust_Global_CA.pem GeoTrust
DigiCertGlobalRootCA.pem DigiCert Global Root CA

これらの証明書を使用する場合は、ルート証明書をユーザーデバイスにインストールする必要はありません。ただし、上記の証明機関以外の証明書を使用する場合は、該当する証明機関からルート証明書を取得して、各ユーザーデバイスにインストールする必要があります。

Linux向けCitrix Workspaceアプリは、ビット長1024、2048および、3072のRSAキーをサポートします。さらに、ビット長4096のRSAキーを持つルート証明書がサポートされます。

注:

Linux向けCitrix Workspaceアプリ1808以降は、次の手順で説明されているctx_rehashツールを使用します。

ルート証明書の使用

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

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

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

      $ICAROOT/util/ctx_rehash

中間証明書の使用

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

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

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

      $ICAROOT/util/ctx_rehash

スマートカードサポートの有効化

Linux向けCitrix Workspaceアプリは、さまざまな種類のスマートカードリーダーをサポートしています。サーバーとCitrix Workspaceアプリの両方でスマートカードのサポートを有効にすると、以下の機能が有効になります:

  • スマートカードによるログオン認証。スマートカードを使って、Citrix Virtual Appsサーバーにログオンするユーザーを認証します。
  • スマートカード対応アプリケーションのサポート。スマートカード対応の公開アプリケーションを使って、ローカルのスマートカードリーダーにアクセスできます。

スマートカードのデータは機密性の高い情報であるため、TLSなどの信頼された証明機関から認証されたセキュリティアーキテクチャを経由して転送する必要があります。

次に、スマートカードサポートを使用するための条件を示します。

  • スマートカードリーダーと公開アプリケーションが、業界標準のPC/SC規格に準拠している必要があります。
  • 使用するスマートカードに適切なドライバーをインストールします。
  • PC/SC Liteパッケージをインストールします。
  • ミドルウェアがPC/SCを使ってスマートカードにアクセスするためのpcscdデーモンをインストールして実行します。
  • 64ビットシステムには、64ビットと32ビットの両バージョンの”libpscslite1”パッケージがある必要があります。

重要: SunRayサーバーソフトウェアVersion 2.0以降でSunRayターミナルを使用している場合は、PC/SCバイパスパッケージをインストールします。このパッケージは、SunのWebサイト( http://www.sun.com/)からダウンロードできます。

サーバー上でのスマートカードサポートの構成について詳しくは、Citrix Virtual Apps and Desktopsのドキュメントを参照してください。

Citrix Gateway経由の接続

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

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

  1. 管理者により提供されたCitrix GatewayのURLを指定します。これを行うには、以下のいずれかの手順に従います:

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

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

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

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

暗号化の更新

この機能は、安全な通信プロトコルにとって重要な変更です。接頭辞がTLS_RSA_の暗号の組み合わせは、Forward Secrecyを提供せず、強度が低いと見なされています。これらの暗号の組み合わせは、Citrix Receiverバージョン13.10では廃止されています。以前のバージョンでの使用はオプションです。

このリリースでは、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)

暗号の組み合わせの構成

異なる暗号の組み合わせを有効にするには、パラメーター「SSLCiphers」の値をALL、COM、または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)

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

廃止された暗号の組み合わせの構成

重要:

バージョン1903以降は、以下の3つの暗号の組み合わせのみがサポートされる予定です:

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 – GOV/ALL
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 – GOV/ALL
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA – COM/ALL

このトピック「廃止された暗号の組み合わせの構成」は、バージョン1901以前にのみ適用されます。バージョン1903以降では、高度な暗号の組み合わせTLS_ECDHE_RSA_のみがサポートされています。詳しくは、「暗号化の更新」を参照してください。このセクションは参考用であり、バージョン1901以前のクライアントを使用しているお客様のみを対象としています。以下の暗号の組み合わせは廃止されており、後方互換性もありません。

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

廃止された暗号の組み合わせを使用できるようにするためのフラグが作成されました。Linux向けCitrix Workspaceアプリ1808では、これらのフラグはデフォルトで有効になっていますが、AESまたは3DESアルゴリズムを使用した場合、デフォルトでこれらの非推奨の暗号の組み合わせを適用することはありません。ただし、フラグを変更して使用することにより、非推奨をより厳密に適用することができます。

セキュリティを強化するには、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の構成については、「アダプティブトランスポート」を参照してください。

前提要件

クライアントでこの機能を構成するには、次の手順を実行します:

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

  • All_Regions.iniファイルを削除します

または

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

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

廃止された暗号の組み合わせを構成するには

  1. $ICAROOT/config/All_Regions.iniファイルを開きます。
  2. Network\SSLセクションで、以下の3つのフラグを使用して廃止された暗号の組み合わせを有効または無効にします:

    • Enable_TLS_RSA_:デフォルトでは、Enable_TLS_RSA_フラグはTrueに設定されています。 Enable_TLS_RSA_フラグをTrueに設定すると、次の暗号の組み合わせが表示されます:

      • 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

    重要:

    他2つの暗号の組み合わせ(Enable_RC4-MD5とEnable_RC4_128_SHA)を使用するには、Enable_TLS_RSA_フラグをTrueに設定します。

    • Enable_RC4-MD5:デフォルトでEnable_RC4-MD5フラグはFalseに設定されています。 RC4-MD5暗号の組み合わせを有効にするには、このフラグをTrueに設定します。
    • Enable_RC4_128_SHA:デフォルトでEnable_RC4_128_SHAフラグはFalseに設定されています。 RC4_128_SHA暗号の組み合わせを有効にするには、このフラグをTrueに設定します。
  3. ファイルを保存します。

次の表は、各セットの暗号の組み合わせを示しています:

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

表1 - 暗号の組み合わせのサポートマトリックス

注:

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