ADC

認証、承認、監査に関する問題のトラブルシューティング

aaad.debugモジュールによるNetScalerおよびNetScaler Gatewayの認証問題のトラブルシューティング

NetScaler Gatewayの認証は、認証、承認、監査(AAA)デーモンによって処理されます。AAAデーモンが処理する未加工の認証イベントは、 aaad.debugモジュールの出力を表示することで監視でき 、貴重なトラブルシューティングツールとして役立ちます。aaad.debugはフラットファイルではなくパイプであり、結果を表示したりログに記録したりしません。そのため、cat コマンドを使用して aaad.debug の出力を表示できます。nsaaad.debugを使用して認証の問題をトラブルシューティングするプロセスは、通常「aaadのデバッグ」と呼ばれます。

aaad.debug モジュールを使用したデバッグプロセス

このプロセスは、次のような認証問題のトラブルシューティングに役立ちます。

  • 一般的な認証エラー
  • ユーザー名/パスワードの失敗
  • 認証ポリシー設定エラー
  • グループ抽出の不一致

注: このプロセスはNetScaler GatewayとNetScalerアプライアンスに適用されます。

認証問題のトラブルシューティング

aaad.debug モジュールによる認証をトラブルシューティングするには、以下の手順を実行してください。

  1. PuTTYなどのSecure Shell(SSH)クライアントを使用してNetScaler Gatewayのコマンドラインインターフェイスに接続します。

  2. 次のコマンドを実行して、シェルプロンプトに切り替えます。 shell
  3. 次のコマンドを実行して、/tmp ディレクトリに移動します。 cd /tmp
  4. 次のコマンドを実行して、デバッグプロセスを開始します。 cat aaad.debug
  5. ユーザーログオンの試行など、トラブルシューティングが必要な認証プロセスを実行します。
  6. cat aaad.debug コマンドの出力を監視して、認証プロセスの解釈とトラブルシューティングを行います。
  7. Ctrl+Z を押してデバッグプロセスを停止します。
  8. 次のコマンドを実行して、 aaad.debug の出力をファイルに記録します。 /var/tmp は必須のディレクトリパスで、 <debuglogname.log> は必要なログ名です。 cat aaad.debug | tee /var/tmp/<debuglogname>

次のセクションでは、aaad.debug モジュールを使用して認証エラーのトラブルシューティングと解釈を行う方法の例を示します。

パスワードが間違っています

次の例では、ユーザーが間違った RADIUS パスワードを入力しています。

process_radius Got RADIUS event
process_radius Received BAD_ACCESS_REJECT for: <username>
process_radius Sending reject.
send_reject_with_code Rejecting with error code 4001
<!--NeedCopy-->

ユーザー名が無効です

次の例では、ユーザーが間違った LDAP ユーザー名を入力しています。

/home/build/rs_121/usr.src/netscaler/aaad/ldap_drv.c[450]: receive_ldap_user_search_event 1-140: Admin authentication(Bind) succeeded, now attempting to search the user testusernew

/home/build/rs_121/usr.src/netscaler/aaad/ldap_drv.c[453]: receive_ldap_user_search_event 1-140: Number of entires in LDAP server response = 0

/home/build/rs_121/usr.src/netscaler/aaad/ldap_drv.c[459]: receive_ldap_user_search_event 1-140: ldap_first_entry returned null, user testusernew not found

/home/build/rs_121/usr.src/netscaler/aaad/naaad.c[4781]: send_reject_with_code 1-140: Not trying cascade again 4009

/home/build/rs_121/usr.src/netscaler/aaad/naaad.c[4783]: send_reject_with_code 1-140: sending reject to kernel for : testusernew

/home/build/rs_121/usr.src/netscaler/aaad/naaad.c[4801]: send_reject_with_code 1-140: Rejecting with error code 4009
<!--NeedCopy-->

グループ抽出結果の決定

次の例では、グループ抽出の結果を判断できます。AAAグループアクセスに関する問題の多くは、ユーザーがNetScaler Gatewayアプライアンスで割り当てられたグループの正しいセッションポリシーを選択しないことが原因です。一般的な理由としては、アプライアンスの AD または Radius グループ名のスペルが間違っていることや、ユーザーが AD または Radius サーバのセキュリティグループのメンバーではないことが挙げられます。

/usr/home/build/rs_80_48/usr.src/usr.bin/nsaaad/../../netscaler/aaad/ldap_drv.c[40]:
start_ldap_auth attempting to auth scottli @ 10.12.33.216

/usr/home/build/rs_80_48/usr.src/usr.bin/nsaaad/../../netscaler/aaad/ldap_drv.c[291]:

/usr/home/build/rs_80_48/usr.src/usr.bin/nsaaad/../../netscaler/aaad/ldap_drv.c[551]: recieve_ldap_user_search_event built group string for scottli of:Domain Admins
<!--NeedCopy-->

aaad.debug モジュールのエラーコード

次の表は、さまざまな aaad.debug モジュールのエラーコード、エラーの原因、および解決策を示しています。

aaad.debug モジュールのエラーコード エラーメッセージ エラーの原因 解像度
4001 認証情報/パスワードが正しくありません。再試行してください。 入力された認証情報が正しくない 正しい認証情報を入力してください
4002 許可されていません これはキャッチオールエラーです。ユーザー認証情報が正しくない以外の理由で ldapbind 操作が失敗した場合に発生します。 バインド操作が許可されていることを確認してください
4003 サーバーに接続できません。数分後にもう一度接続してみてください。 サーバータイムアウト NetScalerのLDAP/RADIUSサーバーのタイムアウト値を増やします([認証] > [LDAP/RADIUS] > [サーバー] > [タイムアウト値])。デフォルトのタイムアウト値は 3 秒です。
4004 システムエラー NetScaler/NetScaler Gatewayの内部エラーまたはアプライアンスライブラリのランタイムエラー システムエラーの原因を確認して解決してください
4005 ソケットエラー 認証サーバーとの通信中にソケットエラーが発生しました LDAP/RADIUSサーバーまたはその他の認証サーバーが、NetScalerで構成された認証アクションに記載されているポートでリッスンできることを確認してください。たとえば、NetScalerのldapprofileがポート636/SSLを使用するように構成されているのに、ADで同じポートが開いていないというエラーシナリオがよくあります。
4006 ユーザー名が間違っています nsaaad に不正な (フォーマット) ユーザー名を渡しました (空のユーザー名など) 正しいユーザー名を入力してください
4007 パスワードが間違っています nsaaad に不正な (フォーマット) パスワードが渡されました 正しいパスワードを入力してください
4008 パスワードが一致しません パスワードの不一致 正しいパスワードを入力してください
4009 ユーザーが見つかりません 該当するユーザーはいません AD に存在する有効なユーザーを使用してログインする
4010 現在、ログオンする権限がありません 制限付きログオン時間 制限時間外にログオンする
4011 AD アカウントは無効になっています アカウント無効 AD アカウントを有効にする
4012 パスワードの有効期限が切れている パスワードの有効期限が切れました パスワードをリセットする
4013 ログオンする権限がありません ダイヤルイン権限なし (RADIUS 固有)。これは通常、ユーザーがサーバーで認証する権限がない場合に発生します。 ネットワークアクセス権限の設定を変更する必要があります
4014 パスワードを変更できませんでした パスワードを変更中にエラーが発生しました。これには多くの原因が考えられます。そのような理由の1つは、NetScalerのldapprofileで提供されている非SSLポートを使用してパスワードを変更しようとしていることが考えられます。 パスワードの変更には、セキュア・ポートとSECタイプが使用されていることを確認してください
4015 アカウントは一時的にロックされています ユーザー AD アカウントはロックされています AD アカウントのロックを解除する
4016 パスワードを更新できませんでした。パスワードは、ドメインの長さ、複雑さ、および履歴の要件を満たしている必要があります。 パスワードの変更中にユーザーパスワードの要件が満たされない パスワードを変更しながら必要な要件を満たす
4017 NAC プロセス Microsoft Intune 仕様。NetScaler Gatewayは、API障害または接続障害が原因でデバイスを検証できません。 Microsoft Intune の管理対象デバイスがNetScaler Gatewayにアクセスできることを確認する
4018 NAC コンプライアンス違反 Microsoft Intune は、このデバイスは対応デバイスではないというステータスを返します Microsoft Intune の管理対象デバイスがNetScaler Gatewayに準拠していることを確認する
4019 NAC アンマネージド Microsoft Intune から、これは管理対象デバイスではないというステータスが返されます Microsoft Intune 固有の構成が整っていることを確認する
4020 認証はサポートされていません このエラーは、設定に誤りがある場合に表示されます。たとえば、認証タイプがNetScalerでサポートされていない場合や、NetScalerアプライアンスの認証プロファイルの構成が正しくない場合や、認証に対してアカウンティングアクション(RADIUS)が試行された場合などです。 NetScaler上の認証サーバーの認証チェックボックスがオフになっている場合は、そのチェックボックスをオンにします。NetScalerで適切な認証アクションを使用してください。
4021 ユーザーアカウントが期限切れです ユーザーアカウントの有効期限が切れています ユーザーアカウントを更新してください
4022 ユーザーアカウントはNetScalerによってロックされています ユーザーアカウントはNetScalerによってロックされています unlock aaa user <> コマンドを使用してアカウントのロックを解除します
4023 OTP デバイスの最大制限に達しました OTP を受信できるデバイスの上限に達しました 不要な OTP デバイスを登録解除するか、すでに登録されているデバイスをそのまま使用してください。

NetScaler nFactorシステムによって生成されたエラーメッセージをローカライズします

このトピックでは、NetScaler nFactorシステムによって生成されるエラーメッセージのローカライズに関する情報を取り上げます。これらのメッセージには、拡張認証フィードバックの一部として取得される拡張認証エラー文字列が含まれます。

nFactor サブシステムから送信されるデフォルトのエラー文字列は、英語の /var/Netscaler/logon/LogonPoint/receiver/js/Localization/en/ctxs.strings.js に記載されています。他の言語のエラー文字列は、/var/NetScaler/logon/LogonPoint/Receiver/js/Localization/の対応するディレクトリにあります。

エラーメッセージをローカライズするには、RFWeb UI に基づいてポータルテーマを作成する必要があります。

コマンドプロンプトで入力します:

add portaltheme custom_error_theme -basetheme RfWebUI

bind authentication vserver av1  -portaltheme custom_error_theme
<!--NeedCopy-->

これらのコマンドを実行すると、/var/netscaler/logon/themes/<name>に新しいディレクトリが作成されます。このディレクトリには、「strings.en.json」という名前のファイルが含まれています。このファイルは、そもそも空の JSON ファイルです。管理者は、古いエラー文字列と新しいエラー文字列で構成される名前と値のペアを追加できます。

たとえば、 { 「認証中にアクティブなポリシーなし」:「認証中にアクティブなポリシーはありません。管理者に問い合わせてください」 }

前の例では、左側のテキストは nFactor によって送信される既存のエラーメッセージです。右側のテキストはその代わりになります。管理者は必要に応じてさらにメッセージを追加できます。

認証フィードバックの強化

認証プロセス中に拡張エラーメッセージを取得するには、拡張認証フィードバック機能を有効にする必要があります。

コマンドプロンプトで入力します:

set aaa parameter –enableEnhancedAuthFeedback YES
<!--NeedCopy-->
認証、承認、監査に関する問題のトラブルシューティング