この記事は機械翻訳されています.免責事項
NetScalerがクライアント認証用にKerberosを実装する方法
重要
Kerberos/NTLM認証は、NetScaler 9.3 nCoreリリース以降でのみサポートされており、トラフィック管理仮想サーバーの認証、承認、監査にのみ使用できます。
Citrix ADCは、Kerberos認証に関連するコンポーネントを次の方法で処理します:
キー・ディストリビューション・センター (KDC)
Windows 2000 サーバ以降のバージョンでは、ドメインコントローラと KDC は Windows サーバの一部です。Windows Server が稼働している場合は、ドメインコントローラと KDC が設定されていることを示します。KDC はActive Directory サーバでもあります。
注
すべての Kerberos インタラクションは Windows Kerberos ドメインコントローラーで検証されます。
認証サービスとプロトコルネゴシエーション
Citrix ADCアプライアンスは、認証、承認、および監査トラフィック管理認証仮想サーバーでのKerberos認証をサポートします。Kerberos認証が失敗した場合、Citrix ADCはNTLM認証を使用します。
デフォルトでは、Windows 2000 Server以降のWindows Serverバージョンでは、認証、承認、および監査にKerberosを使用します。認証タイプとしてNEGOTIATEを使用して認証ポリシーを作成した場合、Citrix ADCは認証、承認、監査にKerberosプロトコルを使用しようとし、クライアントのブラウザがKerberosチケットを受信できない場合、Citrix ADCはNTLM認証を使用します。このプロセスはネゴシエーションと呼ばれます。
次のいずれかの場合、クライアントは Kerberos チケットを受信できない可能性があります。
- Kerberos はクライアントではサポートされていません。
- Kerberos はクライアントで有効になっていません。
- クライアントは KDC のドメインとは別のドメインにあります。
- クライアントは KDC のアクセスディレクトリにアクセスできません。
Kerberos/NTLM認証の場合、Citrix ADCはCitrix ADCアプライアンスにローカルに存在するデータを使用しません。
承認
トラフィック管理仮想サーバーは、負荷分散仮想サーバーでもコンテンツスイッチング仮想サーバーでもかまいません。
監査
Citrix ADCアプライアンスは、次の監査ログによるKerberos認証の監査をサポートしています:
- トラフィック管理のエンドユーザーアクティビティの完全な監査証跡
- SYSLOG およびハイパフォーマンス TCP ロギング
- システム管理者の完全な監査証跡
- すべてのシステムイベント
- スクリプト可能なログ形式
サポート環境
Kerberos 認証には、Citrix ADC 上の特定の環境は必要ありません。クライアント (ブラウザ) は Kerberos 認証をサポートする必要があります。
高可用性
高可用性セットアップでは、アクティブなCitrix ADCのみがドメインに参加します。フェイルオーバーが発生した場合、Citrix ADC lwagentデーモンはセカンダリCitrix ADCアプライアンスをドメインに参加させます。この機能には特別な設定は必要ありません。
Kerberos認証プロセス
次の図は、Citrix ADC 環境におけるケルベロス認証の一般的なプロセスを示しています。
図1. Citrix ADC でのケルベロス認証プロセス
Kerberos 認証は次の段階で行われます。
クライアントは KDC に対して自分自身を認証します
- Citrix ADCアプライアンスはクライアントからの要求を受け取ります。
- Citrix ADCアプライアンス上のトラフィック管理(負荷分散またはコンテンツスイッチング)仮想サーバーは、クライアントにチャレンジを送信します。
- このチャレンジに応えるために、クライアントは Kerberos チケットを受け取ります。
- クライアントは KDC の認証サーバーにチケット交付チケット (TGT) のリクエストを送信し、TGT を受信します。(図「Kerberos 認証プロセス」の 3、4 を参照してください。)
- クライアントは TGT を KDC のチケット交付サーバーに送信し、Kerberos チケットを受け取ります。(図「Kerberos 認証プロセス」の 5、6 を参照してください。)
注
クライアントに有効期限が切れていない Kerberos チケットが既にある場合は、上記の認証プロセスは必要ありません。さらに、SPNEGO をサポートする Web サービス、.NET、J2EE などのクライアントは、ターゲットサーバーの Kerberos チケットを取得し、SPNEGO トークンを作成し、HTTP リクエストを送信するときにそのトークンを HTTP ヘッダーに挿入します。クライアント認証プロセスは実行されません。
クライアントはサービスをリクエストします。
- クライアントは、SPNEGOトークンとHTTP要求を含むKerberosチケットをCitrix ADC上のトラフィック管理仮想サーバーに送信します。SPNEGO トークンには必要な GSSAPI データが含まれています。
- Citrix ADCアプライアンスは、クライアントとCitrix ADCの間にセキュリティコンテキストを確立します。Citrix ADCがKerberosチケットで提供されたデータを受け入れられない場合、クライアントは別のチケットを取得するように求められます。このサイクルは、GSSAPI データが許容範囲内になり、セキュリティコンテキストが確立されるまで繰り返されます。Citrix ADC上のトラフィック管理仮想サーバーは、クライアントと物理サーバー間のHTTPプロキシとして機能します。
Citrix ADC アプライアンスが認証を完了します。
- セキュリティコンテキストが完了すると、トラフィック管理仮想サーバーは SPNEGO トークンを検証します。
- 有効なSPNEGOトークンから、仮想サーバーはユーザーIDとGSS認証情報を抽出し、認証デーモンに渡します。
- 認証が成功すると、Kerberos 認証が完了します。