セキュリティとネットワーク構成
フェデレーション認証サービス (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 パケットを提供することを要求します。
-
サーバー ファイアウォールポート - |—|—|
-
フェデレーション認証サービス [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の構成によって許可されたユーザーに対して証明書が作成され、使用される可能性があります。 |
| VDAs [Relying party] | これらは、証明書と秘密キーへのアクセスが許可されているマシンです。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アクセスは、許可された管理者に限定する必要があります。可能な限り、ユーザーアカウントはスマートカードログオンを要求する必要があります。特に、証明機関およびドメイン管理者アカウントの場合。