認証、承認、監査に関する問題のトラブルシューティング
aaad.debugモジュールを使用したNetScalerおよびNetScaler Gateway の認証に関する問題のトラブルシューティング
Citrix Gateway での認証は、認証、承認、監査(AAA)デーモンによって処理されます。AAAデーモンが処理する未加工の認証イベントは、 aaad.debugモジュールの出力を表示することで監視でき 、貴重なトラブルシューティングツールとして役立ちます。aaad.debugはフラットファイルではなくパイプであり、結果を表示したりログに記録したりしません。そのため、cat コマンドを使用して aaad.debug の出力を表示できます。nsaaad.debugを使用して認証の問題をトラブルシューティングするプロセスは、通常「aaadのデバッグ」と呼ばれます。
このプロセスは、次のような認証問題のトラブルシューティングに役立ちます。
- 一般的な認証エラー
- ユーザー名/パスワードの失敗
- 認証ポリシー設定エラー
- グループ抽出の不一致
注: このプロセスは Citrix Gatewayと Citrix ADC アプライアンスに適用されます。
認証問題のトラブルシューティング
aaad.debug モジュールによる認証をトラブルシューティングするには、以下の手順を実行してください:
-
PuTTYなどのSecure Shell(SSH)クライアントを使用して、Citrix Gateway コマンドラインインターフェイスに接続します。
- 次のコマンドを実行して、シェルプロンプトに切り替えます。
shell
- 次のコマンドを実行して、/tmp ディレクトリに移動します。
cd /tmp
- 次のコマンドを実行して、デバッグプロセスを開始します。
cat aaad.debug
- ユーザーログオンの試行など、トラブルシューティングが必要な認証プロセスを実行します。
- cat aaad.debug コマンドの出力を監視して、認証プロセスの解釈とトラブルシューティングを行います。
- Ctrl+Z を押してデバッグプロセスを停止します。
- 次のコマンドを実行して、
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-->