セキュリティとネットワーク構成

Federated Authentication Service (FAS) は、Microsoft Active Directory および Microsoft 証明機関と密接に統合されています。システムが適切に管理および保護されていることを確認し、ドメインコントローラーやその他の重要なインフラストラクチャと同様にセキュリティポリシーを策定してください。

このドキュメントでは、FASを展開する際に考慮すべきセキュリティ問題の概要を説明します。また、インフラストラクチャの保護に役立つ利用可能な機能の概要も提供します。

ネットワークアーキテクチャ

次の図は、FAS展開で使用される主要なコンポーネントとセキュリティ境界を示しています。

FASサーバーは、証明機関およびドメインコントローラーと同様に、セキュリティ上重要なインフラストラクチャの一部として扱われる必要があります。フェデレーション環境では、Citrix GatewayとCitrix StoreFrontはユーザー認証を実行するために信頼されているコンポーネントです。その他のCitrix Virtual Apps and Desktops™コンポーネントは、FASの導入による影響を受けません。

ローカライズされた画像

ファイアウォールとネットワークセキュリティ

ポート443経由のTLSは、Citrix Gateway、StoreFront、およびDelivery Controller™コンポーネント間の通信を保護します。StoreFrontサーバーは送信接続のみを実行し、Citrix GatewayはHTTPSポート443を使用してインターネット経由の接続のみを受け入れる必要があります。

StoreFrontサーバーは、相互認証されたKerberosを使用してポート80経由でFASサーバーに接続します。認証には、FASサーバーのKerberos HOST/fqdn IDと、StoreFrontサーバーのKerberosマシンアカウントIDが使用されます。このオプションは、ユーザーをログオンさせるためにCitrix Virtual Delivery Agent (VDA)が必要とする1回限りの「資格情報ハンドル」を生成します。

HDXセッションがVDAに接続されると、VDAもポート80経由でFASサーバーに接続します。認証には、FASサーバーのKerberos HOST/fqdn IDと、VDAのKerberosマシンIDが使用されます。また、VDAは証明書と秘密キーにアクセスするために「資格情報ハンドル」を提供する必要があります。

  • Microsoft証明機関は、Kerberos認証されたDCOMを使用した通信を受け入れます。これは、固定TCPポートを使用するように構成できます。証明機関はまた、FASサーバーが信頼された登録エージェント証明書によって署名されたCMCパケットを提供することを要求します。

    • サーバー ファイアウォールポート
    • |—|—|
    • Federated Authentication Service [in] StoreFront™およびVDAからのHTTP経由のKerberos、[out] Microsoft証明機関へのDCOM
    • Citrix Gateway [in] クライアントマシンからのHTTPS、[in/out] StoreFrontサーバーへの/からのHTTPS、[out] VDAへのHDX
    • StoreFront [in] Citrix GatewayからのHTTPS、[out] Delivery ControllerへのHTTPS、[out] FASへのKerberos HTTP
      Delivery Controller [in] StoreFrontサーバーからのHTTPS、[in/out] VDAからのHTTP経由のKerberos
      VDA [in/out] Delivery ControllerからのHTTP経由のKerberos、[in] Citrix GatewayからのHDX、[out] FASへのKerberos HTTP
      Microsoft証明機関 [in] FASからのDCOMおよび署名済み

Citrix Federated Authentication ServiceとCitrix Cloud™間の接続

コンソールとFASは、それぞれユーザーアカウントとネットワークサービスアカウントを使用して、次のアドレスにアクセスします。

-  FAS管理コンソール(ユーザーアカウント下)
-  `*.cloud.com`
-  `*.citrixworkspacesapi.net`
-  環境でサードパーティのIDプロバイダーを使用している場合に必要となるアドレス
  • FASサービス(ネットワークサービスアカウント下):
    • *.citrixworkspacesapi.net
    • *.citrixnetworkapi.net

環境にプロキシサーバーが含まれている場合、FAS管理コンソールのアドレスでユーザープロキシを構成します。また、ネットワークサービスアカウントのアドレスがnetshまたは同様のツールを使用して構成されていることを確認してください。

セキュリティに関する考慮事項

FASには、ドメインユーザーに代わって自律的に証明書を発行できる登録機関証明書があります。そのため、FASサーバーを保護し、その権限を制限するためのセキュリティポリシーを策定および実装することが重要です。

委任された登録エージェント

FASは、登録エージェントとして機能することでユーザー証明書を発行します。Microsoft証明機関では、登録エージェント、証明書テンプレート、および登録エージェントが証明書を発行できるユーザーを制限できます。

登録エージェントダイアログ

このダイアログを使用して、以下を確認できます。

-  *登録エージェント*リストにはFASサーバーのみが含まれていること。
  • 証明書テンプレートリストにはFASテンプレートのみが含まれていること。
  • 権限リストにはFASの使用が許可されているユーザーのみが含まれていること。たとえば、FASが管理者グループまたは保護されたユーザーグループのユーザーに証明書を発行するのを防ぐことは良い習慣です。

アクセス制御リストの構成

ルールの構成セクションで説明されているように、証明書が発行される際に、FASにユーザーIDをアサートすることを信頼されているStoreFrontサーバーのリストを構成する必要があります。同様に、どのユーザーに証明書が発行されるか、およびどのVDAマシンに認証できるかを制限できます。この機能は、構成する標準のActive Directoryまたは証明機関のセキュリティ機能に加えて提供されます。

ファイアウォール設定

FASサーバーへのすべての通信は、ポート80経由の相互認証されたWindows Communication Foundation (WCF) Kerberosネットワーク接続を使用します。

イベントログの監視

FASとVDAはWindowsイベントログに情報を書き込みます。これは監視および監査情報に使用できます。イベントログセクションには、生成する必要があるイベントログエントリがリストされています。

  • ハードウェアセキュリティモジュール

    • FASによって発行されたユーザー証明書の秘密鍵を含むすべての秘密鍵は、ネットワークサービスアカウントによってエクスポート不可能な秘密鍵として保存されます。セキュリティポリシーで必要とされる場合、FASは暗号化ハードウェアセキュリティモジュール(HSM)の使用をサポートします。

低レベルの暗号化構成は、FederatedAuthenticationService.exe.configファイルで利用できます。これらの設定は、秘密鍵が最初に作成されるときに適用されます。したがって、登録機関の秘密鍵(たとえば、4096ビット、TPM保護)とランタイムユーザー証明書には異なる設定を使用できます。

パラメーター 説明
ProviderLegacyCsp trueに設定すると、FASはMicrosoft CryptoAPI (CAPI)を使用します。それ以外の場合、FASはMicrosoft Cryptography Next Generation API (CNG)を使用します。
ProviderName 使用するCAPIまたはCNGプロバイダーの名前。
ProviderType Microsoft KeyContainerPermissionAccessEntry.ProviderTypeプロパティPROV_RSA_AES 24を参照します。CAPIでHSMを使用しており、HSMベンダーが別途指定しない限り、常に24である必要があります。
KeyProtection 秘密鍵の「エクスポート可能」フラグを制御します。また、ハードウェアでサポートされている場合、トラステッドプラットフォームモジュール(TPM)鍵ストレージの使用も許可します。
KeyLength RSA秘密鍵の鍵長。サポートされる値は1024、2048、4096です(デフォルト:2048)。

管理者の責任

環境の管理は、以下のグループに分けられます。

| 名前 | 責任 | | – | – |

  • エンタープライズ管理者 フォレスト内の証明書テンプレートのインストールと保護
  • ドメイン管理者 グループポリシー設定の構成
    証明機関管理者 証明機関の構成
    FAS管理者 FASサーバーのインストールと構成
    StoreFront/Citrix Gateway管理者 ユーザー認証の構成
    Citrix Virtual Desktops™管理者 VDAとコントローラーの構成

各管理者は、全体的なセキュリティモデルの異なる側面を制御し、システムのセキュリティを確保するための多層防御アプローチを可能にします。

グループポリシー設定

信頼されたFASマシンは、グループポリシーを通じて構成された「インデックス番号 -> FQDN」のルックアップテーブルによって識別されます。FASサーバーに接続する際、クライアントはFASサーバーのHOST\<fqdn> Kerberos IDを検証します。FASサーバーにアクセスするすべてのサーバーは、同じインデックスに対して同一のFQDN構成を持つ必要があります。そうでない場合、StoreFrontとVDAは異なるFASサーバーに接続する必要があります。

Citrixは、誤構成を避けるために、環境内のすべてのマシンに単一のポリシーを適用することを推奨します。FASサーバーのリストを変更する際は、特にエントリの削除や並べ替えを行う際に注意してください。

このGPOの制御は、FASサーバーをインストールおよび廃止するFAS管理者(および/またはドメイン管理者)に限定されるべきです。FASサーバーの廃止後すぐにマシンのFQDN名を再利用しないように注意してください。

証明書テンプレート

FASに付属のCitrix_SmartcardLogon証明書テンプレートを使用しない場合は、そのコピーを変更できます。以下の変更がサポートされています。

証明書テンプレートの名前変更

Citrix_SmartcardLogonの名前を組織のテンプレート命名標準に合わせて変更したい場合は、次の手順を実行する必要があります。

  • 証明書テンプレートのコピーを作成し、組織のテンプレート命名標準に合わせて名前を変更します。
  • 管理ユーザーインターフェイスではなく、FAS PowerShellコマンドを使用してFASを管理します。(管理ユーザーインターフェイスは、Citrixのデフォルトテンプレート名でのみ使用することを目的としています。)
    • Microsoft MMC証明書テンプレートスナップインまたはPublish-FasMsTemplateコマンドを使用してテンプレートを公開し、
    • New-FasCertificateDefinitionコマンドを使用して、テンプレート名でFASを構成します。

全般プロパティの変更

証明書テンプレートの有効期間を変更できます。

更新期間は変更しないでください。FASは証明書テンプレートのこの設定を無視します。FASは、有効期間の途中で証明書を自動的に更新します。

要求処理プロパティの変更

これらのプロパティは変更しないでください。FASは証明書テンプレートのこれらの設定を無視します。FASは常に秘密鍵のエクスポートを許可するの選択を解除し、同じ鍵で更新するの選択を解除します。

暗号化プロパティの変更

これらのプロパティは変更しないでください。FASは証明書テンプレートのこれらの設定を無視します。

FASが提供する同等の設定については、「秘密鍵の保護」を参照してください。

鍵構成証明プロパティの変更

これらのプロパティは変更しないでください。FASは鍵構成証明をサポートしていません。

置き換えられたテンプレートプロパティの変更

これらのプロパティは変更しないでください。FASはテンプレートの上書きをサポートしていません。

  • 拡張機能プロパティの変更

  • これらの設定は、組織のポリシーに合わせて変更できます。

注:不適切な拡張機能設定は、セキュリティ上の問題を引き起こしたり、使用できない証明書につながる可能性があります。

セキュリティプロパティの変更

Citrixは、これらの設定を、FASサーバーのマシンアカウントに対してのみ読み取りおよび登録のアクセス許可を許可するように変更することを推奨します。FASサービスには、その他のアクセス許可は必要ありません。ただし、他の証明書テンプレートと同様に、次のことができます。

  • 管理者がテンプレートを読み取りまたは書き込みできるようにする
  • 認証されたユーザーがテンプレートを読み取りできるようにする

ローカライズされた画像

サブジェクト名プロパティの変更

Citrixは、これらのプロパティを変更しないことを推奨します。

テンプレートには、このActive Directory情報から構築が選択されており、これにより証明機関はユーザーのSIDを証明書拡張機能に含めます。これは、ユーザーのActive Directoryアカウントへの強力なマッピングを提供します。

サーバープロパティの変更

Citrixは推奨していませんが、必要に応じて、これらの設定を組織のポリシーに合わせて変更できます。

発行要件プロパティの変更

これらの設定は変更しないでください。これらの設定は次のように表示されている必要があります。

ローカライズされた画像

互換性プロパティの変更

これらの設定は変更できます。設定は少なくともWindows Server 2003 CA(スキーマバージョン2)である必要があります。ただし、FASはWindows Server 2008以降のCAのみをサポートしています。また、前述のとおり、FASはWindows Server 2008 CA(スキーマバージョン3)またはWindows Server 2012 CA(スキーマバージョン4)を選択することで利用できる追加設定を無視します。

証明機関の管理

証明機関管理者は、証明機関サーバーの構成と、それが使用する発行証明書の秘密鍵に責任を負います。

テンプレートの発行

証明機関がエンタープライズ管理者によって提供されたテンプレートに基づいて証明書を発行するには、証明機関管理者がそのテンプレートを発行することを選択する必要があります。

簡単なセキュリティ対策として、FASサーバーのインストール時に登録機関証明書テンプレートのみを発行するか、完全にオフラインの発行プロセスを要求する方法があります。いずれの場合も、証明機関管理者は登録機関証明書要求の承認を完全に制御し、FASサーバーを承認するためのポリシーを維持する必要があります。

ファイアウォール設定

証明機関管理者は、証明機関のネットワークファイアウォール設定を制御し、受信接続を制御できます。証明機関管理者は、FASサーバーのみが証明書を要求できるようにDCOM TCPおよびファイアウォールルールを構成できます。

制限付き登録

デフォルトでは、登録機関証明書の所有者は、アクセスを許可する任意の証明書テンプレートを使用して、任意のユーザーに証明書を発行できます。この機能は、「登録エージェントの制限」証明機関プロパティを使用して、非特権ユーザーのグループに制限する必要があります。

ローカライズされた画像

ポリシーモジュールと監査

高度な展開では、カスタムセキュリティモジュールを使用して証明書の発行を追跡し、拒否することができます。

FAS管理

FASにはいくつかのセキュリティ機能があります。

ACLによるStoreFront、ユーザー、VDAの制限

FASセキュリティモデルの中心は、どのKerberosアカウントが機能にアクセスできるかを制御することです。

アクセスベクトル 説明
StoreFront [IdP] これらのKerberosアカウントは、ユーザーが正しく認証されたことを宣言するために信頼されています。これらのアカウントのいずれかが侵害された場合、FASの構成によって許可されたユーザーに対して証明書が作成され、使用される可能性があります。
VDA [証明書利用側] これらは、証明書と秘密鍵へのアクセスが許可されているマシンです。IdPによって取得された資格情報ハンドルも必要であるため、このグループ内の侵害されたVDAアカウントがシステムを攻撃できる範囲は限られています。
ユーザー このオプションは、IdPによってアサートできるユーザーを制御します。証明機関の「制限付き登録エージェント」構成オプションと重複することに注意してください。一般に、このリストには非特権アカウントのみを含めることをお勧めします。このオプションは、侵害されたStoreFrontアカウントがより高い管理レベルに特権を昇格させるのを防ぎます。特に、ドメイン管理者アカウントはこのACLによって許可されてはなりません。

ルールの構成

複数の独立したCitrix Virtual Apps™またはCitrix Virtual Desktops展開が同じFASサーバーインフラストラクチャを使用する場合、ルールは役立ちます。各ルールには個別の構成オプションセットがあります。特に、Kerberosアクセス制御リスト(ACL)は個別に構成できます。

証明機関とテンプレートの構成

異なるアクセス権に対して、異なる証明書テンプレートとCAを構成できます。高度な構成では、環境に応じて、より強力な証明書またはより強力でない証明書を使用することを選択できます。たとえば、「外部」として識別されたユーザーは、「内部」ユーザーよりも少ない特権を持つ証明書を持つことができます。

インセッション証明書と認証証明書

FAS管理者は、認証に使用される証明書がユーザーのセッションで使用可能であるかどうかを制御できます。たとえば、このオプションを使用して、インセッションで「署名」証明書のみを使用可能にし、より強力な「ログオン」証明書はログオン時のみ使用するようにすることができます。

秘密鍵の保護と鍵長

FAS管理者は、秘密鍵をハードウェアセキュリティモジュール(HSM)またはトラステッドプラットフォームモジュール(TPM)に保存するようにFASを構成できます。Citrixは、セキュリティのために、少なくとも登録機関証明書の秘密鍵をTPMに保存することを推奨します。このオプションは、「オフライン」証明書要求プロセスの一部として提供されます。

同様に、ユーザー証明書の秘密鍵はTPMまたはHSMに保存できます。すべての鍵は「エクスポート不可」として生成され、長さは2048ビット以上である必要があります。

イベントログ

FASサーバーは、監査および侵入検知に使用できる詳細な構成およびランタイムイベントログを提供します。

管理アクセスと管理ツール

FASには、リモート管理機能(相互認証Kerberos)とツールが含まれています。「ローカル管理者グループ」のメンバーは、FAS構成を完全に制御できます。このリストは慎重に管理する必要があります。

Citrix Virtual Apps、Citrix Virtual Desktops、およびVDA管理者

FASの使用は、FASの「資格情報ハンドル」が「Active Directoryパスワード」を単に置き換えるため、Delivery ControllerおよびVDA管理者のセキュリティモデルを変更しません。ControllerおよびVDA管理グループには、信頼できるユーザーのみを含める必要があります。監査およびイベントログは維持する必要があります。

一般的なWindowsサーバーセキュリティ

すべてのサーバーは完全にパッチが適用され、標準のファイアウォールおよびウイルス対策ソフトウェアが利用可能である必要があります。セキュリティ上重要なインフラストラクチャサーバーは、物理的に安全な場所に保管し、ディスク暗号化と仮想マシンのメンテナンスオプションに注意を払う必要があります。

監査およびイベントログは、リモートマシンに安全に保存する必要があります。

RDPアクセスは、許可された管理者のみに制限する必要があります。可能な限り、ユーザーアカウントはスマートカードログオンを要求する必要があります。特に、証明機関およびドメイン管理者アカウントの場合。

関連情報