Kerberos認証を物理サーバーからオフロードする
NetScalerアプライアンスは、認証タスクをサーバーからオフロードできます。物理サーバーがクライアントからの要求を認証する代わりに、NetScalerはすべてのクライアント要求を認証してから、バインドされた物理サーバーに転送します。ユーザー認証は、Active Directory トークンに基づいています。
NetScalerと物理サーバー間の認証は行われず、認証のオフロードはエンドユーザーには意識されません。Windows コンピュータに最初にログオンした後、エンドユーザーはポップアップまたはログオンページに追加の認証情報を入力する必要はありません。
現在のNetScalerアプライアンスリリースでは、Kerberos認証はトラフィック管理仮想サーバーの認証、承認、監査にのみ使用できます。Kerberos認証は、NetScaler Gateway アドバンスドエディションアプライアンスのSSL VPNまたはCitrix ADCアプライアンス管理ではサポートされていません。
Kerberos認証には、NetScalerアプライアンスとクライアントブラウザーでの構成が必要です。
NetScalerアプライアンスでKerberos認証を構成するには
注
次の設定例で使用されるパスワードは単なる例であり、実際の設定パスワードではありません。
-
Active Directory にユーザーアカウントを作成します。ユーザーアカウントを作成するときは、[ユーザープロパティ] セクションで次のオプションを確認します。
- [次回ログオン時にパスワードを変更する] オプションを選択していないことを確認します。
- 必ず [パスワードは期限切れではない] オプションを選択してください。
-
AD サーバーの CLI コマンドプロンプトで、次のように入力します。
- ktpass -princ HTTP/kerberos.crete.lab.net@crete.lab.net -ptype KRB5_NT_PRINCIPAL -mapuser kerbuser@crete.lab.net -mapop set -pass Citrix1 -out C:\kerbtabfile.txt
注
上記のコマンドは必ず 1 行で入力してください。上記のコマンドの出力は C:\kerbtabfile.txt ファイルに書き込まれます。
-
セキュアコピー(SCP)クライアントを使用して、kerbtabfile.txt ファイルをNetScalerアプライアンスの/etcディレクトリにアップロードします。
-
次のコマンドを実行して、DNSサーバーをNetScalerアプライアンスに追加します。
- add dns nameserver 1.2.3.4
NetScalerアプライアンスは、DNSサーバーがないとKerberosリクエストを処理できません。必ず、Microsoft Windows ドメインで使用されているものと同じ DNS サーバーを使用してください。
-
NetScalerのコマンドラインインターフェイスに切り替えます。
-
次のコマンドを実行して、Kerberos 認証サーバーを作成します。
- add authentication negotiateAction KerberosServer -domain “crete.lab.net” -domainUser kerbuser -domainUserPasswd Citrix1 -keytab /var/mykcd.keytab
注
:キータブが使用できない場合は、ドメイン、domainUser、および-domainUserPasswd のパラメータを指定できます。
-
次のコマンドを実行して、ネゴシエーションポリシーを作成します。
add authentication negotiatePolicy Kerberos-Policy "REQ.IP.DESTIP == 192.168.17.200" KerberosServer<!--NeedCopy-->
-
次のコマンドを実行して、認証仮想サーバーを作成します。
add authentication vserver Kerb-Auth SSL 192.168.17.201 443 -AuthenticationDomain crete.lab.net<!--NeedCopy-->
-
次のコマンドを実行して、Kerberos ポリシーを認証仮想サーバーにバインドします。
bind authentication vserver Kerb-Auth -policy Kerberos-Policy -priority 100<!--NeedCopy-->
-
次のコマンドを実行して、SSL 証明書を認証仮想サーバーにバインドします。GUI NetScalerアプライアンスからインストールできるテスト証明書のいずれかを使用できます。次のコマンドを実行して、ServerTestCert サンプル証明書を使用します。
bind ssl vserver Kerb-Auth -certkeyName ServerTestCert<!--NeedCopy-->
-
IP アドレス 192.168.17.200 を使用して HTTP 負荷分散仮想サーバーを作成します。
NetScaler 9.3リリースが9.3.47.8より古い場合は、コマンドラインインターフェイスから仮想サーバーを作成するようにしてください。
-
次のコマンドを実行して、認証仮想サーバーを構成します。
set lb vserver <name>-authn401 ON -authnVsName Kerb-Auth<!--NeedCopy-->
-
Web ブラウザのアドレスバーにホスト名 Example を入力します。
Kerberos 認証がブラウザで設定されていないため、Web ブラウザに認証ダイアログボックスが表示されます。
注
Kerberos 認証には、クライアント上で特定の設定が必要です。クライアントがホスト名を解決できることを確認します。これにより、Web ブラウザが HTTP 仮想サーバーに接続します。
-
クライアントコンピュータの Web ブラウザで Kerberos を構成します。
- Internet Explorer での構成については、「 Kerberos 認証用のInternet Explorerの構成」を参照してください。
- Mozilla Firefox での設定については、Internet Explorerの Kerberos 認証の設定を参照してください。
-
認証なしでバックエンド物理サーバにアクセスできるかどうかを確認します。
Internet Explorerで Kerberos 認証を構成するには
- [ ツール ] メニューの [ インターネットオプション ] を選択します。
- [ セキュリティ ] タブを有効にします。
- [セキュリティ設定を変更するゾーンを選択してください] セクションから [ ローカルイントラネット ] を選択します。
- [ サイト] をクリックします。
- [詳細設定]をクリックします。
- URL、 例 ] を指定し、[ 追加] をクリックします。
- Internet Explorerを再起動します。
Mozilla Firefox をケルベロス認証用に設定するには
- ブラウザのアドレスバーに about: config と入力します。
- 警告免責事項をクリックします。
- [ フィルタ ] ボックスに「 network.negotiate-auth.trusted-URI 」と入力します。
-
[ Network.negotiate-auth.trusted-URI] をダブルクリックします。サンプル画面を以下に示します。
- [文字列値の入力] ダイアログボックスで、www.crete.lab.net を指定します。
- Firefox を再起動します。