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

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

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

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

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

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

localized image

ファイアウォールとネットワークセキュリティ

Citrix Gateway、StoreFront、および Delivery Controller™ コンポーネント間の通信は、ポート 443 経由の TLS によって保護される必要があります。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 パケットを提供することを要求します。

    • サーバー ファイアウォールポート
    • |—|—|
    • 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 証明機関では、登録機関、証明書テンプレート、および登録機関が証明書を発行できるユーザーを制限できます。

Enrollment Agents dialog

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

-  *登録機関*リストには FAS サーバーのみが含まれている。
  • 証明書テンプレートリストには FAS テンプレートのみが含まれている。
  • アクセス許可リストには、FAS の使用が許可されているユーザーのみが含まれている。たとえば、FAS が管理者グループまたは保護されたユーザーグループのユーザーに証明書を発行しないようにすることは良い習慣です。

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

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

ファイアウォール設定

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

イベントログの監視

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

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

    • FASによって発行されたユーザー証明書の秘密キーを含むすべての秘密キーは、ネットワークサービスアカウントによってエクスポート不可の秘密キーとして保存されます。セキュリティポリシーで必要とされる場合、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を構成します。

全般プロパティの変更

証明書テンプレートの有効期間を変更できます。

更新期間は変更しないでください。FASは証明書テンプレートのこの設定を無視します。FASは、有効期間の途中で証明書を自動的に更新します。

要求処理プロパティの変更

これらのプロパティは変更しないでください。FASは証明書テンプレートのこれらの設定を無視します。FASは常に秘密キーのエクスポートを許可するの選択を解除し、同じキーで更新するの選択を解除します。

暗号化プロパティの変更

これらのプロパティは変更しないでください。FASは証明書テンプレートのこれらの設定を無視します。

FASが提供する同等の設定については、秘密キーの保護を参照してください。

キー構成証明プロパティの変更

これらのプロパティは変更しないでください。FASはキー構成証明をサポートしていません。

廃止されたテンプレートプロパティの変更

これらのプロパティは変更しないでください。FASはテンプレートの上書きをサポートしていません。

  • 拡張機能プロパティの変更

  • これらの設定は、組織のポリシーに合わせて変更できます。

注: 不適切な拡張機能設定は、セキュリティ上の問題を引き起こしたり、使用できない証明書につながる可能性があります。

セキュリティプロパティの変更

Citrixは、これらの設定を、FASサーバーのコンピューターアカウントのみに読み取りおよび登録のアクセス許可を許可するように変更することを推奨します。FASサービスには、他のアクセス許可は必要ありません。ただし、他の証明書テンプレートと同様に、以下を許可することができます。

  • 管理者がテンプレートを読み取りまたは書き込み
  • 認証済みユーザーがテンプレートを読み取り

localized image

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

Citrixは、これらのプロパティを変更しないことを推奨します。

テンプレートには、このActive Directory情報から構築が選択されており、証明機関が証明書拡張機能にユーザーのSIDを含めるようになっています。これにより、ユーザーのActive Directoryアカウントへの強力なマッピングが提供されます。

サーバープロパティの変更

Citrixは推奨していませんが、必要に応じて、これらの設定を組織のポリシーに合わせて変更できます。

発行要件プロパティの変更

これらの設定は変更しないでください。これらの設定は、以下に示すとおりである必要があります。

localized image

互換性プロパティの変更

これらの設定は変更できます。設定は少なくとも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およびファイアウォールルールを構成できます。

登録の制限

既定では、登録機関証明書の所有者は、アクセスを許可する任意の証明書テンプレートを使用して、任意のユーザーに証明書を発行できます。これは、「登録エージェントの制限」証明機関プロパティを使用して、非特権ユーザーのグループに制限する必要があります。

localized image

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

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

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に保存して保護することを推奨しています。このオプションは、「オフライン」証明書要求プロセスの一部として提供されます。

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

イベントログ

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

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

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

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

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

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

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

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

RDPアクセスは、許可された管理者に限定されるべきです。可能な限り、ユーザーアカウントはスマートカードログオンを要求すべきであり、特に証明機関およびドメイン管理者アカウントではそのようにすべきです。

関連情報