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

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

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

ネットワークアーキテクチャとセキュリティ

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

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

サーバーとプロトコルを示す図

| サーバー | 接続 | |————————–|——————————————————|

  • Federated Authentication Service [in] StoreFront™ および VDA からの Kerberos セキュリティを使用した HTTP、[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 からの Kerberos セキュリティを使用した HTTP
    VDA [in/out] Delivery Controller からの Kerberos セキュリティを使用した HTTP、[in] Citrix Gateway からの HDX、[out] FAS への Kerberos セキュリティを使用した HTTP
    Microsoft 証明機関 [in] 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 サーバーがそのユーザーの証明書をまだ持っていない場合、証明機関と通信して証明書を要求します。証明機関は、FAS サーバーが信頼された登録エージェント証明書によって署名された CMC パケットを提供することを要求します。
  • FAS サーバーは DCOM を使用して Microsoft 証明機関と通信します。必要なポートについては、Microsoft ドキュメント を参照してください。

    • Kerberos を使用して認証します。

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

FAS を Citrix Cloud に接続する場合、FAS サーバーは HTTPS ポート 443 経由で次のアドレスにアクセスできる必要があります。

Citrix Cloud:

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

Citrix Cloud Japan:

  • ユーザーアカウントで実行される FAS 管理コンソール
    • *.citrixcloud.jp
    • *.citrixworkspacesapi.jp
    • 環境で使用されている場合、サードパーティの ID プロバイダーが必要とするアドレス
    • ネットワークサービスアカウントで実行される FAS サービス:
    • *.citrixworkspacesapi.jp
    • *.citrixnetworkapi.jp

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

詳細情報

他の Citrix コンポーネント間の通信を保護する方法については、次の記事を参照してください。

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

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

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

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

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

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

  • 登録エージェントリストには、FASサーバーのみが含まれます(Active Directory展開で他の登録エージェントが不要であると仮定した場合)。
  • 証明書テンプレートリストには、ユーザー証明書の発行に使用されるFASテンプレートのみが含まれます。デフォルトでは、これはCitrix_SmartcardLogonテンプレートです。
  • アクセス許可リストには、FASの使用を許可されているユーザーが含まれます。たとえば、AdministratorsまたはProtected Usersグループに証明書を発行しないことをお勧めします。

注:

コンピューターアカウントのActive Directoryグループメンバーシップに対する変更は、コンピューターが再起動されるまで有効になりません。

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

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

ファイアウォール設定

FASサーバーポートの変更

FASサーバーはデフォルトでポート80を使用します。ポートはカスタマイズできます。

注:

FASサーバーポートをポート443に変更できますが、FASが使用するプロトコルは変更されません。FASは、ポート443で構成されていてもHTTPSを使用しません。

  1. FASサーバーで次のコマンドラインを実行します。

    "C:\Program Files\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe" /SVCPORT [port] /CONFIGUREFIREWALL
    <!--NeedCopy-->
    

    [port]を使用するポート番号に置き換えます。

    /CONFIGUREFIREWALLスイッチを使用すると、Windowsファイアウォールが更新され、指定されたポートでの受信接続が許可されます。

  2. FASサービスを再起動します。

  3. FASグループポリシーオブジェクトで、FASサーバーのリストを更新してポートを含めます(例: fas.example.com:[port])。

    1. FASサーバー、StoreFront、およびVDAに変更を伝播します(例: gpupdate /forceを使用)。

イベントログ監視

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

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

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

低レベルの暗号化構成は、PowerShellコマンドを使用して利用できます。FAS承認証明書秘密キーとユーザー証明書キーには、異なる設定を使用できます。詳細については、「秘密キーの保護」を参照してください。

管理者の責任

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

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

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

グループポリシー設定

注:

すべてのFASサーバーとVDAがバージョン2511以降の場合、VDA上のグループポリシーFQDNリストは不要になります。「FAS V2チケッティングとレジストリアドレスリスト」を参照してください。

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

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

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

FASグループポリシー設定は、レジストリのHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Citrix\Authenticationに表示されます。グループポリシーからのFAS FQDNのリストは、サブキーHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Citrix\Authentication\UserCredentialService\Addressesに表示されます。

証明書テンプレート

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サービスには、その他のアクセス許可は必要ありません。

さらに:

  • 認証済みユーザーがテンプレートを読み取ることを許可します。これは、証明機関自体がテンプレートを読み取る必要があるため、必須です。
  • 証明機関管理者がテンプレートを読み取りおよび書き込むことを許可します。

この推奨事項は、次の3つのFASテンプレートすべてに適用されます。

  • Citrix_SmartcardLogon
  • Citrix_RegistrationAuthority
  • Citrix_RegistrationAuthority_ManualAuthorization

ローカライズされた画像

注:

コンピューターアカウントのActive Directoryグループメンバーシップに対する変更は、コンピューターが再起動されるまで有効になりません。

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

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およびファイアウォールルールを構成できます。

登録の制限

デフォルトでは、登録機関証明書の所有者は、アクセスを許可する任意の証明書テンプレートを使用して、任意のユーザーに証明書を発行できます。Citrixでは、登録エージェントの制限証明機関プロパティを使用して、証明書の発行を非特権ユーザーのグループに制限することをお勧めします。詳しくは、「委任された登録エージェント」を参照してください。

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

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

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管理者は、FASが秘密キーをハードウェアセキュリティモジュール(HSM)またはトラステッドプラットフォームモジュール(TPM)に保存するように構成できます。Citrixでは、少なくともFAS承認証明書の秘密キーをTPMに保存することで保護することをお勧めします。

同様に、ユーザー証明書の秘密キーはTPMまたはHSMに保存できます。すべてのキーはエクスポート不可として生成され、RSAを使用する場合は少なくとも2048ビットの長さである必要があります。

注:

FASはユーザー証明書キーをTPMまたはHSMで生成および保存できますが、大規模な展開ではハードウェアが遅すぎるか、サイズが制約される可能性があります。

詳しくは、「秘密キーの保護」を参照してください。

イベントログ

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

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

FASには、リモート管理機能(相互認証Kerberos)とツールが含まれています。「ローカル管理者グループ」のメンバーは、FAS構成に対する完全な制御権を持っています。FAS構成は適切に維持する必要があります。

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

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

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

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

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

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

連邦情報処理標準(FIPS)のサポート

FASは、FIPS対応WindowsコンピューターでFIPS検証済み暗号化アルゴリズムを使用します。キー保存にTPMまたはHSMを使用するようにFASを構成する場合は、FIPS準拠情報についてハードウェアベンダーにお問い合わせください。

関連情報