セキュリティに関する考慮事項とベストプラクティス
注:
組織は、規制要件を満たすために特定のセキュリティ標準に準拠する必要がある場合があります。このようなセキュリティ標準は時間とともに変化するため、このドキュメントではこの主題については触れていません。セキュリティ標準とCitrix製品に関する最新情報については、https://www.citrix.com/security/を参照してください。
セキュリティのベストプラクティス
環境内のすべてのマシンをセキュリティパッチで最新の状態に保ちます。利点の1つは、シンクライアントをターミナルとして使用できるため、このタスクが簡素化されることです。
環境内のすべてのマシンをウイルス対策ソフトウェアで保護します。
Windowsマシンには、Microsoft Enhanced Mitigation Experience Toolkit (EMET) などのプラットフォーム固有のマルウェア対策ソフトウェアの使用を検討してください。一部の機関は、規制された環境内でEMETの最新のMicrosoftサポートバージョンを使用することを推奨しています。Microsoftによると、EMETは一部のソフトウェアと互換性がない場合があるため、本番環境に展開する前にアプリケーションで十分にテストする必要があります。XenAppおよびXenDesktopは、デフォルト構成のEMET 5.5でテストされています。現在、Virtual Delivery Agent (VDA) がインストールされているマシンでのEMETの使用は推奨されていません。
環境内のすべてのマシンを、必要に応じてエンクレーブ境界を含め、境界ファイアウォールで保護します。
従来の環境をこのリリースに移行する場合、既存の境界ファイアウォールを再配置したり、新しい境界ファイアウォールを追加したりする必要がある場合があります。たとえば、データセンター内の従来のクライアントとデータベースサーバーの間に境界ファイアウォールがあるとします。このリリースを使用する場合、その境界ファイアウォールは、仮想デスクトップとユーザーデバイスが一方にあり、データセンター内のデータベースサーバーとDelivery Controllerがもう一方にあるように配置する必要があります。したがって、データセンター内にデータベースサーバーとControllerを格納するためのエンクレーブを作成することを検討してください。また、ユーザーデバイスと仮想デスクトップの間に保護を設けることも検討してください。
環境内のすべてのマシンは、パーソナルファイアウォールによって保護されている必要があります。コアコンポーネントとVDAをインストールする際、Windowsファイアウォールサービスが検出された場合(ファイアウォールが有効になっていない場合でも)、コンポーネントと機能の通信に必要なポートを自動的に開くように選択できます。これらのファイアウォールポートを手動で構成することも選択できます。別のファイアウォールを使用する場合は、ファイアウォールを手動で構成する必要があります。
注: TCPポート1494および2598はICAおよびCGPに使用されるため、データセンター外のユーザーがアクセスできるようにファイアウォールで開かれている可能性が高いです。Citrixは、管理インターフェイスが誤って攻撃に対して開かれたままになる可能性を避けるため、これらのポートを他の目的で使用しないことを推奨します。ポート1494および2598は、Internet Assigned Number Authority (https://www.iana.org/) に正式に登録されています。
すべてのネットワーク通信は、セキュリティポリシーに合わせて適切に保護および暗号化する必要があります。Microsoft Windowsコンピューター間のすべての通信はIPSecを使用して保護できます。その方法の詳細については、オペレーティングシステムのドキュメントを参照してください。さらに、ユーザーデバイスとデスクトップ間の通信はCitrix SecureICAによって保護されており、デフォルトで128ビット暗号化に構成されています。SecureICAは、デリバリーグループの作成または更新時に構成できます。
注:
Citrix SecureICAはICA/HDXプロトコルの一部ですが、Transport Layer Security (TLS) のような標準準拠のネットワークセキュリティプロトコルではありません。ユーザーデバイスとデスクトップ間のネットワーク通信はTLSを使用して保護することもできます。TLSを構成するには、Transport Layer Security (TLS)を参照してください。
アカウント管理にはWindowsのベストプラクティスを適用してください。Machine Creation ServicesまたはProvisioning Servicesによって複製される前に、テンプレートまたはイメージ上にアカウントを作成しないでください。保存された特権ドメインアカウントを使用してタスクをスケジュールしないでください。共有Active Directoryマシンアカウントを手動で作成しないでください。これらの慣行は、マシン攻撃がローカルの永続的なアカウントパスワードを取得し、それらを使用して他のユーザーに属するMCS/PVS共有イメージにログオンするのを防ぐのに役立ちます。
アプリケーションのセキュリティ
非管理者ユーザーが悪意のある操作を実行するのを防ぐため、VDAホストおよびローカルのWindowsクライアントで、インストーラー、アプリケーション、実行可能ファイル、スクリプトに対してWindows AppLockerルールを構成することをお勧めします。
ユーザー権限の管理
ユーザーには必要な機能のみを付与してください。Microsoft Windowsの特権は、通常の方法でデスクトップに適用され続けます。ユーザー権利の割り当てを通じて特権を構成し、グループポリシーを通じてグループメンバーシップを構成します。このリリースの利点の1つは、デスクトップが保存されているコンピューターに対する物理的な制御を付与することなく、ユーザーにデスクトップへの管理者権限を付与できることです。
デスクトップの特権を計画する際には、次の点に注意してください。
- デフォルトでは、特権のないユーザーがデスクトップに接続すると、自分のユーザーデバイスのタイムゾーンではなく、デスクトップを実行しているシステムのタイムゾーンが表示されます。デスクトップを使用する際にユーザーがローカル時刻を表示できるようにする方法については、「基本設定の変更」を参照してください。
- デスクトップの管理者であるユーザーは、そのデスクトップを完全に制御できます。デスクトップが専用デスクトップではなくプールされたデスクトップである場合、そのユーザーは、将来のユーザーを含む、そのデスクトップの他のすべてのユーザーに関して信頼されなければなりません。デスクトップのすべてのユーザーは、この状況によってデータセキュリティに永続的なリスクが生じる可能性があることを認識する必要があります。この考慮事項は、単一ユーザーのみが使用する専用デスクトップには適用されません。そのユーザーは、他のデスクトップの管理者であってはなりません。
- デスクトップの管理者であるユーザーは、悪意のあるソフトウェアを含むソフトウェアをそのデスクトップにインストールできるのが一般的です。また、ユーザーはデスクトップに接続されているネットワーク上のトラフィックを監視または制御できる可能性もあります。
一部のアプリケーションは、管理者向けではなくユーザー向けであるにもかかわらず、デスクトップの特権を必要とします。これらのユーザーは、セキュリティリスクについて十分に認識していない可能性があります。
これらのアプリケーションは、データが機密性の高いものでない場合でも、機密性の高いアプリケーションとして扱ってください。セキュリティリスクを軽減するために、次のアプローチを検討してください。
- 2要素認証を強制し、アプリケーションのシングルサインオンメカニズムを無効にする
- コンテキストアクセスポリシーを適用する
- アプリケーションを専用デスクトップに公開します。アプリケーションを共有ホスト型デスクトップに公開する必要がある場合、その共有ホスト型デスクトップには他のアプリケーションを公開しないでください。
- デスクトップの特権がそのデスクトップにのみ適用され、他のコンピューターには適用されないようにします。
- アプリケーションのセッション録画を有効にします。また、アプリケーション内およびWindows自体で他のセキュリティログ記録機能を有効にします。
- XenApp and XenDesktop® を構成して、アプリケーションで使用される機能を制限するようにします (例: クリップボード、プリンター、クライアントドライブ、USBリダイレクト)。
- アプリケーションのセキュリティ機能を有効にします。ユーザーの要件に厳密に一致するように制限し、それ以上は許可しません。
- Windows のセキュリティ機能をユーザーの要件に厳密に一致するように構成します。デスクトップにその単一のアプリケーションのみが公開されている場合、これはよりシンプルな構成になります。たとえば、制限的な AppLocker 構成を使用できます。ファイルシステムへのアクセスを制御します。
- 将来的にデスクトップ権限が不要になるように、アプリケーションを再構成、アップグレード、または置き換える計画を立てます。
これらのアプローチは、デスクトップ権限を必要とするアプリケーションからすべてのセキュリティリスクを排除するものではありません。
ログオン権限の管理
ログオン権限は、ユーザーアカウントとコンピューターアカウントの両方に必要です。Microsoft Windows の特権と同様に、ログオン権限は通常の方法でデスクトップに適用され続けます。ユーザー権利の割り当てを通じてログオン権限を構成し、グループポリシーを通じてグループメンバーシップを構成します。
Windows のログオン権限は次のとおりです: ローカルでのログオン、リモートデスクトップサービス経由でのログオン、ネットワーク経由でのログオン (ネットワークからこのコンピューターにアクセス)、バッチジョブとしてのログオン、およびサービスとしてのログオン。
コンピューターアカウントの場合、コンピューターが必要とするログオン権限のみを付与します。「ネットワークからこのコンピューターにアクセス」のログオン権限が必要です。
- VDA で、Delivery Controller のコンピューターアカウントに対して
- Delivery Controller で、VDA のコンピューターアカウントに対して。「Active Directory OU ベースのコントローラー検出」(/ja-jp/categories/solution_content/implementation_guides/ad-ou-controller-discovery.html)を参照してください。
- StoreFront™ サーバーで、同じ StoreFront サーバーグループ内の他のサーバーのコンピューターアカウントに対して
ユーザーアカウントの場合、ユーザーが必要とするログオン権限のみを付与します。
Microsoft によると、デフォルトでは、Remote Desktop Users グループには「リモートデスクトップサービス経由でのログオンを許可」のログオン権限が付与されています (ドメインコントローラーを除く)。
組織のセキュリティポリシーで、このグループをそのログオン権限から削除する必要がある、と明示的に規定されている場合があります。次のアプローチを検討してください。
- サーバーOS用Virtual Delivery Agent (VDA)は、Microsoft Remote Desktop Servicesを使用します。Remote Desktop Usersグループを制限付きグループとして構成し、Active Directoryグループポリシーを介してグループのメンバーシップを制御できます。詳細については、Microsoftのドキュメントを参照してください。
- デスクトップOS用VDAを含むXenApp®およびXenDesktopのその他のコンポーネントでは、Remote Desktop Usersグループは不要です。したがって、これらのコンポーネントでは、Remote Desktop Usersグループにログオン権限「リモートデスクトップサービスを介したログオンを許可」は必要ありません。削除できます。さらに、
- それらのコンピューターをRemote Desktop Services経由で管理する場合は、そのような管理者がすべてAdministratorsグループのメンバーであることを確認してください。
- それらのコンピューターをRemote Desktop Services経由で管理しない場合は、それらのコンピューターでRemote Desktop Services自体を無効にすることを検討してください。
ログオン権限「リモートデスクトップサービスを介したログオンを拒否」にユーザーとグループを追加することは可能ですが、ログオン拒否権限の使用は一般的に推奨されません。詳細については、Microsoftのドキュメントを参照してください。
ユーザー権限の構成
Delivery Controller™のインストールにより、以下のWindowsサービスが作成されます。
- Citrix AD アイデンティティ サービス (NT SERVICE\CitrixADIdentityService): 仮想マシンのマイクロソフト Active Directory コンピューターアカウントを管理します。
- Citrix Analytics (NT SERVICE\CitrixAnalytics): サイト管理者が承認した場合、Citrixが使用するサイト構成の使用状況情報を収集します。その後、製品の改善に役立てるため、この情報をCitrixに送信します。
- シトリックス App ライブラリ (NT SERVICE\CitrixAppLibrary): AppDiskの管理とプロビジョニング、AppDNA統合、およびApp-Vの管理をサポートします。
- Citrix Broker Service (NT SERVICE\CitrixBrokerService): ユーザーが利用できる仮想デスクトップまたはアプリケーションを選択します。
- Citrix構成ログサービス (NT SERVICE\CitrixConfigurationLogging): 管理者がサイトに対して行ったすべての構成変更およびその他の状態変更を記録します。
- シトリックス構成サービス (NT SERVICE\CitrixConfigurationService): 共有構成のためのサイト全体のリポジトリ。
- Citrix デリゲート管理サービス (NT SERVICE\CitrixDelegatedAdmin): 管理者に付与された権限を管理します。
- Citrix 環境テストサービス (NT SERVICE\CitrixEnvTest): 他のデリバリーコントローラーサービスのセルフテストを管理します。
- Citrix Host Service (NT SERVICE\CitrixHostService): XenAppまたはXenDesktopの展開で使用されるハイパーバイザーインフラストラクチャに関する情報を保存し、コンソールがハイパーバイザープール内のリソースを列挙するために使用する機能も提供します。
- Citrix マシン作成サービス (NT SERVICE\CitrixMachineCreationService): デスクトップ仮想マシンの作成をオーケストレーションします。
- Citrix Monitor Service (NT SERVICE\CitrixMonitor): XenAppまたはXenDesktopのメトリックを収集し、履歴情報を保存し、トラブルシューティングおよびレポートツール用のクエリインターフェイスを提供します。
- シトリックス ストアフロント サービス (NT SERVICE\ CitrixStorefront): StoreFrontの管理をサポートします。(StoreFrontコンポーネント自体の一部ではありません。)
- シトリックス ストアフロント 特権管理サービス (NT SERVICE\CitrixPrivilegedService): StoreFrontの特権管理操作をサポートします。(StoreFrontコンポーネント自体の一部ではありません。)
- Citrix 構成同期サービス (NT SERVICE\CitrixConfigSyncService): メインサイトデータベースからローカルホストキャッシュに構成データを伝播します。
- Citrix High Availability Service (NT SERVICE\CitrixHighAvailabilityService): メインサイトデータベースが利用できない場合に、ユーザーが利用できる仮想デスクトップまたはアプリケーションを選択します。
Delivery Controllerのインストールでは、以下のWindowsサービスも作成されます。これらは、他のCitrixコンポーネントと一緒にインストールされた場合にも作成されます。
- シトリックス診断機能COMサーバー (NT SERVICE\CdfSvc): Citrixサポートが使用する診断情報の収集をサポートします。
- Citrix Telemetry Service (NT SERVICE\CitrixTelemetryService): Citrixによる分析のために診断情報を収集し、管理者が分析結果と推奨事項を確認してサイトの問題を診断できるようにします。
Delivery Controllerのインストールでは、以下のWindowsサービスも作成されます。これは現在使用されていません。有効になっている場合は、無効にしてください。
- シトリックスリモートブローカープロバイダー (NT SERVICE\XaXdCloudProxy)
Delivery Controllerのインストールでは、以下のWindowsサービスも作成されます。これらは現在使用されていませんが、有効にする必要があります。無効にしないでください。
- Citrix Orchestration Service (NT SERVICE\CitrixOrchestration)
- Citrix Trust Service (NT SERVICE\CitrixTrust)
Citrix Storefront Privileged Administration Serviceを除き、これらのサービスには「サービスとしてログオン」のログオン権限と、「プロセスのメモリクォータの調整」、「セキュリティ監査の生成」、「プロセスレベルトークンの置き換え」の特権が付与されています。これらのユーザー権限を変更する必要はありません。これらの特権はDelivery Controllerでは使用されず、自動的に無効になります。
サービス設定の構成
Citrix Storefront Privileged AdministrationサービスとCitrix Telemetry Serviceを除き、上記のユーザー権限の構成セクションに記載されているDelivery ControllerのWindowsサービスは、NETWORK SERVICE IDとしてログオンするように構成されています。これらのサービス設定を変更しないでください。
Citrix Storefront Privileged Administrationサービスは、Local System (NT AUTHORITY\SYSTEM) としてログオンするように構成されています。これは、通常サービスでは利用できないDelivery Controller StoreFrontの操作 (Microsoft IISサイトの作成を含む) に必要です。そのサービス設定を変更しないでください。
Citrix Telemetry Serviceは、サービス固有のIDとしてログオンするように構成されています。
Citrix Telemetry Serviceは無効にできます。このサービスと、すでに無効になっているサービスを除き、他のDelivery Controller Windowsサービスを無効にしないでください。
レジストリ設定の構成
VDAファイルシステムで8.3形式のファイル名とフォルダーの作成を有効にする必要はなくなりました。レジストリキー NtfsDisable8dot3NameCreation を構成して、8.3形式のファイル名とフォルダーの作成を無効にできます。これは、fsutil.exe behavior set disable8dot3 コマンドを使用しても構成できます。
展開シナリオのセキュリティへの影響
ユーザー環境には、組織によって管理されておらず、完全にユーザーの制御下にあるユーザーデバイス、または組織によって管理および運用されているユーザーデバイスのいずれかを含めることができます。これら2つの環境におけるセキュリティ上の考慮事項は、一般的に異なります。
管理対象ユーザーデバイス
管理対象ユーザーデバイスは管理制御下にあります。それらは、お客様自身の制御下にあるか、信頼する別の組織の制御下にあります。ユーザーデバイスを直接構成してユーザーに提供することも、単一のデスクトップが全画面表示モードのみで実行されるターミナルを提供することもできます。すべての管理対象ユーザーデバイスについて、上記の一般的なセキュリティのベストプラクティスに従ってください。このリリースには、ユーザーデバイスに必要なソフトウェアが最小限であるという利点があります。
管理対象ユーザーデバイスは、全画面表示モードのみまたはウィンドウモードで使用するように構成できます。
- 全画面表示モードのみ: ユーザーは通常のWindowsログオン画面でログオンします。同じユーザー資格情報が、このリリースに自動的にログオンするために使用されます。
- ユーザーはデスクトップをウィンドウで表示します: ユーザーはまずユーザーデバイスにログオンし、次にリリースに付属のWebサイトを通じてこのリリースにログオンします。
管理されていないユーザーデバイス
信頼できる組織によって管理および運用されていないユーザーデバイスは、管理制御下にあるとは見なされません。たとえば、ユーザーが自分のデバイスを入手して構成することを許可する場合がありますが、ユーザーは上記の一般的なセキュリティのベストプラクティスに従わない可能性があります。このリリースには、管理されていないユーザーデバイスにデスクトップを安全に配信できるという利点があります。これらのデバイスには、キーロガーや同様の入力攻撃を防ぐための基本的なウイルス対策保護が引き続き必要です。
データストレージに関する考慮事項
このリリースを使用する場合、ユーザーが物理的に制御しているユーザーデバイスにデータを保存することを防ぐことができます。ただし、ユーザーがデスクトップにデータを保存することの影響については、引き続き考慮する必要があります。ユーザーがデスクトップにデータを保存することは良い習慣ではありません。データは、適切に保護できるファイルサーバー、データベースサーバー、またはその他のリポジトリに保持する必要があります。
デスクトップ環境は、プールされたデスクトップや専用デスクトップなど、さまざまな種類のデスクトップで構成されている場合があります。ユーザーは、プールされたデスクトップなど、ユーザー間で共有されるデスクトップにデータを保存してはなりません。ユーザーが専用デスクトップにデータを保存する場合、そのデスクトップが後で他のユーザーに利用可能になった場合は、そのデータを削除する必要があります。
混在バージョン環境
混在バージョン環境は、一部のアップグレード中に避けられません。ベストプラクティスに従い、異なるバージョンのCitrixコンポーネントが共存する時間を最小限に抑えてください。混在バージョン環境では、たとえばセキュリティポリシーが一律に適用されない場合があります。
注: これは他のソフトウェア製品にも共通しています。以前のバージョンのActive Directoryを使用すると、後のバージョンのWindowsではグループポリシーが部分的にしか適用されません。
次のシナリオでは、特定の混在バージョンCitrix環境で発生する可能性のあるセキュリティ問題について説明します。Citrix Receiver 1.7を使用してXenAppおよびXenDesktop 7.6 Feature Pack 2でVDAを実行している仮想デスクトップに接続すると、ポリシー設定 デスクトップとクライアント間のファイル転送を許可する がサイトで有効になりますが、XenAppおよびXenDesktop 7.1を実行しているDelivery Controllerでは無効にできません。これは、製品の後のバージョンでリリースされたポリシー設定を認識しないためです。このポリシー設定により、ユーザーは仮想デスクトップにファイルをアップロードおよびダウンロードできるため、これがセキュリティ問題となります。この問題を回避するには、Delivery Controller(またはStudioのスタンドアロンインスタンス)をバージョン7.6 Feature Pack 2にアップグレードし、グループポリシーを使用してポリシー設定を無効にします。または、影響を受けるすべての仮想デスクトップでローカルポリシーを使用します。
Remote PC Accessのセキュリティに関する考慮事項
Remote PC Accessは、次のセキュリティ機能を実装しています。
- スマートカードの使用がサポートされています。
- リモートセッションが接続されると、オフィスPCのモニターは空白で表示されます。
- Remote PC Accessは、CTRL+ALT+DEL、USB対応スマートカード、および生体認証デバイスを除くすべてのキーボードおよびマウス入力をリモートセッションにリダイレクトします。
- SmoothRoamingは単一ユーザーのみがサポートされます。
- ユーザーがオフィスPCにリモートセッションを接続している場合、そのユーザーのみがオフィスPCのローカルアクセスを再開できます。ローカルアクセスを再開するには、ユーザーはローカルPCでCtrl-Alt-Delを押し、リモートセッションで使用したのと同じ資格情報でログオンします。システムに適切なサードパーティのCredential Provider統合がある場合、ユーザーはスマートカードを挿入するか、生体認証を利用してローカルアクセスを再開することもできます。このデフォルトの動作は、グループポリシーオブジェクト(GPO)を介して高速ユーザー切り替えを有効にするか、レジストリを編集することで上書きできます。
注:Citrixでは、VDA管理者権限を一般セッションユーザーに割り当てないことを推奨しています。
自動割り当て
デフォルトでは、Remote PC Accessは複数のユーザーのVDAへの自動割り当てをサポートしています。XenDesktop 5.6 Feature Pack 1では、管理者はRemotePCAccess.ps1 PowerShellスクリプトを使用してこの動作を上書きできました。このリリースでは、複数の自動リモートPC割り当てを許可または禁止するためにレジストリエントリを使用します。この設定はサイト全体に適用されます。
注意:レジストリを誤って編集すると、オペレーティングシステムの再インストールが必要になるような深刻な問題が発生する可能性があります。Citrixは、レジストリエディターの誤った使用によって生じる問題が解決できることを保証できません。レジストリエディターの使用は自己責任で行ってください。編集する前に必ずレジストリをバックアップしてください。
自動割り当てを単一ユーザーに制限するには:
サイト内の各Controllerで、次のレジストリエントリを設定します。
HKEY\_LOCAL\_MACHINE\Software\Citrix|DesktopServer
Name: AllowMultipleRemotePCAssignments
Type: REG\_DWORD
Data: 0 = Disable multiple user assignment, 1 = (Default) Enable multiple user assignment.
既存のユーザー割り当てがある場合は、SDKコマンドを使用してそれらを削除し、VDAが単一の自動割り当ての対象となるようにします。
- Remove all assigned users from the VDA: $machine.AssociatedUserNames | %{ Remove-BrokerUser-Name $_ -Machine $machine
- Remove the VDA from the Delivery Group: $machine | Remove-BrokerMachine -DesktopGroup $desktopGroup
物理オフィスPCを再起動します。