フェデレーション認証サービス のセキュリティとネットワーク構成
Citrix フェデレーション認証サービス (FAS) は、Microsoft Active Directory および Microsoft 証明機関 (CA) と密接に統合されています。ドメインコントローラーやその他の重要なインフラストラクチャと同様にセキュリティポリシーを策定し、システムが適切に管理および保護されるようにすることが不可欠です。
このドキュメントでは、FAS を展開する際に考慮すべきセキュリティ問題の概要を説明します。また、インフラストラクチャの保護に役立つ可能性のある利用可能な機能の概要も提供します。
ネットワークアーキテクチャ
次の図は、FAS 展開で使用される主要なコンポーネントとセキュリティ境界を示しています。
FAS サーバーは、CA およびドメインコントローラーと同様に、セキュリティ上重要なインフラストラクチャの一部として扱われるべきです。フェデレーション環境では、Citrix NetScaler および Citrix StoreFront™ はユーザー認証を実行するために信頼されるコンポーネントです。その他の XenApp および XenDesktop コンポーネントは、FAS の導入による影響を受けません。

ファイアウォールとネットワークセキュリティ
NetScaler、StoreFront、および Delivery Controller™ コンポーネント間の通信は、ポート 443 を介した TLS によって保護される必要があります。StoreFront サーバーは送信接続のみを実行し、NetScaler 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 CA は、Kerberos 認証された DCOM を使用した通信を受け入れます。これは固定 TCP ポートを使用するように構成できます。CA はさらに、FAS サーバーが信頼された登録エージェント証明書によって署名された CMC パケットを提供することを要求します。
| サーバー | ファイアウォールポート |
|---|---|
| フェデレーション認証サービス | [in] ストアフロントおよびVDAからのHTTP経由ケルベロス、[out] Microsoft CAへのDCOM |
| ネットスケーラー | [in] クライアントマシンからのHTTPS、[in/out] ストアフロントサーバーとのHTTPS、[out] VDAへのHDX |
| ストアフロント | [in] NetScaler®から発信されるHTTPSプロトコルによる通信、[out] Delivery Controllerへ送信されるHTTPSプロトコルによる通信、[out] FASへ送信されるKerberos HTTPプロトコルによる通信 |
| デリバリーコントローラー | [in] StoreFrontサーバーから発信されるHTTPSプロトコルによる通信、[in/out] VDAから発信されるHTTPプロトコル経由のKerberos認証 |
| VDA | [in/out] Kerberos over HTTP from Delivery Controller, [in] HDX from NetScaler Gateway, [out] Kerberos HTTP to FAS |
| マイクロソフト シーエー | [in] FASからのDCOMおよび署名済み |
管理に関する責任
環境の管理は、以下のグループに分けられます。
| 名前 | 責任 |
|---|---|
| エンタープライズ管理者 | フォレスト内の証明書テンプレートをインストールして保護する |
| ドメイン管理者 | グループポリシー設定を構成する |
| CA管理者 | 証明機関を構成する |
| FAS管理者 | FASサーバーをインストールして構成する |
| ストアフロント/ネットスケーラー 管理者 | ユーザー認証を構成する |
| ゼノンデスクトップ® 管理者 | VDAとコントローラーを構成する |
各管理者は、全体的なセキュリティモデルの異なる側面を制御し、システムを保護するための多層防御アプローチを可能にします。
グループポリシー設定
Trusted FAS machines are identified by a lookup table of “index number -> FQDN” configured through Group Policy. When contacting an FAS server, clients verify the FAS server’s HOST\<fqdn> Kerberos identity. All servers that access the FAS server must have identical FQDN configurations for the same index; otherwise, StoreFront and VDAs may contact different FAS servers.
設定ミスを避けるため、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が提供する同等の設定については、「Federated Authentication Serviceの秘密キー保護」を参照してください。
キー構成証明プロパティの変更
これらのプロパティは変更しないでください。FASはキー構成証明をサポートしていません。
置き換えられたテンプレートプロパティの変更
これらのプロパティは変更しないでください。FASはテンプレートの置き換えをサポートしていません。
拡張機能プロパティの変更
これらの設定は、組織のポリシーに合わせて変更できます。
注: 不適切な拡張機能設定は、セキュリティ上の問題を引き起こしたり、使用できない証明書になったりする可能性があります。
セキュリティプロパティの変更
Citrixでは、FASサーバーのマシンアカウントに対してのみ、読み取りおよび登録の権限を許可するようにこれらの設定を変更することをお勧めします。FASサービスには、その他の権限は必要ありません。ただし、他の証明書テンプレートと同様に、次のことをお勧めします。
- 管理者がテンプレートを読み取りまたは書き込みできるようにする
- 認証されたユーザーがテンプレートを読み取れるようにする

サブジェクト名のプロパティを変更する
必要に応じて、これらの設定を組織のポリシーに合わせて変更できます。
サーバーのプロパティを変更する
Citrixは推奨していませんが、必要に応じて、これらの設定を組織のポリシーに合わせて変更できます。
発行要件のプロパティを変更する
これらの設定は変更しないでください。これらの設定は次のように表示されるはずです。

互換性のプロパティを変更する
これらの設定は変更できます。設定は少なくとも Windows Server 2003 CA(スキーマバージョン2)である必要があります。ただし、FASはWindows Server 2008以降のCAのみをサポートしています。また、上記で説明したように、FASは Windows Server 2008 CA(スキーマバージョン3)または Windows Server 2012 CA(スキーマバージョン4)を選択することで利用できる追加設定を無視します。
証明機関の管理業務
CA管理者は、CAサーバーの構成と、それが使用する発行証明書の秘密キーを担当します。
テンプレートの公開
証明機関がエンタープライズ管理者によって提供されたテンプレートに基づいて証明書を発行するには、CA管理者がそのテンプレートを公開することを選択する必要があります。
簡単なセキュリティ対策としては、FASサーバーのインストール時にRA証明書テンプレートのみを公開するか、完全にオフラインの発行プロセスを要求することです。いずれの場合も、CA管理者はRA証明書要求の承認を完全に制御し、FASサーバーを承認するためのポリシーを持つ必要があります。
ファイアウォールの設定
通常、CA管理者はCAのネットワークファイアウォール設定も制御し、受信接続を制御できます。CA管理者は、FASサーバーのみが証明書を要求できるように、DCOM TCPおよびファイアウォール規則を構成できます。
制限付き登録
デフォルトでは、RA証明書の所有者は、アクセスを許可する任意の証明書テンプレートを使用して、任意のユーザーに証明書を発行できます。これは、「登録エージェントの制限」CAプロパティを使用して、非特権ユーザーのグループに制限する必要があります。

ポリシーモジュールと監査
高度な展開では、カスタムセキュリティモジュールを使用して、証明書の発行を追跡および拒否できます。
FAS管理
FASにはいくつかのセキュリティ機能があります。
ACLを介したStoreFront、ユーザー、およびVDAの制限
FASセキュリティモデルの中心にあるのは、どのKerberosアカウントが機能にアクセスできるかの制御です。
| アクセスベクター | 説明 |
|---|---|
| ストアフロント [IdP] | これらのKerberosアカウントは、ユーザーが正しく認証されたことを宣言するために信頼されています。これらのアカウントのいずれかが侵害された場合、FASの構成によって許可されたユーザーのために証明書を作成し、使用することができます。 |
| ブイディーエー [Relying party] | これらは、証明書と秘密鍵にアクセスできるマシンです。IdPによって取得された資格情報ハンドルも必要であるため、このグループ内の侵害されたVDAアカウントがシステムを攻撃できる範囲は限られています。 |
| ユーザー | これは、どのユーザーがIdPによってアサートされるかを制御します。CAの「制限付き登録エージェント」構成オプションと重複があることに注意してください。一般的に、このリストには非特権アカウントのみを含めることをお勧めします。これにより、侵害されたStoreFrontアカウントがより高い管理レベルに特権を昇格させることを防ぎます。特に、ドメイン管理者アカウントは、このACLによって許可されるべきではありません。 |
ルールの構成
複数の独立したXenApp®またはXenDesktop展開が同じFASサーバーインフラストラクチャを使用する場合、ルールは役立ちます。各ルールには個別の構成オプションセットがあり、特にACLは個別に構成できます。
CAとテンプレートの構成
異なるアクセス権に対して、異なる証明書テンプレートとCAを構成できます。高度な構成では、環境に応じて、より強力な証明書またはより強力でない証明書を使用することを選択できます。たとえば、「外部」として識別されたユーザーは、「内部」ユーザーよりも少ない特権を持つ証明書を持つ場合があります。
セッション内証明書と認証証明書
FAS管理者は、認証に使用される証明書がユーザーセッション内で使用可能であるかどうかを制御できます。たとえば、これにより、セッション内では「署名」証明書のみが利用可能になり、より強力な「ログオン」証明書はログオン時にのみ使用されるようにすることができます。
秘密鍵の保護と鍵の長さ
FAS管理者は、FASが秘密鍵をハードウェアセキュリティモジュール(HSM)またはトラステッドプラットフォームモジュール(TPM)に保存するように構成できます。Citrixは、少なくともRA証明書の秘密鍵をTPMに保存して保護することを推奨しています。このオプションは、「オフライン」証明書要求プロセスの一部として提供されます。
同様に、ユーザー証明書の秘密鍵はTPMまたはHSMに保存できます。すべての鍵は「エクスポート不可」として生成され、長さは2048ビット以上である必要があります。
イベントログ
FASサーバーは、監査および侵入検知に使用できる詳細な構成およびランタイムイベントログを提供します。
管理アクセスと管理ツール
FASには、リモート管理機能(相互認証Kerberos)とツールが含まれています。「ローカル管理者グループ」のメンバーは、FAS構成を完全に制御できます。このリストは慎重に管理する必要があります。
ゼナップ、ゼンデスクトップ、およびVDA管理者
一般に、FASの「資格情報ハンドル」は「Active Directoryパスワード」を置き換えるだけであるため、FASの使用はDelivery ControllerおよびVDA管理者のセキュリティモデルを変更しません。ControllerおよびVDA管理グループには、信頼できるユーザーのみを含める必要があります。監査ログとイベントログは維持する必要があります。
一般的なWindowsサーバーのセキュリティ
すべてのサーバーは完全にパッチが適用され、標準のファイアウォールおよびウイルス対策ソフトウェアが利用可能である必要があります。セキュリティ上重要なインフラストラクチャサーバーは、ディスク暗号化と仮想マシンのメンテナンスオプションに注意を払い、物理的に安全な場所に保管する必要があります。
監査ログとイベントログは、リモートマシンに安全に保存する必要があります。
RDPアクセスは、承認された管理者のみに制限する必要があります。可能な限り、ユーザーアカウントはスマートカードログオンを要求する必要があります。特にCAおよびドメイン管理者アカウントの場合。
関連する情報
- Federated Authentication Serviceの記事は、FASのインストールと構成に関する主要なリファレンスです。
- FASアーキテクチャは、フェデレーション認証サービスアーキテクチャの概要の記事で紹介されています。
- その他の「ハウツー」記事は、フェデレーション認証サービスの構成と管理の記事で紹介されています。