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

フェデレーション認証サービス (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証明機関は、固定TCPポートの使用を構成できる、Kerberos認証のDCOMを使用して、接続を受け入れます。同証明機関は、FASサーバーに信頼された登録エージェント証明書による署名済みのCMCパケットを提供するよう要求します。

サーバー ファイアウォールポート
フェデレーション認証サービス [in]StoreFrontおよびVDAからHTTP経由でKerberos、[out]DCOMからMicrosoft証明機関
Citrix Gateway [in]クライアントマシンからHTTPS、[in/out]HTTPSとStoreFrontサーバー間、[out]HDXからVDA
StoreFront [in]Citrix GatewayからHTTPS、[out]HTTPSからDelivery Controller、[out]KerberosからHTTP経由でFAS
Delivery Controller [in]StoreFrontサーバーからHTTPS、[in/out]VDAからHTTP経由でKerberos
VDA [in/out]Delivery ControllerからHTTP経由でKerberos、[in]Citrix GatewayからHDX、[out]KerberosからHTTP経由でFAS
Microsoft証明機関 [in]DCOMと、FASからの署名

Citrixフェデレーション認証サービスとCitrix Cloudの接続

コンソールとFASは、それぞれユーザーのアカウントとネットワークサービスアカウントを使用して次のアドレスにアクセスします。

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

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

セキュリティに関する注意事項

FASには、FASがドメインユーザーの代わりに自律的に証明書を発行できるようにする、登録機関の証明書があります。この証明書を使用して、FASサーバーに関する権限を制限してFASサーバーを保護するセキュリティポリシーを作成、実装することができます。

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

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

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

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

  • [Enrollment agents] の一覧にFASサーバーのみが含まれている。
  • [Certificate Templates] の一覧にFASテンプレートのみが含まれている。
  • [Permissions] の一覧にFASの使用が許可されているユーザーが含まれている。たとえば、AdministratorsまたはProtected Usersグループには証明書を発行しないことをお勧めします。

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

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

ファイアウォールの設定

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

イベントログの監視

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

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

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

FederatedAuthenticationService.exe.configファイルでは、低レベルの暗号化構成が使用可能です。これらの設定は、秘密キーが最初に作成されたときに適用されます。 そのため、登録機関の秘密キー(4096ビット、TPM保護など)およびランタイムのユーザー証明書には異なる設定が使用されることがあります。

パラメーター 説明
ProviderLegacyCsp trueに設定した場合、FASではMicrosoft CryptoAPI(CAPI)が使用されます。falseに設定した場合、FASではMicrosoft Cryptography Next Generation(CNG)APIが使用されます。
ProviderName 使用するCAPIまたはCNGプロバイダーの名前。
ProviderType Microsoft KeyContainerPermissionAccessEntry.ProviderType Property 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マシンは、グループポリシーで構成済みの「index number -> FQDN」のルックアップテーブルで識別されます。FASサーバーに接続する場合、クライアントはFASサーバーのHOST\<fqdn>Kerberos IDを検証します。このFASサーバーにアクセスするすべてのサーバーは、同じインデックスに同一のFQDNを持つ必要があります。同一のFQDNを持っていないStoreFrontおよびVDAは、別のFASサーバーに接続することができます。

構成ミスを避けるために、環境内のすべてのマシンに単一のポリシーを適用することをお勧めします。FASサーバーの一覧に変更を加える場合、特にエントリの削除や順序の変更は、注意して行ってください。

このGPOの管理は、FASサーバーのインストールおよび運用停止を担当するFAS管理者 (またはドメイン管理者) に限定する必要があります。FASサーバーの運用停止直後に、そのFQDNを再度使用しないように注意してください。

証明書テンプレート

FASから提供されるCitrix_SmartcardLogon証明書テンプレートを使用しない場合、証明書のコピーを変更できます。以下の変更がサポートされています。

証明書テンプレートの名前の変更

Citrix_SmartcardLogonの名前を変更する場合、所属組織のテンプレート命名標準に従って、以下を行う必要があります。

  • 証明書テンプレートのコピーを作成し、所属組織のテンプレート命名標準に従ってその名前を変更します。
  • 管理ユーザーインターフェイスではなく、管理FASへのFAS PowerShellコマンドを使用します。(管理ユーザーインターフェイスは、Citrixのデフォルトのテンプレート名での使用のみを対象としています。)
    • Microsoft MMC証明書テンプレートスナップインかPublish-FasMsTemplateコマンドを使用して、自身のテンプレートを公開し、
    • New-FasCertificateDefinitionコマンドにより、自身のテンプレートの名前を使用してFASを構成します。

全般プロパティの変更

デフォルトでは、ユーザー証明書の有効期間は7日間です。証明書テンプレートの有効期間を変更できます。

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

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

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

暗号プロパティの変更

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

FASで提供される該当の設定については、「秘密キー保護」を参照してください。

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

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

優先テンプレートプロパティの変更

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

拡張プロパティの変更

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

注:不適切な拡張設定を行うと、セキュリティの問題が発生したり、証明書が使用できなくなる場合があります。

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

FASサーバーのマシンアカウントにのみ読み取り権限および登録権限が許可されるように、これらの設定を変更することをCitrixではお勧めします。FASサービスを使用するのに他の権限は必要ありません。ただし、他の証明書テンプレートの場合と同様に、次のこともできます。

  • 管理者がテンプレートに対して読み取りまたは書き込みできるようにする
  • 認証ユーザーがテンプレートに対して読み取りできるようにする

ローカライズされた画像

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

Citrixでは、これらのプロパティを変更しないことをお勧めします。

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

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

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

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

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

ローカライズされた画像

互換性プロパティの変更

これらの設定は変更できます。この設定は、Windows Server 2003 CA(スキーマバージョン2)以上とする必要があります。ただし、FASがサポートするのはWindows Server 2008以降のCAのみです。上記の説明のとおり、Windows Server 2008 CA(スキーマバージョン3)またはWindows Server 2012 CA(スキーマバージョン4)を選択することにより使用可能となる追加設定は、FASでは無視されます。

証明機関の管理

証明機関の管理者の任務は、証明機関サーバーの構成、および証明機関サーバーが使用する証明書用秘密キーの発行です。

テンプレートの公開

エンタープライズ管理者の提供するテンプレートに基づいた証明書を証明機関が発行するには、証明機関の管理者がテンプレートの公開を選択する必要があります。

シンプルなセキュリティ対策としては、FASサーバーのインストール時にのみ登録機関証明書テンプレートを公開するか、またはオフラインの証明書発行手続きを選択することです。いずれの場合も、証明機関の管理者は登録機関証明書の要求の承認において全面的なコントロールを維持し、FASサーバーの承認に関するポリシーを持つ必要があります。

ファイアウォールの設定

証明機関の管理者は、証明機関のネットワークファイアウォール設定を管理して、受信接続の制御を行うことができます。証明機関の管理者は、DCOM TCPおよびファイアウォールルールを構成し、FASサーバーだけが証明書を要求できるようにすることができます。

登録の制限

デフォルトでは、登録機関証明書のすべての保持者が、アクセス可能な証明書テンプレートを使用して、ユーザーに証明書を発行することができます。この証明書のバージョンを、証明機関プロパティの[登録エージェントの制限]で、特権のないユーザーグループに制限する必要があります。

ローカライズされた画像

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

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

FASの管理

FASにはいくつかのセキュリティ機能があります。

アクセス制御リスト(ACL)によるStoreFront、ユーザー、およびVDAの制限

FASセキュリティモデルの中心となるのが、機能にアクセスできるKerberosアカウントの管理です。

アクセスベクトル 説明
StoreFront[IdP] これらのKerberosアカウントは、ユーザーが正しく認証されたと宣言することを信頼されています。Kerberosアカウントのいずれかが危害を受けた場合には、証明書が作成され、FASの構成で許可されたユーザーに証明書が使用されます。
VDA[証明書利用者] これらは、証明書および秘密キーへのアクセスが許可されたマシンです。このグループ内の危害を受けたVDAアカウントによるシステム攻撃の範囲が制限されるよう、IdPが取得した資格情報ハンドルも必要です。
ユーザー IdPがどのユーザーをアサートするかを管理します。証明機関の「制限付き登録エージェント」構成オプションと重複していることに注意してください。一般的に、アクセス制御リストには、特権のないアカウントのみを加えることをお勧めします。これにより、危害を受けたStoreFrontアカウントが、権限をより高い管理者レベルに高めることを防ぎます。特に、ドメイン管理者のアカウントは、このアクセス制御リストで許可されるべきではありません。

ルールの構成

独立した複数のCitrix Virtual AppsまたはCitrix Virtual Desktopsの展開で同じFASサーバーインフラストラクチャが使用されている場合には、ルールが役立ちます。各ルールにはそれぞれの構成オプションセットがあり、特にKerberosアクセス制御リスト(ACL)は、個別に構成することができます。

証明機関とテンプレートの設定

証明書テンプレートおよびCAは、それぞれ異なるアクセス権のために構成することができます。高度な構成では、環境に応じて、権限の度合いが異なる証明書を使用するよう選択することができます。たとえば、「外部」と識別されたユーザーには、「内部」ユーザーよりも権限が弱い証明書を発行できます。

セッション中および認証の証明書

FAS管理者は、認証に使用された証明書を、ユーザーのセッションで使用するかどうか管理します。 たとえば、セッションでは「署名」証明書のみ使用可能にし、より権限のある「ログオン」証明書はログオン時にのみ使用するように管理することができます。

秘密キー保護およびキー長

FAS管理者は、FASが秘密キーをハードウェアセキュリティモジュール(HSM)、またはトラステッドプラットフォームモジュール(TPM)に保存するよう構成できます。少なくとも登録機関証明書の秘密キーをTPMに保存して保護することをお勧めします。FASは、秘密キーをTPMに保存するオプションを、「オフライン」証明書要求プロセスの構成要素として用意しています。

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

イベントログ

FASサーバーによって、詳細な構成およびランタイムイベントのログが提供されるため、監査と侵入検出に役立てることができます。

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

FASには、リモート管理の機能(相互認証のKerberos)およびツールが含まれています。「ローカルのAdministratorsグループ」のメンバーは、FASの構成に対するフルコントロール権限を付与されています。FASの構成は適切に管理する必要があります。

Citrix Virtual Apps管理者、Citrix Virtual Desktops管理者、VDA管理者

「Active Directoryパスワード」はFASの「資格情報ハンドル」にそのまま置き換えられるため、FASの利用によってDelivery ControllerやVDA管理者のセキュリティモデルが変更されることはありません。ControllerおよびVDAの管理グループのメンバーは、信頼できるユーザーに限定する必要があります。監査およびイベントログを管理する必要があります。

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

すべてのサーバーにパッチを完全に適用し、標準のファイアウォールとアンチウィルスソフトウェアを使用する必要があります。セキュリティ上重要なインフラストラクチャのサーバーは、物理的に安全な場所に設置し、ディスクの暗号化や仮想マシンのメンテナンスオプションにも十分配慮する必要があります。

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

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

関連情報