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