Product Documentation

セキュリティに関する考慮事項およびベストプラクティス

Jul 08, 2016

このドキュメントでは次のことを説明しています。

組織によっては、法的規制の要件を満たすために特定のセキュリティ基準への準拠が要求される場合があります。 このようなセキュリティ基準は変更されることがあるため、ここでは説明しません。 セキュリティ基準とCitrix製品に関する最新情報については、http://www.citrix.com/security/を参照してください。

セキュリティに関する推奨事項

セキュリティパッチを適用して、環境内にあるすべてのマシンを最新の状態にします。 この製品の利点の1つは、シンクライアントをターミナルとして使用することによってこの作業を簡略化できることです。

環境内にあるすべてのマシンを、アンチウイルスソフトウェアで保護します。

環境内にあるすべてのマシンを、境界ファイアウォール(必要に応じてエンクレーブ境界を含む)で保護します。

従来の環境を新しいバージョンに移行する場合は、既存の境界ファイアウォールを移動するか、新しい境界ファイアウォールを追加する必要があります。 たとえば、従来のクライアントとデータセンター内のデータベースサーバーとの間に境界ファイアウォールがあるとします。 このリリースを使用するときは、仮想デスクトップおよびユーザーデバイスと、データセンター内のデータベースサーバーおよびDelivery Controllerとの間に境界ファイアウォールを設定する必要があります。 したがって、データベースサーバーとControllerを含むエンクレーブをデータセンター内に作成することを検討します。 また、ユーザーデバイスと仮想デスクトップ間のセキュリティについても考慮する必要があります。

環境内にあるすべてのマシンは、パーソナルファイアウォールで保護する必要があります。 コアコンポーネントとVirtual Delivery Agent(VDA)をインストールするときにWindows Firewallサービスが検出された場合は(ファイアウォールが無効であったとしても)、コンポーネントと機能の通信に必要なポートが自動的に開放されるように設定できます。 また、それらのファイアウォールポートを手作業で構成することもできます。 Windows以外のファイアウォールを使用している場合は、手作業でファイアウォールを構成する必要があります。

注:TCPポート1494および2598はICAおよびCGPに使用され、ファイアウォールで開放されているため、データセンター外のユーザーはこれらのポートにアクセスできます。 管理インターフェイスが不注意で開いたままになって攻撃を受ける可能性を避けるため、これらのTCPポートをほかの目的で使用しないでください。 ポート1494および2598は、Internet Assigned Number Authority(http://www.iana.org/)に正規登録されています。

すべてのネットワーク通信が正しく保護され、セキュリティポリシーに従って暗号化されている必要があります。 IPSecを使用して、Microsoft Windowsコンピューターの間でのすべての通信を保護できます。その方法について詳しくは、使用するオペレーティングシステムのドキュメントを参照してください。 さらに、ユーザーデバイスとデスクトップ間の通信は、デフォルトで128ビット暗号化を行うCitrix SecureICAで保護できます。 デリバリーグループを作成または更新するときに、SecureICAを設定できます。「ユーザー設定の変更」を参照してください。

Windowsベストプラクティスをアカウント管理に適用します。 Machine Creation ServicesまたはProvisioning Servicesによって複製される前に、アカウントをテンプレートやイメージに作成しないでください。 保存された、権限が付与されているドメインアカウントを使用して、タスクをスケジュールしないでください。 共有Active Directoryマシンアカウントを手動で作成しないでください。 こうすることにより、ローカルの永続アカウントのパスワードがマシンへの攻撃によって取得され、他者所有のMCS/PVS共有イメージへのログオンに使用されるのを阻止することができます。

ユーザーアカウントの管理

Virtual Delivery Agent(VDA)のインストール時にApp-V公開コンポーネントをインストールするオプションが選択されると、またはこの機能が後から追加されると、ローカル管理アカウントCtxAppVCOMAdminがVDAに追加されます。 App-V公開機能を使用する場合、このアカウントを変更しないでください。  App-V公開機能を使用する必要がない場合、インストール時にApp-V公開コンポーネントのインストールオプションを選択しないでください。 後からApp-V公開機能を使用したい場合は、このアカウントを無効にするか削除できます。 

ユーザー権限の管理

ユーザーには、必要な権限だけを付与します。 デスクトップのユーザーには、Microsoft Windowsでの権限(グループポリシーの[ユーザー権利の割り当て]およびグループメンバーシップ)がそのまま適用されます。 このリリースの利点の1つは、仮想デスクトップが格納されているコンピューターに対する物理的な制御を許可せずに、デスクトップに対するユーザーの管理権限を付与できることです。

デスクトップ権限を計画するときは、以下の点に注意してください。

  • デフォルトでは、権限を持たないユーザーがデスクトップに接続すると、ユーザーデバイスのタイムゾーンではなく、そのデスクトップを実行しているシステムのタイムゾーンが表示されます。 デスクトップの使用時にローカルの時刻が表示されるようにする方法については、「タイムゾーン設定の構成」を参照してください。
  • デスクトップの管理者権限を持つユーザーは、そのデスクトップを完全に制御できます。 デスクトップが専用デスクトップではなくプールデスクトップの場合、管理者権限を持つユーザーはそのデスクトップのすべてのユーザー(将来のユーザーを含む)に信頼されている必要があります。 このため、プールデスクトップのすべてのユーザーは、この状況によってデータのセキュリティに永続的な危険性が存在することを認識する必要があります。 これは、単一ユーザーに対してのみ割り当てられるデスクトップには当てはまりません。つまり、このユーザーはほかのデスクトップの管理者になることはできません。
  • 通常、デスクトップの管理者であるユーザーはそのデスクトップにソフトウェアをインストールできます。インストールできるソフトウェアには悪意のあるものも含まれます。 またユーザーが、そのデスクトップに接続しているすべてのネットワーク上のトラフィックを監視または制御することも可能です。

ログオン権限の管理

ユーザーには、必要なログオン権限だけを付与します。  Microsoft Windowsの権限では、ログオン権限は引き続き、[ユーザー権限の割り当て]で権限を設定し[グループポリシー]でグループメンバーシップを設定するという通常の方法で、デスクトップに適用されます。

Windowsのログオン権限には次の種類があります。ローカル ログオン。リモート デスクトップ サービスを使ったログオン。ネットワーク上でログオン。バッチジョブとしてログオン。サービスとしてログオン。

Microsoftによると、デフォルトでRemote Desktop Usersグループに[リモート デスクトップ サービスを使ったログオンを許可]でログオン権限が付与されています(ドメインコントローラを除く)。

組織のセキュリティポリシーによっては、このグループがこのログオン権限から除外されることを明示的に設定している場合もあります。  次の方法を検討してください。

  • Virtual Delivery Agent(VDA)for Server OSはMicrosoftリモートデスクトップサービスを使用します。  Remote Desktop Usersグループを制限されたグループとして構成し、Active Directoryグループポリシー経由でグループのメンバーシップを制御できます。  詳しくは、Microsoft社のドキュメントを参照してください。
  • VDA for Desktop OSを含むXenAppおよびXenDesktopの他のコンポーネントでは、Remote Desktop Usersグループは必要ありません。  このため、これらのコンポーネントではRemote Desktop Usersグループにログオン権限[リモート デスクトップ サービスを使ったログオンを許可]の必要はなく、削除できます。 さらに、以下を確認します。
    • リモートデスクトップサービスでこれらのコンピューターを管理する場合、すべての必要な管理者が既にAdministratorsグループのメンバーであることを確認してください。
    • リモートデスクトップサービスでこれらのコンピューターを管理しない場合、コンピューター上でリモートデスクトップサービスを無効にすることを検討してください。

ユーザーとグループをログオン権限[リモートデスクトップサービスによるログオンを拒否]に追加することは可能ですが、ログオン権限の拒否の使用は、通常推奨されません。  詳しくは、Microsoft社のドキュメントを参照してください。

ユーザー権利の構成

Delivery Controllerをインストールすると、次のWindowsサービスが作成されます。

  • Citrix AD Identity Service(NT SERVICE\CitrixADIdentityService):仮想マシンのMicrosoft Active Directoryコンピューターアカウントを管理します。
  • Citrix Analytics(NT SERVICE\CitrixAnalytics):Citrixが使用するサイト構成の使用状況情報の収集がサイト管理者によって承認されている場合、この情報を収集します。  その後、製品の改善に役立てるために、この情報をCitrixに送信します。
  • Citrix App Library(NT SERVICE\CitrixAppLibrary):AppDiskの管理とプロビジョニング、AppDNA統合、およびApp-Vの管理をサポートします。
  • Citrix Broker Service(NT SERVICE\CitrixBrokerService):ユーザーが使用できる仮想デスクトップやアプリケーションを選択します。
  • Citrix Configuration Logging Service(NT SERVICE\CitrixConfigurationLogging):すべての構成の変更と、管理者がサイトに対して行ったそのほかの状態の変更を記録します。
  • Citrix Configuration Service(NT SERVICE\CitrixConfigurationService):共有される構成のサイト全体のリポジトリです。
  • Citrix Delegated Administration Service(NT SERVICE\CitrixDelegatedAdmin):管理者に与えられた権限を管理します。
  • Citrix Environment Test Service(NT SERVICE\CitrixEnvTest):そのほかのDelivery Controllerサービスのセルフテストを管理します。
  • Citrix Host Service(NT SERVICE\CitrixHostService):XenAppまたはXenDesktop環境で使用されているハイパーバイザーインフラストラクチャに関する情報を保存します。また、コンソールで使用される、ハイパーバイザープールのリソースを列挙する機能を提供します。
  • Citrix Machine Creation Service(NT SERVICE\CitrixMachineCreationService):デスクトップ仮想マシンの作成をオーケストレーションします。
  • Citrix Monitor Service(NT SERVICE\CitrixMonitor):XenAppまたはXenDesktopの測定基準を収集し、履歴情報を保存して、トラブルシューティングのためのクエリインターフェイスと各種のレポートツールを提供します。
  • Citrix Storefront Service(NT SERVICE\ CitrixStorefront):StoreFrontの管理をサポートします  (StoreFrontコンポーネント自体には含まれていません)。
  • Citrix Storefront Privileged Administration Service(NT SERVICE\CitrixPrivilegedService):StoreFrontの特権管理操作をサポートします (StoreFrontコンポーネント自体には含まれていません)。

Delivery Controllerをインストールすると、次のWindowsサービスも作成されます。  これらは、そのほかのCitrixコンポーネントをインストールしたときにも作成されます。

  • Citrix Diagnostic Facility COM Server(NT SERVICE\CdfSvc):Citrixサポートが使用するための診断情報の収集をサポートします。
  • Citrix Telemetry Service(NT SERVICE\CitrixTelemetryService):Citrixが分析するための診断情報を収集することで、管理者が分析結果と推奨事項を確認してサイトの問題解決に役立てることができるようにします。

Citrix Storefront Privileged Administration Serviceを除く、これらのサービスには、[サービスとしてログオン]のログオン権限と[プロセスのメモリクォータの増加]、[セキュリティ監査の生成]、[プロセスレベルトークンの置き換え]の権限が付与されます。 通常、これらのユーザー権利を変更する必要はありません。 これらの権限はDelivery Controllerでは使用されないため、自動的に無効にされています。

サービス設定の構成

Citrix Storefront Privileged Administration ServiceとCitrix Telemetry Serviceを除く、上述の「ユーザー権利の構成」セクションに示すDelivery Controller Windowsサービスは、ネットワークサービスIDでログオンするように構成されます。  このサービス設定は変更しないでください。  

Citrix Storefront Privileged Administration Serviceは、ローカルシステム(NT AUTHORITY\SYSTEM)にログオンするように構成されます。  これは、通常はサービスで実行できないDelivery Controller StoreFront操作(Microsoft IISサイトの作成など)に必要な構成です。  このサービス設定は変更しないでください。  

Citrix Telemetry Serviceは、このサービス自体のサービス固有のIDでログオンするように構成されます。

Citrix Telemetry Serviceは、無効にすることができます。 このサービスと、既に無効にされているサービス以外のそのほかのDelivery Controller Windowsサービスは、無効にしないでください。

展開シナリオのセキュリティ

ユーザー環境は、組織に管理されずにユーザーにより完全に制御されるユーザーデバイス、または組織により管理されたユーザーデバイスで構成できます。 通常、これら2つの環境に対するセキュリティ上の考慮事項は異なります。

管理されるユーザーデバイス

「管理されるユーザーデバイス」とは、管理者または信頼されたほかの組織によって管理されるユーザーデバイスを指します。 この場合、ユーザーデバイスを管理者が構成してユーザーに直接提供したり、全画面のみを実行するモードで単一のデスクトップを実行する端末を提供したりできます。 管理されるユーザーデバイスに対しては、前述の一般的なセキュリティ構成を実装します。 この製品の長所は、ユーザーデバイス上に最低限のソフトウェアしか必要としないという点です。

管理されるユーザーデバイスでは、仮想デスクトップの実行モードとして、全画面のみを実行するモードまたはウィンドウモードを構成できます。

  • 全画面のみを実行するモード:ユーザーは通常の[Windowsへのログオン]画面からユーザーデバイスにログオンします。 すると、同じユーザー資格情報で自動的にこのリリースへのログオンが実行されます。
  • 一方、ウィンドウモードを使用する場合、ユーザーは最初にユーザーデバイスにログオンし、次にこのリリースで提供されたWebサイトを介してこの製品にログオンします。

管理されていないユーザーデバイス

「管理されていないユーザーデバイス」とは、管理者または信頼された組織によって管理されていないユーザーデバイスを指します。 たとえば、ユーザーが自分のデバイスを使用する場合、上記のセキュリティ上の推奨事項にユーザーが従わないことがあります。 このリリースでは、このような管理されていないユーザーデバイスにも、デスクトップを安全に配信できます。 ただし、これらのユーザーデバイスでも、キーロガーやそれに類似した入力攻撃を阻止するための基本的なウイルス対策が施されている必要があります。

データストレージの考慮事項

このリリースを使用しているときに、ユーザーが自分のユーザーデバイスにデータを保存できないように構成できます。 ただし、ユーザーが仮想デスクトップにデータを保存することを許可するかどうかも考慮する必要があります。 ユーザーによるデスクトップ上へのデータ保存は推奨されません。データはファイルサーバー、データベースサーバー、またはデータが適切に保護されるそのほかのリポジトリに保存する必要があります。

デスクトップ環境は、プールデスクトップや専用デスクトップなど、さまざまな種類のデスクトップで構成される場合があります。 ユーザーは、プールデスクトップなど、複数のユーザーで共有されるデスクトップ上にデータを保存するべきではありません。 また、専用デスクトップでも、そのデスクトップをほかのユーザーが使用することになった場合に、保存されているデータを削除する必要があります。

バージョン混在環境

アップグレード処理のある時点においては、バージョンが混在する環境は不可避なものです。 ベストプラクティスに従い、異なるバージョンのCitrixコンポーネントが同時に存在する時間を最短化させます。 たとえばバージョン混在環境ではセキュリティポリシーが一律には適用されない可能性があります。

注:これは、ほかのソフトウェア製品では一般的な問題です。Active Directoryの以前のバージョンを使用すると、最近のバージョンのWindowsにはグループポリシーが部分的にしか適用されません。

次のシナリオでは、特定のバージョン混在Citrix環境で発生する可能性があるセキュリティ問題について説明します。 XenAppおよびXenDesktop 7.6 Feature Pack 2のVirtual Delivery Agentを実行している仮想デスクトップへの接続にCitrix Receiver 1.7が使用されている場合、ポリシー「デスクトップとクライアント間におけるファイル転送の許可」はサイトでは有効ですが、XenAppおよびXenDesktop 7.1を実行しているDelivery Controllerによっては無効にできません。 製品のより新しいバージョンでリリースされたポリシーの設定は認識されません。 このポリシーにより、ユーザーはファイルを自分の仮想デスクトップにアップロードしてダウンロードできます – セキュリティ問題。 この問題を回避するには、Delivery ControllerあるいはStudioのスタンドアロンインスタンスをバージョン7.6 Feature Pack 2にアップグレードし、その後でグループポリシーを使ってポリシーを無効にします。 または、すべての該当する仮想デスクトップでローカルポリシーを使用します。

リモートPCアクセスのセキュリティに関する考慮事項

リモートPCアクセスでは、次のセキュリティ機能がサポートされます。

  • スマートカードの使用がサポートされます。
  • リモートセッションの間、社内のPCのモニターは非表示になります。
  • リモートPCアクセスでは、すべてのキーボードおよびマウスの入力がリモートセッションにリダイレクトされます(Ctrl+Alt+Delキー入力、およびUSB対応スマートカードや生体認証デバイスを除く)。
  • SmoothRoamingは単一ユーザーに対してのみサポートされます。
  • リモートセッションで接続していた社内のPCにローカルでアクセスを再開できるのはそのユーザーのみです。 ローカルでのアクセスを再開するには、ローカルのキーボードでCtrl+Alt+Delキーを押して、リモートセッションと同じ資格情報を使ってログオンします。 システムに適切なサードパーティ製の資格情報プロバイダー統合が構成されている場合は、スマートカードを挿入したり生体認証を使用したりしてローカルアクセスを再開することもできます。 グループポリシーオブジェクト(GPO)やレジストリキーでユーザーの簡易切り替え機能を有効にして、このデフォルトの動作設定を上書きすることができます。

注:VDA管理者特権を一般のセッションユーザーに割り当てないことをお勧めします。

自動割り当て

リモートPCアクセスでは、デフォルトで単一VDAへの複数ユーザーの自動割り当てがサポートされます。 XenDesktop 5.6 Feature Pack 1では、PowerShellスクリプトRemotePCAccess.ps1を使ってこの動作を上書きできました。 このリリースでは、レジストリキーを使って複数ユーザーの自動割り当てを許可または禁止できます。この設定はサイト全体に適用されます。

注意:レジストリエディターの使用を誤ると、深刻な問題が発生する可能性があり、Windowsの再インストールが必要になる場合もあります。 レジストリエディターの誤用による障害に対して、Citrixでは一切責任を負いません。 レジストリエディターは、お客様の責任と判断の範囲でご使用ください。 また、レジストリファイルのバックアップを作成してから、レジストリを編集してください。

自動割り当てを単一ユーザーのみに制限するには、以下の手順に従います。

サイト上の各Controllerで、以下のレジストリエントリを設定します。

HKEY_LOCAL_MACHINE\Software\Citrix\DesktopServer

値の名前:AllowMultipleRemotePCAssignments

種類:REG_DWORD

値のデータ:0(複数ユーザーの割り当て無効)、1(デフォルト。複数ユーザーの割り当て有効)

既存のユーザー割り当てを削除するには、SDKコマンドを使用します。これにより、VDAに単一ユーザーが割り当てられるようになります。

  • 割り当てられているすべてのユーザーをVDAから削除するには、$machine.AssociatedUserNames | %{ Remove-BrokerUser-Name $_ -Machine $machineを実行します。
  • デリバリーグループからVDAを削除するには、$machine | Remove-BrokerMachine -DesktopGroup $desktopGroupを実行します。

社内の物理PCを再起動します。