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

| サーバー | 接続 | |————————–|——————————————————|
-
フェデレーション認証サービス [入力] StoreFront™ および VDA からの Kerberos セキュリティを使用した HTTP、[出力] Microsoft 証明機関への DCOM -
Citrix Gateway [入力] クライアントマシンからの HTTPS、[入力/出力] StoreFront サーバーとの HTTPS、[出力] VDA への HDX -
StoreFront [入力] Citrix Gateway からの HTTPS、[出力] Delivery Controller™ への HTTPS、[出力] FAS への Kerberos セキュリティを使用した HTTP -
Delivery Controller [入力] StoreFront サーバーからの HTTPS、[入力/出力] VDA からの Kerberos セキュリティを使用した HTTP VDA [入力/出力] Delivery Controller からの Kerberos セキュリティを使用した HTTP、[入力] Citrix Gateway からの HDX、[出力] FAS への Kerberos セキュリティを使用した HTTP Microsoft 証明機関 [入力] FAS からの DCOM -
StoreFront と FAS 間の通信
-
VDA を起動すると、StoreFront サーバーは FAS サーバーに接続して、Citrix Virtual Delivery Agent (VDA) がユーザーをサインインさせるために必要なシングルユースチケットを取得します。
-
StoreFront は、HTTP 経由の SOAP を使用して FAS に接続します。デフォルトではポート 80 を使用します。
-
FAS サーバーの Kerberos HOST/fqdn ID と StoreFront サーバーの Kerberos マシンアカウント ID を使用して、相互 Kerberos 認証を行います。
- データはメッセージレベルセキュリティを使用して暗号化されます。暗号化を有効にするための追加設定は不要です。
VDA と FAS 間の通信
- HDX™ セッションが VDA に接続されると、VDA は FAS サーバーに接続して証明書を要求します。
- VDA は、HTTP 経由の SOAP を使用して FAS サーバーに接続します。デフォルトではポート 80 を使用します。
- FAS サーバーの Kerberos HOST/fqdn ID と VDA の Kerberos マシン ID を使用して、相互 Kerberos 認証を行います。また、VDA は証明書と秘密キーにアクセスするために「資格情報ハンドル」を提供する必要があります。
- データはメッセージレベルセキュリティを使用して暗号化されます。暗号化を有効にするための追加設定は不要です。
FAS と Microsoft 証明機関間の通信
- ユーザーが VDA を起動したときに、FAS サーバーがそのユーザーの証明書をまだ持っていない場合、証明機関と通信して証明書を要求します。証明機関は、信頼された登録エージェント証明書によって署名された CMC パケットを FAS サーバーが提供することを要求します。
-
FAS サーバーは、DCOM を使用して Microsoft 証明機関と通信します。必要なポートについては、Microsoft ドキュメントを参照してください。
- Kerberos を使用して認証します。
Citrix フェデレーション認証サービスと Citrix Cloud™ 間の接続
FAS を Citrix Cloud に接続する場合、FAS サーバーは HTTPS ポート 443 経由で次のアドレスにアクセスできる必要があります。
Citrix Cloud:
- ユーザーアカウントで実行される FAS 管理コンソール
- `*.cloud.com`
- `*.citrixworkspacesapi.net`
- 環境でサードパーティの ID プロバイダーを使用している場合に必要となるアドレス
- Network Service アカウントで実行される FAS サービス:
*.citrixworkspacesapi.net*.citrixnetworkapi.net
Citrix Cloud Japan:
- ユーザーアカウントでの FAS 管理コンソール
*.citrixcloud.jp*.citrixworkspacesapi.jp- 環境でサードパーティの ID プロバイダーを使用している場合に必要となるアドレス
- Network Service アカウントでの FAS サービス:
*.citrixworkspacesapi.jp*.citrixnetworkapi.jp
環境にプロキシサーバーが含まれている場合は、FAS 管理コンソールのアドレスでユーザープロキシを構成します。また、Network Service アカウントのアドレスが netsh または同様のツールを使用して構成されていることを確認してください。
詳細情報
他の Citrix コンポーネント間の通信を保護する方法については、次の記事を参照してください。
セキュリティに関する考慮事項
FAS には、ドメインユーザーに対して自律的に証明書を発行できる登録機関証明書があります。これは、FAS サーバーを保護し、その権限を制限するためのセキュリティポリシーを策定および実装するのに役立ちます。
委任された登録エージェント
FAS は、登録エージェントとして機能することでユーザー証明書を発行します。Microsoft 証明機関では、登録エージェント、証明書テンプレート、および登録エージェントが証明書を発行できるユーザーを制限できます。

指定されたダイアログを使用して、以下を確認できます。
- 「登録エージェント」リストにFASサーバーのみが含まれていること
- 「証明書テンプレート」リストにFASテンプレートのみが含まれていること
- 「権限」リストにFASの使用が許可されているユーザーが含まれていること。たとえば、管理者または保護されたユーザーグループに証明書を発行しないことをお勧めします。
アクセス制御リストの構成
「ルールの構成」セクションで説明されているように、StoreFrontサーバーのリストを構成する必要があります。これらのStoreFrontサーバーは、証明書が発行される際にFASに対してユーザーIDをアサートします。同様に、証明書が発行されるユーザーや、認証できるVDAマシンを制限できます。この機能は、構成する標準のActive Directoryまたは証明機関のセキュリティ機能に追加されるものです。
-
ファイアウォール設定
- FASサーバーは、別途構成されていない限り、ポート80を使用してStoreFrontおよびVDAからの受信接続を受け入れる必要があります。ネットワーク通信の詳細については、「ネットワークアーキテクチャとセキュリティ」を参照してください。
FASインストーラーは、オプションでWindowsファイアウォールを構成できます。詳細については、「FASインストーラーオプション」を参照してください。
FASサーバーポートの変更
FASサーバーはデフォルトでポート80を使用します。ポートはカスタマイズできます。
注:
FASサーバーのポートをポート443に変更できますが、FASが使用するプロトコルは変更されません。FASは、ポート443で構成されていてもHTTPSを使用しません。
-
FASサーバーで次のコマンドラインを実行します。
"C:\Program Files\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe" /SVCPORT [port] /CONFIGUREFIREWALL <!--NeedCopy-->[port]を、使用するポート番号に置き換えます。/CONFIGUREFIREWALLスイッチを使用すると、Windowsファイアウォールが更新され、指定されたポートでの受信接続が許可されます。
-
- FASサービスを再起動します。
-
FASグループポリシーオブジェクトで、FASサーバーのリストを更新してポートを含めます(例:
fas.example.com:[port])。 -
変更をFASサーバー、StoreFront、およびVDAに伝播します(例:
gpupdate /forceを使用)。
イベントログの監視
FASとVDAは、Windowsイベントログに情報を書き込みます。このログは、監視および監査情報に使用できます。「イベントログ」セクションには、生成される可能性のあるイベントログエントリがリストされています。
ハードウェアセキュリティモジュール
FASによって発行されたユーザー証明書キーを含むすべての秘密キーは、Network Serviceアカウントによってエクスポート不可能な秘密キーとして保存されます。FASは、セキュリティポリシーで必要とされる場合、暗号化ハードウェアセキュリティモジュールの使用をサポートします。
低レベルの暗号化構成は、PowerShellコマンドを使用して利用できます。FAS承認証明書秘密キーとユーザー証明書キーには、異なる設定を使用できます。詳細については、「秘密キーの保護」を参照してください。
管理者の責任
環境の管理は、次のグループに分けることができます。
| 名前 | 責任 |
|---|---|
| エンタープライズ管理者 | フォレスト内の証明書テンプレートのインストールと保護 |
| ドメイン管理者 | グループポリシー設定の構成 |
| 証明機関管理者 | 証明機関の構成 |
| 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を構成します。
一般プロパティの変更
ユーザー証明書の有効期間は、デフォルトで7日間です。証明書テンプレートで有効期間を変更できます。
更新期間は変更しないでください。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は、少なくともFAS認証証明書の秘密鍵をTPMに保存して保護することを推奨します。
同様に、ユーザー証明書の秘密鍵はTPMまたはHSMに保存できます。すべての鍵は、エクスポート不可として生成され、RSAを使用する場合は少なくとも2048ビットの長さである必要があります。
注:
FASはTPMまたはHSMでユーザー証明書鍵を生成および保存できますが、大規模な展開ではハードウェアが遅すぎたり、サイズが制限されたりする可能性があります。
詳細については、秘密鍵の保護を参照してください。
イベントログ
FASサーバーは、監査および侵入検知に使用できる詳細な構成およびランタイムイベントログを提供します。
管理アクセスと管理ツール
FASには、リモート管理機能(相互認証Kerberos)とツールが含まれています。 「ローカル管理者グループ」のメンバーは、FAS構成を完全に制御できます。 FAS構成は適切に維持する必要があります。
Citrix Virtual Apps、Citrix Virtual Desktops、およびVDA管理者
FASの使用は、FASの「資格情報ハンドル」が単に「Active Directoryパスワード」を置き換えるため、Delivery ControllerおよびVDA管理者のセキュリティモデルを変更しません。 ControllerおよびVDA管理グループには、信頼できるユーザーのみを含める必要があります。 監査とイベントログは維持する必要があります。
一般的なWindowsサーバーのセキュリティ
すべてのサーバーは完全にパッチが適用され、標準のファイアウォールおよびウイルス対策ソフトウェアが利用可能である必要があります。 セキュリティ上重要なインフラストラクチャサーバーは、物理的に安全な場所に保管し、ディスク暗号化と仮想マシンのメンテナンスオプションに注意を払う必要があります。
監査とイベントログは、リモートマシンに安全に保存する必要があります。
RDPアクセスは、許可された管理者に制限する必要があります。Citrixは、ユーザーアカウント、特に証明機関およびドメイン管理者アカウントにスマートカードログオンを推奨します。
連邦情報処理標準(FIPS)のサポート
FASは、FIPS対応WindowsコンピューターでFIPS検証済み暗号化アルゴリズムを使用します。 鍵ストレージにTPMまたはHSMを使用するようにFASを構成する場合は、FIPS準拠情報についてハードウェアベンダーに問い合わせてください。