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

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

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

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

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

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

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) がユーザーをログオンするために必要な単一使用の「資格情報ハンドル」が生成されます。

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

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

    • サーバー ファイアウォールポート
    • |—|—|
    • Federated Authentication Service [入力] StoreFront™ および VDA からの HTTP 経由の Kerberos、[出力] Microsoft 証明機関への DCOM
    • Citrix Gateway [入力] クライアントマシンからの HTTPS、[入力/出力] StoreFront サーバーへの/からの HTTPS、[出力] VDA への HDX
    • StoreFront [入力] Citrix Gateway からの HTTPS、[出力] Delivery Controller への HTTPS、[出力] FAS への Kerberos HTTP
      Delivery Controller [入力] StoreFront サーバーからの HTTPS、[入力/出力] VDA からの HTTP 経由の Kerberos
      VDA [入力/出力] Delivery Controller からの HTTP 経由の Kerberos、[入力] Citrix Gateway からの HDX、[出力] FAS への Kerberos HTTP
      Microsoft 証明機関 [入力] 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 の使用が許可されているユーザーが含まれている。たとえば、管理者または保護されたユーザーグループに証明書を発行しないことをお勧めします。

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

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

ファイアウォール設定

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

イベントログの監視

FASとVDAはWindowsイベントログに情報を書き込みます。このログは、監視および監査情報に使用できます。イベントログのセクションには、生成可能なイベントログエントリが一覧表示されます。

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

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

低レベルの暗号化構成は、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を構成します

一般プロパティの変更

デフォルトでは、ユーザー証明書の有効期間は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は、少なくとも登録機関証明書の秘密鍵をTPMに保存することで保護することを推奨しています。FASは、「オフライン」証明書要求プロセスの一部として、秘密鍵をTPMに保存するオプションを提供します。

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

イベントログ

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

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

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

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

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

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

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

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

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

関連情報