セキュリティ

App Protection

免責事項

App Protectionポリシーはオペレーティングシステムの必要な機能へのアクセスをフィルタリングできます。画面のキャプチャまたはキーボードの操作には、特定のAPI呼び出しが必要です。つまりこの機能は、App Protectionポリシーがカスタムの目的別に構築されたハッカーツールに対しても保護を提供できることを意味します。ただし、オペレーティングシステムの進化によって、画面のキャプチャやキーのログ記録には新しい方法が出てきます。引き続きこうした方法に対応していきますが、特定の構成や展開では完全な保護を保証することはできません。

App Protectionは、Citrix Virtual Apps and Desktopsの使用時にセキュリティを強化する機能です。この機能により、キーロガーや画面キャプチャマルウェアによりクライアントが侵害される可能性が制限されます。App Protectionでは、画面に表示されるユーザーの資格情報や個人情報などの機密情報の流出を防ぎます。この機能を使うと、ユーザーおよび攻撃者がスクリーンショットを撮る、またはキーロガーを使用することにより機密情報を収集、悪用することを防ぐことができます。

メモ:

  • この機能は、tarball、Debian、Red Hat Package Manager(RPM)パッケージを使用してCitrix Workspaceアプリがインストールされている場合にサポートされます。また、サポートされているアーキテクチャはx64とARMHFの2つだけです。
  • この機能は、オンプレミスのCitrix Virtual Apps and Desktops環境でサポートされます。また、StoreFrontでCitrix Virtual Apps and Desktopsサービスを使用する環境でもサポートされます。

App Protectionでは、ライセンスサーバーにアドオンライセンスをインストールする必要があります。Citrix Virtual Desktopsライセンスも必要です。ライセンスについて詳しくは、Citrix Virtual Apps and Desktopsの「構成」セクションを参照してください。

バージョン2108以降、App Protection機能の全機能が使用可能になりました。App Protection機能はアプリとデスクトップセッションをサポートし、デフォルトで有効になっています。ただし、AuthManConfig.xmlファイルでApp Protection機能を構成して、認証マネージャーとSelf-service Plug-inインターフェイスで有効にする必要があります。

このバージョン以降、Mozilla Firefoxの実行中に、保護されたリソースをCitrix Workspaceアプリから起動できます。

前提条件:

App Protectionは、Gnome Display Managerと併せて、次のオペレーティングシステムで最適に機能します:

  • 64ビットUbuntu 18.04、Ubuntu 20.04、およびUbuntu 22.04
  • 64ビットDebian 9およびDebian 10
  • 64ビットCentOS 7
  • 64ビットRHEL 7
  • ARMHF 32ビットRaspberry Pi OS(Debian 10(buster)ベース)
  • ARM64 Raspberry Pi OS(Debian 11(bullseye)ベース)

注:

バージョン2204より前のCitrix Workspaceアプリを使用している場合、App Protection機能はglibc 2.34以降を使用するオペレーティングシステムをサポートしません。

glibc 2.34以降を使用するOSにApp Protection機能を有効にしたCitrix Workspaceアプリをインストールした場合、システムの再起動時にOSの起動に失敗することがあります。OSの起動エラーから回復するには、次のいずれかを実行します:

  • OSを再インストールします。ただし、glibc 2.34以降を使用するOSではApp Protection機能はサポートされていません。
  • OSのリカバリモードに移動し、ターミナルを使用してCitrix Workspaceアプリをアンインストールします。
  • ライブOSから起動し、既存のOSからrm -rf /etc/ld.so.preloadファイルを削除します。

App Protectionコンポーネントのアンインストール:

tarballパッケージを使用してCitrix Workspaceアプリをインストールすると、次のメッセージが表示されます。

「App Protectionコンポーネントをインストールしますか? 警告:この機能を無効にすることはできません。無効にするには、Citrix Workspaceアプリをアンインストールする必要があります。詳しくは、システム管理者に問い合わせてください。[default $INSTALLER_N]:」

Yを入力して、App Protectionコンポーネントをインストールします。

デフォルトでは、App Protectionコンポーネントはインストールされていません。

変更を保存するには、マシンを再起動します。App Protectionは、マシンを再起動した後にのみ正常に機能します。

RPMパッケージへのApp Protectionコンポーネントのインストール:

バージョン2104以降、Citrix WorkspaceアプリのRPMバージョンでApp Protectionがサポートされています。

App Protectionをインストールするには、次の手順を実行します:

  1. Citrix Workspaceアプリをインストールします。
  2. Citrix WorkspaceアプリインストーラーからApp Protectionctxappprotection<version>.rpmパッケージをインストールします。
  3. 変更を保存するには、システムを再起動します。

DebianパッケージへのApp Protectionコンポーネントのインストール:

バージョン2101以降、Citrix WorkspaceアプリのDebianバージョンでApp Protectionがサポートされています。

App Protectionコンポーネントをサイレントインストールするには、Citrix Workspaceアプリをインストールする前に、ターミナルから次のコマンドを実行します:

export DEBIAN_FRONTEND="noninteractive"
sudo debconf-set-selections <<< "icaclient app_protection/install_app_protection select yes"

sudo debconf-show icaclient
* app_protection/install_app_protection: yes

sudo apt install -f ./icaclient_<version>._amd64.deb
<!--NeedCopy-->

Citrix Workspaceアプリではバージョン2106以降、Authentication ManagerインターフェイスとSelf-service Plug-inインターフェイスの両方で、キーロガー対策および画面キャプチャ対策機能を個別に構成できるオプションが導入されます。

Authentication ManagerのApp Protectionの構成:

$ICAROOT/config/AuthManConfig.xmlに移動し、次のようにファイルを編集します:


/opt/Citrix/ICAClient/config$ cat AuthManConfig.xml | grep -i authmananti -A 1
    <key>AuthManAntiScreenCaptureEnabled</key>
    <value>true</value>
    <key>AuthManAntiKeyLoggingEnabled</key>
    <value>true</value>

<!--NeedCopy-->

Self-service Plug-inインターフェイスのApp Protectionの構成:

$ICAROOT/config/AuthManConfig.xmlに移動し、次のようにファイルを編集します:


/opt/Citrix/ICAClient/config$ cat AuthManConfig.xml | grep -i protection -A 4
<!-- Selfservice App Protection configuration -->
    <Selfservice>
      <AntiScreenCaptureEnabled>true</AntiScreenCaptureEnabled>
      <AntiKeyLoggingEnabled>true</AntiKeyLoggingEnabled>
    </Selfservice>

<!--NeedCopy-->

既知の問題:

  • 保護された画面を最小化すると、App Protectionは引き続きバックグラウンドで実行されます。

制限事項:

  • Snap Storeからインストールされたアプリケーションの実行中に、保護されたリソースを起動できない場合があります。回避策としては、Citrix Workspaceアプリのログファイルから問題の原因となっているアプリケーションを特定し、そのアプリケーションを終了します。
  • 保護されたウィンドウのスクリーンショットを撮影しようとすると、バックグラウンドの保護されていないアプリを含む画面全体が灰色に表示されていました。

Citrix Workspaceアプリの非アクティブタイムアウト

非アクティブタイムアウト機能では、管理者が設定した値に基づいてユーザーがCitrix Workspaceアプリからサインアウトされます。2303バージョン以降、管理者はユーザーがCitrix Workspaceアプリから自動的にサインアウトされるまでのアイドル時間を指定できます。Citrix Workspaceアプリウィンドウ内で、指定された時間内にマウス、キーボード、またはタッチによるアクティビティが発生しなくなると、自動的にサインアウトされます。無操作状態によるタイムアウトは、既に実行中のCitrix Virtual Apps and DesktopsおよびCitrix DaaSセッションまたはStoreFrontストアには影響しません。

非アクティブタイムアウト値は、10分から1440分まで設定できます。このタイムアウト値を変更する場合の間隔は、5の倍数にする必要があります。例:10、15、20、または25分。デフォルトでは、非アクティブタイムアウトは構成されていません。

注:

この機能は、クラウド展開でのみ適用できます。

前提条件として、AuthManConfig.xmlファイルでこの機能を有効にする必要があります。$ICAROOT/config/AuthManConfig.xmlに移動し、次のエントリを追加します:

<key>ITOEnabled</key>
<value>true</value>
<!--NeedCopy-->

管理者は、PowerShellモジュールを使用してinactivityTimeoutInMinutesプロパティを構成できます。

クライアントマシンでInactivityTimeoutInMinutesを構成する手順:

  1. PowerShellモジュールを使用したCitrix Workspaceの構成をダウンロードします。
  2. このモジュールを使用するには、APIのクライアントIDとシークレットを生成する必要があります。資格情報の取得とCitrix Cloud APIの使用開始について詳しくは、「Get started with Citrix Cloud APIs(Citrix Cloud APIの使用を開始する)」を参照してください。
  3. このモジュールをインポートするには、 Citrix.Workspace.StoreConfigsへのパスをImport-Moduleコマンドレットに渡します。つまり、このファイルを含むディレクトリから Import-Module ./Citrix.Workspace.StoreConfigsを実行します。
  4. モジュールがインポートされたら、Get-Help -Fullを実行して特定のコマンドレットのヘルプを取得します。たとえば、次のようになります:Get-Help Set-WorkspaceCustomConfigurations -Full
  5. たとえば、次のコマンドを実行してinactivityTimeoutInMinutesを1時間に設定します。

    Set-WorkspaceCustomConfigurations -WorkspaceUrl -ClientId -ClientSecret -InactivityTimeoutInMinutes "60"
    <!--NeedCopy-->
    

    すべてのクライアントで上記のコマンドを実行する必要はありません。一度だけ実行してテストする必要があります。

エンドユーザーエクスペリエンスは次のとおりです:

  • サインアウトの3分前に通知が表示され、サインインしたままにするか、サインアウトするかを選択できます。
  • ユーザーは [サインイン状態を維持] をクリックして通知を閉じ、アプリの使用を続行できます。その場合、無通信タイマーは構成された値にリセットされます。[サインアウト] をクリックして、現在のストアのセッションを終了することもできます。

注:

非アクティブタイムアウト機能は、Waylandをデフォルトのグラフィックプロトコルとして使用するディストリビューションをサポートしていません。Waylandを使用しているディストリビューションでは、次のいずれかのコメントを解除します:/etc/gdm/custom.confまたは/etc/gdm3/custom.confWaylandEnable=false

永続ログイン

Citrix Workspaceアプリ2303バージョン以降では、永続ログイン機能により、管理者が構成した期間(2~365日)までログインしたままにすることができます。この機能が有効になっている場合、設定期間中にCitrix Workspaceアプリのログイン資格情報を入力する必要はありません。

この機能により、Citrix DaaSセッションへのSSOは、最大365日まで間延長されます。この拡張機能は、長期有効トークンの有効期間に基づいています。資格情報は、デフォルトで4日間または有効期間のいずれか短い方の期間、キャッシュされます。その後、Citrix Workspaceアプリへの接続で4日以内にアクティブになったときに延長されます。

永続ログイン機能の構成

管理者は、次の手順を実行して、Workspace環境で永続ログインを構成する必要があります:

  1. Citrix Cloudにサインインします。
  2. Citrix Cloudコンソールで、画面の左上隅にあるメニューをクリックします。
  3. [ワークスペース構成] > [カスタマイズ] > [基本設定] を選択します。
  4. [Workspaceアプリの再認証期間] まで下にスクロールします。
  5. [現在の再認証期間] フィールドの横にある [編集] をクリックします。
  6. [現在の再認証期間] フィールドに必要な日数を入力します。
  7. [現在の再認証期間] フィールドには2日以上を入力する必要があります。

詳しくは、次の画像の [Reauthentication Period for Workspace App](Workspaceアプリの再認証期間)セクションの指示を参照してください:

Workspaceアプリの再認証期間

強化された認証のエクスペリエンス

永続ログインウィンドウは、セルフサービスウィンドウ内に組み込まれています。

  1. Citrix Workspaceアプリにアクセスします。 認証ウィンドウが表示されます。

    認証ウィンドウ

  2. 資格情報を入力してサインインします。 受け入れのための[許可]プロンプトにリダイレクトされます。

    [許可]ウィンドウ

  3. [許可] をクリックします。

注:

同意に対して [拒否] を選択すると、ログインプロンプトが再度表示され、24時間ごとにCitrix Workspaceアプリにサインインする必要があります。

永続ログイン機能の無効化

管理者は、Citrix Cloud UIまたはAuthManConfig.xml ファイル内で、永続ログイン機能を無効にできます。 ただし、AuthManConfig.xmlファイルに設定した値は、Citrix Cloud UIに設定した値を上書きします。

Citrix Cloud UIの使用

  1. Citrix Cloudにサインインします。
  2. Citrix Cloudコンソールで、画面の左上隅にあるメニューをクリックします。
  3. [ワークスペース構成] > [カスタマイズ] > [基本設定] を選択します。
  4. [Workspaceアプリの再認証期間] まで下にスクロールします。
  5. [現在の再認証期間] フィールドの横にある [編集] をクリックします。
  6. [現在の再認証期間] フィールドに1日を入力します。

AuthManConfig.xmlファイルの使用

永続ログイン機能を無効にするには、次の手順を実行します

  1. <ICAROOT>/config/AuthManConfig.xmlファイルに移動します。
  2. 値を次のように設定します:

    <AuthManLite>
        <primaryTokenLifeTime>1.00:00:00</primaryTokenLifeTime>
        <secondaryTokenLifeTime>0.01:00:00</secondaryTokenLifeTime>
        <longLivedTokenSupport>true</longLivedTokenSupport>
        <nativeLoggingEnabled>true</nativeLoggingEnabled>
        <platform>linux</platform>
        <saveTokens>true</saveTokens>
        <compressedGroupsEnabled>true</compressedGroupsEnabled>
    </AuthManLite>
    <!--NeedCopy-->
    
セキュリティ