StoreFront展開を保護する
この記事では、StoreFrontを展開および構成する際にシステムセキュリティに影響を与える可能性のある領域を強調しています。
エンドユーザー認証
通常、エンドユーザーはStoreFrontに直接、またはStoreFrontの前面にあるCitrix Gatewayに対して認証する必要があります。利用可能な認証方法の詳細については、「認証」(/ja-jp/storefront/2507-ltsr/stores/authentication)を参照してください。
エンドユーザーとの通信
Citrixは、ユーザーデバイスとStoreFront間の通信をHTTPSを使用して保護することを推奨します。これにより、クライアントとStoreFront間で送信されるパスワードやその他のデータが暗号化されます。さらに、通常のHTTP接続は、特に公共のWi-Fiホットスポットなどの安全でない場所から接続が行われる場合、中間者攻撃などのさまざまな攻撃によって危険にさらされる可能性があります。適切なIIS構成がない場合、StoreFrontは通信にHTTPを使用します。
構成によっては、ユーザーはゲートウェイまたはロードバランサー経由でStoreFrontにアクセスする場合があります。HTTPS接続はゲートウェイまたはロードバランサーで終端できます。ただし、この場合でもCitrixは、ゲートウェイまたはロードバランサーとStoreFront間の接続をHTTPSを使用して保護することを推奨します。
HTTPSを有効にするには、HTTPを無効にし、HSTSを有効にします。詳細については、「HTTPSでStoreFrontを保護する」(/ja-jp/storefront/2507-ltsr/secure/configure-https.html)を参照してください。
NetScaler Gatewayまたはロードバランサー仮想サーバーでは、有効にするTLSバージョンを構成できます。TLS 1.2より前のレガシーTLSバージョンを無効にすることをお勧めします。
StoreFrontサーバーでは、WindowsとIISが受信接続に許可されるTLSバージョンを決定します。TLS 1.2より古いレガシーTLSバージョンを無効にすることをお勧めします。Windows Server 2025では、TLS 1.0および1.1はデフォルトで無効になっています。Windows Server 2022では、IISを構成してクライアント接続のTLS 1.0および1.1を無効にできます。詳細については、HTTPSでStoreFrontを保護するを参照してください。すべてのWindowsサーバーバージョンで、グループポリシーまたはWindowsレジストリ設定を使用してTLS 1.0および1.1を無効にできます。詳細については、Microsoftドキュメントを参照してください。
古いバージョンのCitrix ReceiverはTLS 1.2を使用して接続できません。詳細については、CTX232266を参照してください。
デリバリーコントローラーとの通信
Citrixは、StoreFrontとCitrix Virtual Apps and Desktops Delivery Controller間で渡されるデータを保護するためにHTTPSプロトコルを使用することを推奨します。詳細については、「Delivery ControllerでHTTPSを有効にする」(/ja-jp/citrix-virtual-apps-desktops/secure/tls-ddc)を参照してください。StoreFrontをHTTPSを使用するように構成するには、「Citrix Virtual Apps and Desktopsのサイトを追加する」(/ja-jp/storefront/2507-ltsr/stores/sites#add-sites-for-citrix-virtual-apps-and-desktops)および「Citrix Gatewayアプライアンスを追加する」(/ja-jp/storefront/2507-ltsr/integrate-with-citrix-gateway-and-citrix-adc/configure-citrix-gateway#add-citrix-gateway-appliance)を参照してください。証明書が侵害された場合は、「証明書失効リスト(CRL)チェック」(/ja-jp/storefront/2507-ltsr/secure/certificate-revocation-list-checking)を使用できます。StoreFrontは、Delivery Controllerとの通信にTLS 1.2以降を使用します。
信頼できるStoreFrontサーバーのみがDelivery Controllerと通信できるように、Delivery ControllerとStoreFrontを構成することをお勧めします。詳細については、「セキュリティキーの管理」(/ja-jp/citrix-virtual-apps-desktops/manage-deployment/security-keys.html)を参照してください。
クラウドコネクタとの通信
Citrixは、StoreFrontとCloud Connector間でやり取りされるデータを保護するために、HTTPSプロトコルの使用を推奨しています。HTTPS構成を参照してください。StoreFrontを構成するには、Citrix Desktops as a Serviceのサイトを追加およびCitrix Gatewayアプライアンスを追加を参照してください。証明書が侵害された場合は、証明書失効リスト(CRL)の確認を使用できます。StoreFrontは、Cloud Connectorとの通信にTLS 1.2以降を使用します。
信頼できるStoreFrontサーバーのみがCloud Connectorと通信できるように、DaaSとStoreFrontを構成することをお勧めします。詳細については、セキュリティキーの管理を参照してください。
フェデレーション認証サービスとの通信
StoreFrontとフェデレーション認証サービス(FAS)サーバー間の通信については、フェデレーション認証サービス - セキュリティとネットワーク構成を参照してください。
リモートアクセス
Citrixは、StoreFrontサーバーをインターネットに直接公開することはお勧めしません。Citrixは、リモートユーザーの認証とアクセスを提供するためにCitrix Gatewayを使用することを推奨しています。
マイクロソフト インターネット インフォメーション サービス (IIS) のセキュリティ強化
制限されたIIS構成でStoreFrontを構成できます。これはデフォルトのIIS構成ではないことに注意してください。
ファイル名拡張子
要求フィルタリングを使用して、許可されるファイル拡張子のリストを構成し、リストにないファイル名拡張子を禁止することができます。IISドキュメントを参照してください。
StoreFrontには、次のファイル名拡張子が必要です。
- . (空白の拡張子)
- .アップキャッシュ
- .エーエスピーエックス
- .cr
- .css ファイル
- .dtd ファイル
- .gif ファイル
- .htm ファイル
- .html ファイル
- .ica® ファイル
- .ico ファイル
- .jpg ファイル
- .js
- .png ファイル
- .svg ファイル
- .txt ファイル
- .xml ファイル
ストアWebサイトでCitrix Workspaceアプリのダウンロードまたはアップグレードが有効になっている場合、StoreFrontには次のファイル名拡張子も必要です。
- .dmg ファイル
- .exe
Citrix Workspaceアプリ for HTML5が有効になっている場合、StoreFrontには以下のファイル名拡張子も必要です。
- .eot
- .ttf
- .ウォフ
- .ワズム
動詞
要求フィルタリングを使用して、許可された動詞のリストを構成し、リストにない動詞を許可しないように設定できます。IISドキュメントを参照してください。
- GET
- ポスト
- ヘッド
URLにおける非ASCII文字の取り扱い
ストア名とWebサイト名にASCII文字のみを使用するようにすれば、StoreFrontのURLにASCII文字は含まれません。要求フィルタリングを使用して、非ASCII文字を許可しないように設定できます。IISドキュメントを参照してください。
MIMEタイプ
以下のファイル拡張子に対応するOSシェルMIMEタイプを削除できます。
- .エグゼ
- .ディーエルエル
- .コム
- .バット
- .シーエスエイチ
IIS ドキュメントを参照してください。
X-Powered-By ヘッダーを削除する
デフォルトでは、IIS はサーバーレベルで値 ASP.NET のヘッダー X-Powered-By を含んでいます。StoreFront は、すべての StoreFront Web サイトでこのヘッダーを削除します。サーバーレベルでヘッダーを削除することもできます。これはサーバー上のすべての Web サイトに適用されます。IIS カスタムヘッダーのドキュメントを参照してください。
IIS バージョン付きの Server ヘッダーを削除する
デフォルトでは、IIS は Server ヘッダーを追加することで IIS バージョンを報告します。IIS を構成してこのヘッダーを削除できます。IIS 要求フィルタリングのドキュメントを参照してください。
StoreFront Web サイトを別のパーティションに移動する
StoreFront Web サイトをシステムファイルとは別のパーティションでホストできます。IIS 内で、StoreFront 展開を作成する前に、Default Web Site を移動するか、適切なパーティションに別のサイトを作成する必要があります。
IIS 機能
StoreFront によってインストールおよび使用される IIS 機能のリストについては、システム要件を参照してください。その他の IIS 機能は削除できます。
StoreFront は ISAPI フィルターを直接使用しませんが、この機能は ASP.NET で必要とされるため、アンインストールできません。
ハンドラーマッピング
StoreFrontには以下のハンドラーマッピングが必要です。その他のハンドラーマッピングは削除できます。
- エクステンションレスURLハンドラー-インテグレーテッド-4.0
- ページハンドラーファクトリー-インテグレーテッド-4.0
- スタティックファイル
IISハンドラーのドキュメントを参照してください。
ISAPIフィルター
StoreFrontはISAPIフィルターを必要としません。すべてのISAPIフィルターを削除できます。ただし、ASP.NETにはISAPI Windows機能が必要です。IIS ISAPIフィルターのドキュメントを参照してください。
.NET承認ルール
デフォルトでは、IISサーバーの「.NET承認ルール」は「すべてのユーザーを許可」に設定されています。デフォルトでは、StoreFrontが使用するWebサイトはこの構成を継承します。
サーバーレベルで.NET承認ルールを削除または変更した場合、StoreFrontが使用するWebサイトのルールを上書きして、「すべてのユーザー」に対する許可ルールを追加し、その他のルールをすべて削除する必要があります。
小売モード
小売モードを有効にできます。IISドキュメントを参照してください。
アプリケーションプール
StoreFrontは以下のアプリケーションプールを作成します。
- シトリックス構成API
- シトリックス デリバリーサービス認証
- シトリックス デリバリーサービスリソース
- および シトリックス レシーバー™ for Web
各IISアプリケーションで使用されるアプリケーションプール、または各プールのIDを変更しないでください。複数のサイトを使用している場合、各サイトを個別のアプリケーションプールを使用するように構成することはできません。
リサイクル設定で、アプリケーションプールのアイドルタイムアウトと仮想メモリ制限を設定できます。「Citrix Receiver for Web」アプリケーションプールがリサイクルされると、Webブラウザ経由でログインしているユーザーがログアウトされるため、中断を最小限に抑えるために、デフォルトで毎日02:00にリサイクルされるように設定されています。リサイクル設定を変更すると、ユーザーが日中の他の時間にログオフされる可能性があります。
デフォルトのIISランディングページ
c:\inetpub\wwwrootからファイルiisstart.htm、welcome.pngを削除できます。
必要な設定
- IIS認証設定を変更しないでください。StoreFrontは認証を管理し、StoreFrontサイトのディレクトリを適切な認証設定で構成します。
- StoreFrontサーバーの場合、SSL設定でクライアント証明書: 必須を選択しないでください。StoreFrontのインストールは、StoreFrontサイトの適切なページをこの設定で構成します。
- StoreFrontはセッション状態およびその他の機能のためにCookieを必要とします。特定のディレクトリでは、セッション状態、Cookie設定、モードをCookieを使用に設定する必要があります。
- StoreFrontでは、.NET信頼レベルを完全信頼に設定する必要があります。.NET信頼レベルを他の値に設定しないでください。
サービス
StoreFrontのインストールにより、次のWindowsサービスが作成されます。
- シトリックス コンフィギュレーション レプリケーション (NTサービス\CitrixConfigurationReplication)
- シトリックス クラスターへの参加を行うサービス (NT SERVICE\CitrixClusterService)
- シトリックス ピア解決 (NT SERVICE\シトリックス ピア解決サービス)
- シトリックス 資格情報ウォレット (NT SERVICE\シトリックス クレデンシャルウォレット)
- シトリックス サブスクリプションを格納するストア (NT SERVICE\CitrixSubscriptionsStore)
- シトリックス デフォルトドメインサービス (NTサービス\シトリックスデフォルトドメインサービス)
これらのアカウントはNetwork Serviceとしてログオンします。この構成を変更しないでください。
XenApp 6.5 用に StoreFront Kerberos の制約付き委任を構成すると、これに加えて、Citrix StoreFront プロトコルトランジションサービス (NT SERVICE\CitrixStoreFrontProtocolTransition) が作成されます。このサービスは NT AUTHORITY\SYSTEM として実行されます。この構成を変更しないでください。
ユーザー権限の割り当て
デフォルトからユーザー権限の割り当てを変更すると、StoreFrontで問題が発生する可能性があります。特に、
-
StoreFrontのインストールの一部としてMicrosoft IISが有効になります。Microsoft IISは、組み込みグループIIS_IUSRSにログオン権限「バッチジョブとしてログオン」と特権「認証後にクライアントを偽装」を付与します。これは通常のMicrosoft IISのインストール動作です。これらのユーザー権限を変更しないでください。詳細については、Microsoftのドキュメントを参照してください。
-
StoreFrontをインストールすると、アプリケーションプールが作成され、IISはユーザー権限「サービスとしてログオン」、「プロセスのメモリクォータの調整」、「セキュリティ監査の生成」、および「プロセスレベルトークンの置き換え」を付与します。
-
展開を作成または変更するには、管理者は「ファイルとディレクトリの復元」権限を持っている必要があります。
-
サーバーがサーバーグループに参加するには、Administratorsグループは「ファイルとディレクトリの復元」、「ネットワークからこのコンピューターにアクセス」、および「監査とセキュリティログの管理」の権限を持っている必要があります。
-
ユーザーがユーザー名とパスワード認証(直接またはゲートウェイ経由)でログオンするには、「ローカルログオンを許可」する権限を持っている必要があります。ただし、StoreFrontを構成してデリバリーコントローラー経由でパスワードを検証する場合は除きます。
これは網羅的なリストではなく、他のユーザーアクセス権が必要となる場合があります。
グループメンバーシップを構成する
StoreFrontサーバーグループを構成すると、次のサービスがAdministratorsセキュリティグループに追加されます。
- シトリックス 構成レプリケーション (NTサービス\シトリックス構成レプリケーション)
- Citrix Cluster Join (NT SERVICE\CitrixClusterService)。このサービスは、グループの一部であるサーバーでのみ表示され、結合が進行中の間のみ実行されます。
StoreFrontが正しく動作するために、これらのグループメンバーシップは次の目的で必要です。
- 証明書の作成、エクスポート、インポート、削除、およびそれらに対するアクセス許可の設定
- Windowsレジストリの読み取りと書き込み
- グローバルアセンブリキャッシュ (GAC) 内のMicrosoft .NET Frameworkアセンブリの追加と削除
- Program Files\Citrix\<StoreFrontLocation> にあるフォルダーに対して、アクセスを実行してください。
- IISアプリケーションプールIDおよびIIS Webアプリケーションの追加、変更、削除
- ローカルセキュリティグループおよびファイアウォールルールの追加、変更、削除
- WindowsサービスおよびPowerShellスナップインの追加と削除
- マイクロソフト ウィンドウズ コミュニケーション フレームワーク (WCF) エンドポイントを登録します
StoreFrontの更新では、この操作のリストは予告なく変更される可能性があります。
StoreFrontのインストールでは、以下のローカルセキュリティグループも作成されます。
- Citrixクラスターメンバー
- Citrix CWサービス読み取りユーザー
- Citrix CWサービス書き込みユーザー
- Citrix委任認証ユーザー
- Citrix委任ディレクトリクレームファクトリーユーザー
- シトリックスPNRSレプリケーター
- シトリックスPNRSユーザー
- Citrixストアフロント管理者
- Citrixサブスクリプションサーバーユーザー
- Citrixサブスクリプションストアサービスユーザー
- Citrixサブスクリプション同期ユーザー
StoreFrontはこれらのセキュリティグループのメンバーシップを維持します。これらはStoreFront内のアクセス制御に使用され、ファイルやフォルダーなどのWindowsリソースには適用されません。これらのグループメンバーシップを変更しないでください。
エヌティーエルエム
ローカルのESENTデータベースを使用して「お気に入り」を有効にしている場合、StoreFrontはサーバーグループ内でお気に入りを同期する際にNTLMを使用する可能性があります。NTLMを無効にすると、お気に入りの同期に失敗する可能性があります。代替策として、(/ja-jp/storefront/2507-ltsr/manage-deployment/subscriptions-database/store-subscription-data-in-sql-server)SQL Serverデータベースを使用できます。
ユーザーがドメインパススルー認証を使用して認証する場合、デフォルトではIISは可能であればKerberosを使用し、それ以外の場合はNTLMにフォールバックします。StoreFrontの前にロードバランサーがある場合、常にNTLMにフォールバックします。
サーバーをNTLMv2のみを使用し、NTLMv1を拒否するように構成できます。詳細については、Microsoftドキュメントを参照してください。Windows Server 2025以降では、NTLMv1が削除されているため、常にNTLMv2が使用されます。
ストアフロントの証明書
サーバー証明書
サーバー証明書は、StoreFrontにおけるマシン識別とトランスポート層セキュリティ (TLS) トランスポートセキュリティに使用されます。ICAファイル署名を有効にすることにした場合、StoreFrontは証明書を使用してICAファイルにデジタル署名することもできます。
詳細については、エンドユーザーとStoreFront間の通信およびICAファイル署名を参照してください。
トークン管理証明書
認証サービスとストアはそれぞれ、トークン管理のために証明書を必要とします。StoreFrontは、認証サービスまたはストアが作成されるときに自己署名証明書を生成します。StoreFrontによって生成された自己署名証明書は、他の目的で使用すべきではありません。
シトリックス デリバリー サービス 証明書
StoreFrontは、カスタムのWindows証明書ストア (Citrix Delivery Services) に多数の証明書を保持しています。Citrix Configuration Replicationサービス、Citrix Credential Walletサービス、およびCitrix Subscriptions Storeサービスは、これらの証明書を使用します。クラスター内の各StoreFrontサーバーは、これらの証明書のコピーを保持しています。これらのサービスは、セキュアな通信のためにTLSに依存しておらず、これらの証明書はTLSサーバー証明書としては使用されません。これらの証明書は、StoreFrontストアが作成されるか、StoreFrontがインストールされるときに作成されます。このWindows証明書ストアの内容を変更しないでください。
コード署名証明書
StoreFrontには、<InstallDirectory>\Scriptsフォルダーに多数のPowerShellスクリプト (.ps1) が含まれています。デフォルトのStoreFrontインストールでは、これらのスクリプトは使用されません。これらは、特定のまれなタスクの構成手順を簡素化します。これらのスクリプトは署名されており、StoreFrontがPowerShell実行ポリシーをサポートできるようにします。AllSignedポリシーを推奨します。(Restrictedポリシーは、PowerShellスクリプトの実行を妨げるため、サポートされていません。)StoreFrontはPowerShell実行ポリシーを変更しません。
StoreFrontはコード署名証明書を信頼された発行元ストアにインストールしませんが、Windowsはコード署名証明書を自動的にそこに追加できます。これは、PowerShellスクリプトが常に実行オプションで実行されたときに発生します。(実行しないオプションを選択した場合、証明書は信頼されていない証明書ストアに追加され、StoreFront PowerShellスクリプトは実行されません。)コード署名証明書が信頼された発行元ストアに追加されると、その有効期限はWindowsによってチェックされなくなります。StoreFrontタスクが完了した後、この証明書を信頼された発行元ストアから削除できます。
StoreFrontのセキュリティ分離
StoreFrontサーバーに、StoreFrontと同じWebドメイン(ドメイン名とポート)でWebアプリケーションをデプロイした場合、それらのWebアプリケーションのセキュリティリスクがStoreFrontデプロイメントのセキュリティを低下させる可能性があります。より高度なセキュリティ分離が必要な場合は、StoreFrontを別のWebドメインにデプロイすることをCitrixは推奨します。
ICAダウンロード
ICAファイルには、VDAに接続するための情報が含まれており、多くの場合、追加の認証なしでシングルサインオンできます。したがって、ICAファイルが保護されていることを確認してください。ハイブリッド起動の場合、構成によっては、ICAファイルがユーザーのデバイスにダウンロードされることがあります。ICAダウンロードを無効にすることをお勧めします。詳細については、「起動設定」を参照してください。
ICAファイル署名
StoreFrontは、サーバー上の指定された証明書を使用してICAファイルをデジタル署名するオプションを提供します。これにより、この機能をサポートするバージョンのCitrix Workspaceアプリは、ファイルが信頼できるソースから発信されたものであることを検証できます。ICAファイルは、SHA-1およびSHA-256を含む、StoreFrontサーバーで実行されているオペレーティングシステムがサポートする任意のハッシュアルゴリズムを使用して署名できます。詳細については、「ICAファイル署名を有効にする」を参照してください。
アプリ保護
画面キャプチャやスクリーンロガーを防ぐために、アプリ保護を使用できます。ハイブリッド起動の場合、アプリ保護はデフォルトで無効になっています。有効にするには、「アプリ保護」を参照してください。
ユーザーパスワードの変更
Active Directoryドメイン資格情報を使用してWebブラウザ経由でログオンするユーザーが、いつでも、または有効期限が切れた場合にのみパスワードを変更できるようにすることができます。ただし、これにより、認証サービスを使用するストアにアクセスできるすべてのユーザーに機密性の高いセキュリティ機能が公開されます。組織に、ユーザーパスワード変更機能を内部使用のみに限定するセキュリティポリシーがある場合は、どのストアも社内ネットワークの外部からアクセスできないようにしてください。認証サービスを作成すると、デフォルトの構成では、有効期限が切れていてもユーザーがパスワードを変更できないようになっています。詳細については、「ユーザーがパスワードを変更できるようにする」を参照してください。
カスタマイズ
セキュリティを強化するため、コンテンツセキュリティポリシーは他のサーバーからのスクリプトをブロックします。カスタマイズを作成する際は、スクリプトをウェブサイトのcustomフォルダーに配置してください。StoreFrontがHTTPS接続用に構成されている場合、カスタムコンテンツまたはスクリプトへのリンクもHTTPSを使用していることを確認してください。
セキュリティヘッダー
Webブラウザを通じてストアのWebサイトを表示すると、StoreFrontはWebブラウザに制限を課す以下のセキュリティ関連ヘッダーを返します。
| ヘッダー名 | 値 | 内容の説明 |
|---|---|---|
content-security-policy |
frame-ancestors 'none' |
これにより、他のサイトがフレーム内にStoreFrontウェブサイトを埋め込むことを防ぎ、クリックジャッキング攻撃を回避します。さらに、HTMLページには、XSS攻撃を軽減するためにスクリプトソースを制限するcontent-security-policyを含むmetaタグが含まれています。 |
X-Content-Type-Options |
nosniff |
これにより、MIMEタイプスニッフィングが回避されます。 |
X-Frame-Options |
deny |
これにより、他のサイトがフレーム内にStoreFrontウェブサイトを埋め込むことを防ぎ、クリックジャッキング攻撃を回避します。これはcontent-security-policyからframe-ancestors 'none'によって廃止されましたが、content-security-policyをサポートしない一部の古いブラウザでは理解されます。 |
X-XSS-Protection |
1; mode=block |
一部のブラウザでXSS(クロスサイトスクリプティング)攻撃を軽減するために使用されます |
Strict-Transport-Securityはデフォルトでは設定されていませんが、構成可能です。詳細については、HSTSを参照してください。
クッキー
StoreFrontは複数のクッキーを使用します。ウェブサイトの運用で使用されるクッキーの一部は次のとおりです。
| クッキー | 説明文 |
|---|---|
ASP.NET_SessionId |
認証ステータスを含むユーザーセッションを追跡します。HttpOnlyが設定されています。 |
CtxsAuthId |
セッション固定攻撃を防ぐため、StoreFrontは、このクッキーを使用してユーザーが認証されているかどうかも追跡します。HttpOnlyが設定されています。 |
CsrfToken |
標準のCookie-to-header tokenパターンを介したクロスサイトリクエストフォージェリを防ぐために使用されます。サーバーはクッキーにトークンを設定します。クライアントはクッキーからトークンを読み取り、後続のリクエストでクエリ文字列またはヘッダーにトークンを含めます。クライアントのJavaScriptが読み取れるように、このクッキーはHttpOnlyが設定されていない必要があります。 |
CtxsDeviceId |
デバイスを識別します。HttpOnlyが設定されています。 |
StoreFrontは、ユーザーの状態を追跡するために他のいくつかのクッキーを設定します。そのうちのいくつかはJavaScriptで読み取る必要があるため、HttpOnlyは設定されていません。これらのクッキーには、認証またはその他の機密情報に関する情報は含まれていません。
クライアントがHTTPS経由で接続する場合、クッキーを作成または更新する際にsecure属性を設定します。
追加のセキュリティ情報
注:
この情報は、予告なくいつでも変更される場合があります。
貴社は規制上の理由からStoreFrontのセキュリティスキャンを実行したいと考えるかもしれません。前述の構成オプションは、セキュリティスキャンレポートにおけるいくつかの検出結果を排除するのに役立ちます。
セキュリティスキャナーとStoreFrontの間にゲートウェイがある場合、特定の検出結果はStoreFront自体ではなくゲートウェイに関連している可能性があります。セキュリティスキャンレポートでは、通常、これらの検出結果(たとえば、TLS構成)を区別しません。このため、セキュリティスキャンレポートの技術的な説明は誤解を招く可能性があります。