ADC

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

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

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

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

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

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

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

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

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

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

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

このトピックでは、Citrix ADC 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-->
認証、承認、監査に関する問題のトラブルシューティング