Citrix ADC

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

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

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

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

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

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

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

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

aaad.debug モジュールを使用した認証のトラブルシューティングを行うには、次の手順を実行します。

  1. PuTTYなどのセキュアシェル(SSH)クライアントを使用して、Citrix Gateway のコマンドラインインターフェイスに接続します。

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

次のセクションでは、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上のldapprofileがポート636/SSLを使用するように構成されているが、AD上で同じポートが開いていないという一般的なエラーシナリオがあります。
4006 ユーザー名が正しくありません nsaaad に渡されたユーザ名が不正な (形式) ユーザ名 (空のユーザ名) 正しいユーザー名を入力してください
4007 無効なパスワード nsaaad に渡された不正な (フォーマット) パスワード 正しいパスワードを入力してください
4008 パスワードが一致しません パスワードが一致しません 正しいパスワードを入力してください
4009 ユーザーが見つかりません ユーザーが存在しません ADに存在する有効なユーザーを使用してログインする
4010 現在、ログオンするためのアクセス許可がありません 制限付きログオン時間 制限時間外にログオンする
4011 AD アカウントが無効になっています アカウント無効 AD アカウントを有効化する
4012 パスワードの有効期限が切れました パスワード期限切れ パスワードをリセットする
4013 ログオンする権限がありません ダイヤルイン権限がありません(RADIUS 固有)。これは、通常、ユーザーがサーバーでの認証を許可されていない場合に発生します。 ネットワークアクセス権限の設定を変更する必要がある
4014 パスワードを変更できませんでした パスワードの変更中にエラーが発生しました。これは多くの理由で発生する可能性があります。そのような理由の1つは、Citrix ADC上のldapprofileで提供されている非sslポートを使用してパスワードを変更しようとしている可能性があります。 パスワードの変更にセキュア・ポートと秒タイプが使用されていることを確認する
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によってロックされている aaa user <> コマンドでアカウントのロックを解除する
4023 OTP デバイスの最大制限に達しました OTP を受信するためのデバイス制限に達しました 不要な OTP デバイスの登録を解除するか、すでに登録されているデバイスを続行します。

Citrix ADC nFactor システムによって生成されるエラーメッセージのローカライズ

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

nFactor サブシステムによって送信されるデフォルトのエラー文字列については、英語版の /var/netscaler/ログオン/ログオンポイント/レシーバ/js/ローカライゼーション/js/ctxs.strings.js を参照してください。他の言語のエラー文字列は、/var/netscaler/ログオン/ログオンポイント/レシーバ/js/ローカライズ/内の対応するディレクトリにあります。

エラー・メッセージをローカライズするには、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 によって送信される既存のエラーメッセージです。右側のテキストがその代わりになります。管理者は、必要に応じてさらにメッセージを追加できます。

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

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

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

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