フェデレーション認証サービスのセキュリティとネットワークの構成
Citrixフェデレーション認証サービス(FAS)は、Microsoft Active DirectoryおよびMicrosoft証明機関(CA)と密接に統合しています。 ドメインコントローラーやそのほかの重要なインフラストラクチャと同様に、セキュリティポリシーを展開することによって、システムの適切な管理と保護を行うことが重要です。
このドキュメントでは、FASを展開する場合に考慮する、セキュリティ問題の概要について説明します。 また、インフラストラクチャのセキュリティ保護に役立つ利用可能な機能の概要についても説明します。
ネットワークアーキテクチャ
次の図は、FAS展開で使用される主要なコンポーネントとセキュリティ境界を示しています。
FASサーバーは、CAやドメインコントローラーと共に、セキュリティ上重要なインフラストラクチャの一部として扱われる必要があります。 フェデレーション環境では、Citrix NetScalerおよびCitrix StoreFrontはユーザー認証を行うことが信頼されたコンポーネントです。 そのほかのXenAppおよびXenDesktopコンポーネントは、FAS導入の影響を受けません。
ファイアウォールとネットワークセキュリティ
NetScaler、StoreFront、およびDelivery Controllerコンポーネント間の通信は、ポート443上でTLSによって保護される必要があります。 StoreFrontサーバーは発信接続のみを行い、NetScaler 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 CAは、固定TCPポートの使用を構成できる、Kerberos認証のDCOMを使用して、接続を受け入れます。 また、CAは、FASサーバーに信頼された登録エージェント証明書による署名済みのCMCパケットを提供するよう要求します。
サーバー | ファイアウォールポート |
---|---|
フェデレーション認証サービス | [受信] StoreFrontおよびVDAからHTTP経由でKerberos、[送信] DCOMからMicrosoft CA |
NetScaler | [受信] クライアントマシンからHTTPS、[受信/送信] HTTPSとStoreFrontサーバー間、[送信] HDXからVDA |
StoreFront | [受信] NetScalerからHTTPS、[送信] HTTPSからDelivery Controller、[送信] KerberosからHTTP経由でFAS |
Delivery Controller | [受信] StoreFrontサーバーからHTTPS、[受信/送信] VDAからHTTP経由でKerberos |
VDA | [受信/送信] Delivery ControllerからHTTP経由でKerberos、[受信] NetScaler GatewayからHDX、[送信] KerberosからHTTP経由でFAS |
Microsoft CA | [受信] DCOMと、FASからの署名 |
管理の責任
環境の管理は、次のグループに分かれます。
名前 | 責任 |
---|---|
エンタープライズ管理者 | フォレスト内の証明書テンプレートのインストールおよび保護 |
ドメイン管理者 | グループポリシー設定の構成 |
CA管理者 | 証明機関の設定 |
FAS管理者 | FASサーバーのインストールと構成 |
StoreFrontおよびNetscaler管理者 | ユーザー認証の構成 |
XenDesktop管理者 | VDAおよびコントローラーの構成 |
各管理者は、セキュリティモデル全体のさまざまな面を制御し、システムのセキュリティ保護のための、徹底した防御対策のアプローチを実現します。
グループポリシー設定
信頼されたFASマシンは、グループポリシーで構成された「index number -> FQDN」のルックアップテーブルで識別されます。 FASサーバーに接続する場合、クライアントはFASサーバーのHOST\<fqdn> Kerberos IDを検証します。 FASサーバーにアクセスするすべてのサーバーは、同じインデックスに同一の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を構成します。
全般プロパティの変更
証明書テンプレートの有効期間を変更できます。
更新期間は変更しないでください。FASは証明書テンプレートのこの設定を無視します。FASは有効期間の半ばで証明書を自動的に更新します。
要求処理プロパティの変更
これらのプロパティは変更しないでください。FASは証明書テンプレートのこれらの設定を無視します。FASでは常に、[秘密キーのエクスポートを許可する]と [同一キーで更新する] はオフにされています。
暗号プロパティの変更
これらのプロパティは変更しないでください。FASは証明書テンプレートのこれらの設定を無視します。
FASで提供される該当の設定については、「フェデレーション認証サービスの秘密キー保護」を参照してください。
キーの構成証明プロパティの変更
これらのプロパティは変更しないでください。FASではキーの構成証明はサポートされません。
優先テンプレートプロパティの変更
これらのプロパティは変更しないでください。FASでは優先テンプレートはサポートされません。
拡張プロパティの変更
所属組織のポリシーに合わせてこれらの設定を変更できます。
注: 不適切な拡張設定を行うと、セキュリティの問題が発生したり、証明書が使用できなくなる場合があります。
セキュリティプロパティの変更
FASサーバーのマシンアカウントにのみ読み取り権限および登録権限が許可されるように、これらの設定を変更することをお勧めします。FASサービスには、それ以外の権限は必要ありません。ただし、他の証明書テンプレートと同様、次の項目も追加できます:
- 管理者がテンプレートに対して読み取りまたは書き込みできるようにする
- 認証ユーザーがテンプレートに対して読み取りできるようにする
サブジェクト名プロパティの変更
必要に応じて、所属組織のポリシーに合わせてこれらの設定を変更できます。
サーバープロパティの変更
推奨はされませんが、必要に応じて、所属組織のポリシーに合わせてこれらの設定を変更できます。
発行要件プロパティの変更
これらの設定は変更しないでください。これらは以下のように設定する必要があります。
互換性プロパティの変更
これらの設定は変更できます。この設定は、Windows Server 2003 CA(スキーマバージョン2)以上とする必要があります。ただし、FASがサポートするのはWindows Server 2008以降のCAのみです。上記の説明のとおり、Windows Server 2008 CA(スキーマバージョン3)またはWindows Server 2012 CA(スキーマバージョン4)を選択することにより使用可能となる追加設定は、FASでは無視されます。
証明機関の管理
CA管理者の任務は、CAサーバーの構成、およびCAサーバーが使用する証明書用秘密キーの発行です。
テンプレートの公開
エンタープライズ管理者の提供するテンプレートに基づいた証明書を証明機関が発行するには、CA管理者がテンプレートの公開を選択する必要があります。
シンプルなセキュリティ対策としては、FASサーバーのインストール時にのみRA証明書テンプレートを公開するか、またはオフラインの証明書発行手続きを選択することです。 いずれの場合も、CA管理者はRA証明書の要求の承認において全面的なコントロールを維持し、FASサーバーの承認に関するポリシーを持つ必要があります。
ファイアウォールの設定
一般的に、CA管理者は、CAのネットワークファイアウォール設定も管理して、受信接続の制御を行います。 CA管理者は、DCOM TCPおよびファイアウォールルールを構成し、FASサーバーだけが証明書を要求できるようにすることができます。
登録の制限
デフォルトでは、RA証明書のすべての保持者が、アクセス可能な証明書テンプレートを使用して、ユーザーに証明書を発行することができます。 これを、CAプロパティの「登録エージェントの制限」で、特権のないユーザーグループに制限する必要があります。
ポリシーモジュールと監査
高度な展開には、カスタムセキュリティモジュールを使用して、証明書の発行の追跡と拒否を行うことができます。
FASの管理
FASにはいくつかのセキュリティ機能があります。
アクセス制御リスト(ACL)によるStoreFront、ユーザー、およびVDAの制限
FASセキュリティモデルの中心となるのが、機能にアクセスできるKerberosアカウントの管理です。
アクセスベクトル | 説明 |
---|---|
StoreFront [IdP] | これらのKerberosアカウントは、ユーザーが正しく認証されたと宣言することを信頼されています。 Kerberosアカウントのいずれかが危害を受けた場合には、証明書が作成され、FASの構成で許可されたユーザーに証明書が使用されます。 |
VDA [証明書利用者] | これらは、証明書および秘密キーへのアクセスが許可されたマシンです。 このグループ内の危害を受けたVDAアカウントによるシステム攻撃の範囲が制限されるよう、IdPが取得した資格情報ハンドルも必要です。 |
ユーザー | IdPがどのユーザーをアサートするかを管理します。 CAの「制限付き登録エージェント」構成オプションと重複していることに注意してください。一般的に、アクセス制御リストには、特権のないアカウントのみを加えることをお勧めします。これにより、危害を受けたStoreFrontアカウントが、権限をより高い管理者レベルに高めることを防ぎます。 特に、ドメイン管理者のアカウントは、このアクセス制御リストで許可されるべきではありません。 |
ルールの構成
独立した複数のXenAppまたはXenDesktopの展開で同じFASサーバーインフラストラクチャが使用されている場合には、ルールが役立ちます。 各ルールにはそれぞれの構成オプションセットがあり、特にアクセス制御リスト(ACL)は、個別に構成することができます。
CAおよびテンプレートの構成
証明書テンプレートおよびCAは、それぞれ異なるアクセス権のために構成することができます。 高度な構成は、環境に応じて、権限の度合いが異なる証明書を使用するよう選択する場合があります。 たとえば、「外部」と識別されたユーザーには、「内部」ユーザーよりも権限が弱い証明書が発行されることがあります。
セッション中および認証の証明書
FAS管理者は、認証に使用された証明書を、ユーザーのセッションで使用するかどうか管理します。 たとえば、より権限のある「ログオン」証明書はログオン時にのみ使用するように、セッションでは「署名」証明書のみ使用可能にすることができます。
秘密キー保護およびキー長
FAS管理者は、FASが秘密キーをハードウェアセキュリティモジュール(HSM)、またはトラステッドプラットフォームモジュール(TPM)に保存するよう構成できます。 少なくともRA証明書の秘密キーは、TPMに保存して保護することをお勧めします。このオプションは、「オフライン」証明書要求手続きの中で提供されます。
同様に、ユーザー証明書の秘密キーもTPMまたはHSMに保存できます。 すべてのキーは「エクスポート不可能」として生成し、キー長は2048ビット以上でなければなりません。
イベントログ
FASサーバーによって、詳細な構成およびランタイムイベントのログが提供されるため、監査と侵入検出に役立てることができます。
管理アクセスと管理ツール
FASには、リモート管理の機能(相互認証のKerberos)およびツールが含まれています。 「ローカル管理者グループ」のメンバーが、FASの構成を全面的に管理します。この一覧は、注意して維持する必要があります。
XenApp、XenDesktop、およびVDAの管理者
「Active Directoryパスワード」はFASの「資格情報ハンドル」にそのまま置き換えられるため、一般的には、FASの利用によってDelivery ControllerやVDA管理者のセキュリティモデルが変更されることはありません。ControllerおよびVDAの管理グループのメンバーは、信頼されたユーザーに限定する必要があります。 監査とイベントログを維持する必要があります。
一般的なWindowsサーバーセキュリティ
すべてのサーバーにパッチを完全に適用し、標準のファイアウォールとアンチウィルスソフトウェアを使用する必要があります。 セキュリティ上重要なインフラストラクチャのサーバーは、物理的に安全な場所に設置し、ディスクの暗号化や仮想マシンのメンテナンスオプションにも十分配慮する必要があります。
監査データとイベントログは、リモートマシンに安全に保存する必要があります。
RDPアクセスは、承認された管理者のみに制限する必要があります。可能な場合は、ユーザーアカウント、特にCAおよびドメイン管理者のアカウントでは、スマートカードを使用したログオンが要求されるようにする必要があります。
関連情報
- FASのインストールと構成については、「Federated Authentication Service」を参照してください。
- FASアーキテクチャについては、「フェデレーション認証サービスのアーキテクチャの概要」を参照してください。
- 「フェデレーション認証サービスの構成と管理」ではそのほかの「方法」記事を紹介しています。