セキュリティに関する考慮事項とベストプラクティス
注:
組織は、規制要件を満たすために特定のセキュリティ標準に準拠する必要がある場合があります。このドキュメントでは、そのようなセキュリティ標準は時間とともに変化するため、この主題については触れていません。セキュリティ標準とCitrix製品に関する最新情報については、http://www.citrix.com/security/を参照してください。
セキュリティのベストプラクティス
環境内のすべてのマシンをセキュリティパッチで最新の状態に保ちます。1つの利点は、シンクライアントをターミナルとして使用できるため、このタスクが簡素化されることです。
環境内のすべてのマシンをウイルス対策ソフトウェアで保護します。
プラットフォーム固有のマルウェア対策ソフトウェアの使用を検討してください。
ソフトウェアをインストールする際は、提供されているデフォルトのパスにインストールしてください。
- 提供されているデフォルトのパス以外のファイル場所にソフトウェアをインストールする場合は、そのファイル場所に制限付きアクセス許可などの追加のセキュリティ対策を追加することを検討してください。
すべてのネットワーク通信は、セキュリティポリシーに合わせて適切に保護および暗号化する必要があります。Microsoft Windowsコンピューター間のすべての通信はIPSecを使用して保護できます。その方法の詳細については、オペレーティングシステムのドキュメントを参照してください。さらに、ユーザーデバイスとデスクトップ間の通信は、デフォルトで128ビット暗号化に構成されているCitrix SecureICAによって保護されます。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ファイアウォールサービスが検出された場合(ファイアウォールが有効になっていない場合でも)、コンポーネントと機能の通信に必要なポートを自動的に開くように選択できます。これらのファイアウォールポートを手動で構成することもできます。別のファイアウォールを使用する場合は、手動で構成する必要があります。
従来の環境をこのリリースに移行する場合、既存の境界ファイアウォールの再配置や新しい境界ファイアウォールの追加が必要になることがあります。たとえば、データセンター内の従来のクライアントとデータベースサーバーの間に境界ファイアウォールがあるとします。このリリースを使用する場合、その境界ファイアウォールは、仮想デスクトップとユーザーデバイスが一方にあり、データセンター内のデータベースサーバーとDelivery Controllerがもう一方にあるように配置する必要があります。したがって、データセンター内にデータベースサーバーとControllerを収容するためのエンクレーブを作成することを検討してください。また、ユーザーデバイスと仮想デスクトップ間の保護も検討してください。
注:
TCPポート1494および2598はICAおよびCGPに使用されるため、データセンター外のユーザーがアクセスできるようにファイアウォールで開かれている可能性が高いです。Citrixは、管理インターフェイスが意図せず攻撃にさらされる可能性を避けるため、これらのポートを他の目的で使用しないことを推奨します。ポート1494および2598は、Internet Assigned Number Authority (http://www.iana.org/) に正式に登録されています。
アプリケーションセキュリティ
非管理者ユーザーが悪意のある操作を実行するのを防ぐため、VDAホストおよびローカルのWindowsクライアント上で、インストーラー、アプリケーション、実行可能ファイル、およびスクリプトに対してWindows AppLockerルールを構成することをお勧めします。
ユーザー権限の管理
ユーザーには必要な機能のみを付与してください。Microsoft Windowsの権限は、通常の方法でデスクトップに適用され続けます。つまり、ユーザー権利の割り当てを通じて権限を構成し、グループポリシーを通じてグループメンバーシップを構成します。このリリースの利点の1つは、デスクトップが保存されているコンピューターに対する物理的な制御を付与することなく、ユーザーにデスクトップへの管理者権限を付与できることです。
デスクトップ権限を計画する際には、以下の点に注意してください。
- 既定では、非特権ユーザーがデスクトップに接続すると、自身のユーザーデバイスのタイムゾーンではなく、デスクトップを実行しているシステムのタイムゾーンが表示されます。ユーザーがデスクトップを使用する際にローカル時刻を表示できるようにする方法については、「Manage Delivery Groups」の記事を参照してください。
- デスクトップの管理者であるユーザーは、そのデスクトップを完全に制御できます。デスクトップが専用デスクトップではなくプールされたデスクトップである場合、そのユーザーは、将来のユーザーを含むそのデスクトップの他のすべてのユーザーに関して信頼できる必要があります。デスクトップのすべてのユーザーは、この状況によってデータセキュリティに潜在的に永続的なリスクがあることを認識する必要があります。この考慮事項は、単一ユーザーのみが使用する専用デスクトップには適用されません。そのユーザーは、他のどのデスクトップでも管理者であってはなりません。
- デスクトップの管理者であるユーザーは、一般的に、悪意のあるソフトウェアを含むソフトウェアをそのデスクトップにインストールできます。また、デスクトップに接続されている任意のネットワーク上のトラフィックを監視または制御できる可能性もあります。
ログオン権限の管理
ログオン権限は、ユーザーアカウントとコンピューターアカウントの両方に必要です。Microsoft Windowsの権限と同様に、ログオン権限は通常の方法でデスクトップに適用され続けます。つまり、ユーザー権利の割り当てを通じてログオン権限を構成し、グループポリシーを通じてグループメンバーシップを構成します。
Windowsのログオン権限は、ローカルログオン、リモートデスクトップサービス経由のログオン、ネットワーク経由のログオン(ネットワークからこのコンピューターにアクセス)、バッチジョブとしてのログオン、サービスとしてのログオンです。
コンピューターアカウントの場合、コンピューターが必要とするログオン権限のみを付与します。「ネットワーク経由でこのコンピューターにアクセス」というログオン権限が必要です。
- VDAで、Delivery Controllerのコンピューターアカウントに対して
- Delivery Controller上では、VDAのコンピューターアカウントについてです。詳細については、「Active Directory OUベースのController検出」(/ja-jp/advanced-concepts/implementation-guides/ad-ou-controller-discovery.html)を参照してください。
- StoreFront™サーバーで、同じStoreFrontサーバーグループ内の他のサーバーのコンピューターアカウントに対して
ユーザーアカウントの場合、ユーザーが必要とするログオン権限のみを付与します。
マイクロソフトによると、デフォルトではRemote Desktop Usersグループに「リモートデスクトップサービスを介したログオンを許可」というログオン権限が付与されています (ドメインコントローラーを除く)。
組織のセキュリティポリシーによっては、このグループをそのログオン権限から削除するよう明示的に規定している場合があります。次のアプローチを検討してください。
- マルチセッションOS用Virtual Delivery Agent (VDA) は、Microsoft Remote Desktop Servicesを使用します。Remote Desktop Usersグループを制限付きグループとして構成し、Active Directoryグループポリシーを介してグループのメンバーシップを制御できます。詳細については、マイクロソフトのドキュメントを参照してください。
- シングルセッションOS用VDAを含むCitrix Virtual Apps and Desktops™のその他のコンポーネントでは、Remote Desktop Usersグループは不要です。したがって、これらのコンポーネントでは、Remote Desktop Usersグループに「リモートデスクトップサービスを介したログオンを許可」というログオン権限は不要であり、削除できます。さらに:
- リモートデスクトップサービスを介してこれらのコンピューターを管理する場合、そのようなすべての管理者がすでにAdministratorsグループのメンバーであることを確認してください。
- リモートデスクトップサービスを介してこれらのコンピューターを管理しない場合、これらのコンピューターでリモートデスクトップサービス自体を無効にすることを検討してください。
「リモートデスクトップサービスを介したログオンを拒否」というログオン権限にユーザーとグループを追加することは可能ですが、ログオン拒否権限の使用は一般的に推奨されません。詳細については、マイクロソフトのドキュメントを参照してください。
ユーザー権限の構成
Delivery Controller™のインストールにより、次のWindowsサービスが作成されます。
- Citrix AD アイデンティティ サービス (NT SERVICE\CitrixADIdentityService): 仮想マシンのマイクロソフト Active Directory コンピューターアカウントを管理します。
- Citrix Analytics (NT SERVICE\CitrixAnalytics): サイト管理者がこの収集を承認した場合、Citrixが使用するためのサイト構成使用状況情報を収集します。その後、製品改善のためにこの情報をCitrixに送信します。
- Citrix App ライブラリ (NT SERVICE\CitrixAppLibrary): アプリディスクの管理とプロビジョニング、AppDNA の統合、および アプリブイ の管理をサポートします。
- Citrix Broker Service (NT SERVICE\CitrixBrokerService): ユーザーが利用できる仮想デスクトップまたはアプリケーションを選択します。
- Citrix Configuration Logging Service (NT SERVICE\CitrixConfigurationLogging): サイトに対して管理者によって行われたすべての構成変更、およびその他の状態変更を記録する機能を提供します。
- Citrix コンフィグレーション サービス (NT SERVICE\CitrixConfigurationService): 共有構成のためのサイト全体のリポジトリ。
- Citrix デリゲート管理サービス (NT SERVICE\CitrixDelegatedAdmin): 管理者に付与された権限を管理します。
- シトリックス環境テストサービス (NT SERVICE\CitrixEnvTest): 他のデリバリーコントローラーサービスのセルフテストを管理します。
- Citrix Host Service (NT SERVICE\CitrixHostService): Citrix Virtual AppsまたはCitrix Virtual Desktopsの展開で使用されるハイパーバイザーインフラストラクチャに関する情報を保存し、コンソールがハイパーバイザープール内のリソースを列挙するために使用する機能も提供します。
- シトリックス マシン クリエーション サービス (NT SERVICE\CitrixMachineCreationService): デスクトップVMの作成をオーケストレーションします。
- Citrix Monitor Service (NT SERVICE\CitrixMonitor): Citrix Virtual AppsまたはCitrix Virtual Desktopsのメトリックを収集し、履歴情報を保存し、トラブルシューティングおよびレポートツール用のクエリインターフェイスを提供します。
- Citrix Storefront サービス (NT SERVICE\ CitrixStorefront): ストアフロント の管理をサポートします。(ストアフロント コンポーネント自体の一部ではありません。)
- Citrix Storefront 特権管理サービス (NT SERVICE\CitrixPrivilegedService): ストアフロント の特権管理操作をサポートします。(ストアフロント コンポーネント自体の一部ではありません。)
- 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)
- シトリックス トラスト サービス (NT サービス\CitrixTrust)
Citrix Storefront Privileged Administration Serviceを除き、これらのサービスには、「サービスとしてログオン」のログオン権限と、「プロセスのメモリクォータの調整」、「セキュリティ監査の生成」、「プロセスレベルトークンの置き換え」の特権が付与されます。これらのユーザー権限を変更する必要はありません。これらの特権はDelivery Controllerでは使用されず、自動的に無効になります。
サービス設定の構成
Citrix Storefront Privileged AdministrationサービスとCitrix Telemetry Serviceを除き、上記のユーザー権限の構成セクションに記載されているDelivery ControllerのWindowsサービスは、NETWORK SERVICE IDとしてログオンするように構成されています。これらのサービス設定を変更しないでください。
シトリックス設定同期サービスは、NETWORK SERVICEアカウントがデリバリーコントローラー上のローカル管理者グループに属している必要があります。これにより、ローカルホストキャッシュが正しく機能します。
Citrix Storefront Privileged Administrationサービスは、ローカルシステム (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を押し、リモートセッションで使用したのと同じ資格情報でログオンします。システムに適切なサードパーティの資格情報プロバイダー統合がある場合、ユーザーはスマートカードを挿入するか、生体認証を利用してローカルアクセスを再開することもできます。このデフォルトの動作は、グループポリシーオブジェクト(GPO)を介して高速ユーザー切り替えを有効にするか、レジストリを編集することで上書きできます。
注記:
Citrixでは、VDA管理者権限を一般セッションユーザーに割り当てないことをお勧めします。
自動割り当て
デフォルトでは、Remote PC Accessは複数のユーザーのVDAへの自動割り当てをサポートしています。XenDesktop 5.6 Feature Pack 1では、管理者はRemotePCAccess.ps1 PowerShellスクリプトを使用してこの動作を上書きできました。このリリースでは、レジストリエントリを使用して複数の自動リモートPC割り当てを許可または禁止します。この設定はサイト全体に適用されます。
注意:
レジストリを誤って編集すると、オペレーティングシステムの再インストールが必要になるような深刻な問題が発生する可能性があります。シトリックスは、レジストリエディターの誤用によって生じた問題が解決されることを保証できません。レジストリエディターは自己責任で使用してください。編集する前に必ずレジストリをバックアップしてください。
自動割り当てを単一ユーザーに制限するには:
サイト内の各Controllerで、次のレジストリエントリを設定します:
HKEY\_LOCAL\_MACHINE\Software\Citrix|DesktopServer
Name: AllowMultipleRemotePCAssignments
Type: REG_DWORD
Data: 0 = Disable multiple user assignment, 1 = (Default) Enable multiple user assignment.
既存のユーザー割り当てがある場合は、VDAのSDKコマンドを使用してそれらを削除し、その後、単一の自動割り当ての対象となるようにします。
- VDAから割り当てられているすべてのユーザーを削除します:
$machine.AssociatedUserNames | %{ Remove-BrokerUser-Name $_ -Machine $machine - デリバリーグループからVDAを削除します:
$machine | Remove-BrokerMachine -DesktopGroup $desktopGroup
物理的なオフィスPCを再起動します。
XML信頼
XML信頼設定は、次のものを使用する展開に適用されます:
- オンプレミスのStoreFront。
- パスワードを必要としないサブスクライバー(ユーザー)認証テクノロジ。そのようなテクノロジの例としては、ドメインパススルー、スマートカード、SAML、Veridiumソリューションなどがあります。
XML信頼設定を有効にすると、ユーザーは正常に認証され、アプリケーションを起動できるようになります。Delivery Controllerは、StoreFrontから送信された資格情報を信頼します。この設定は、Delivery ControllerとStoreFront間の通信が保護されている場合(ファイアウォール、IPsec、またはその他のセキュリティ推奨事項を使用している場合)にのみ有効にしてください。
この設定はデフォルトで無効になっています。
シトリックス バーチャルアプリおよびデスクトップ PowerShell SDK を使用して、XML 信頼設定を確認、有効化、または無効化します。
- XML信頼設定の現在の値を確認するには、
Get-BrokerSiteを実行し、TrustRequestsSentToTheXMLServicePortの値を調べます。 - XML信頼を有効にするには、
Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $trueを実行します。 - XML信頼を無効にするには、
Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $falseを実行します。