認証のためのネイティブOTPサポート

最終公開日 : Sep 25, 2026
NetScalerは、サードパーティのサーバーを使用せずにワンタイムパスワード(OTP)をサポートします。ワンタイムパスワードは、生成される番号またはパスコードがランダムであるため、セキュリティで保護されたサーバーを認証するための非常に安全なオプションです。以前は、乱数を生成する特定のデバイスを持つRSAなどの専門企業が、OTPを提供していました。
この機能は、設備コストと運用コストの削減に加えて、NetScalerアプライアンスの構成全体を維持することで、管理者の管理を強化します。
注:
サードパーティのサーバーは不要になったため、NetScaler管理者はユーザーデバイスを管理および検証するためのインターフェイスを構成する必要があります。
OTPソリューションを使用するには、ユーザーをNetScaler仮想サーバーに登録する必要があります。登録は一意のデバイスごとに一度だけ必要で、特定の環境に制限することができます。登録ユーザーの設定と検証は、追加の認証ポリシーの設定と似ています。

ネイティブ OTP をサポートすることの利点

  • Active Directory に加えて、認証サーバー上に追加のインフラストラクチャを用意する必要がなくなるため、運用コストが削減されます。
  • 構成をNetScalerアプライアンスにのみ統合し、管理者に優れた制御を提供します。
  • クライアントが期待する数値を生成するために、追加の認証サーバーへのクライアントの依存を排除します。

ネイティブ OTP ワークフロー

ネイティブ OTP ソリューションは 2 つのプロセスであり、ワークフローは次のように分類されます。
  • デバイス登録
  • エンドユーザログイン
重要:
サードパーティのソリューションを使用している場合、またはNetScalerアプライアンス以外の他のデバイスを管理している場合は、登録プロセスをスキップできます。追加する最後の文字列は、NetScalerで指定された形式である必要があります。
次の図は、OTP を受信する新しいデバイスを登録するためのデバイス登録フローを示しています。
OTP ワークフロー
注: デバイスの登録は、任意の数の要素を使用して実行できます。デバイス登録プロセスを説明するために、1 つの要素(前の図で指定)を例として使用します。
次の図は、登録済みデバイスを介した OTP の検証を示しています。
OTP検証ワークフロー
次の図は、デバイスの登録と管理フローを示しています。
デバイスの登録と管理
次の図は、ネイティブ OTP 機能のエンドユーザフローを示しています。
エンドユーザーのワークフロー

前提条件

ネイティブ OTP 機能を使用するには、次の前提条件が満たされていることを確認してください。
  • NetScaler機能のリリースバージョンは12.0ビルド51.24以降です。
  • AdvancedエディションまたはPremiumエディションのライセンスがNetScaler Gateway にインストールされている。
  • NetScalerは管理IPで構成されており、管理コンソールにはブラウザとコマンドラインの両方を使用してアクセスできます。
  • NetScalerは、ユーザーを認証するための認証、承認、監査仮想サーバーで構成されています。詳細については、「 認証仮想サーバー」を参照してください。
  • NetScalerアプライアンスはUnified Gateway で構成され、認証、承認、監査プロファイルがGateway仮想サーバーに割り当てられます。
  • ネイティブ OTP ソリューションは、nFactor 認証フローに制限されています。ソリューションを構成するには、高度なポリシーが必要です。詳細については、「 nFactor 認証の設定」を参照してください。
また、Active Directory については、次の点を確認してください:
  • 属性の最小長は 256 文字です。
  • 属性タイプは、ユーザパラメータなどの 'DirectoryString' でなければなりません。これらの属性は文字列値を保持できます。
  • デバイス名が英語以外の文字である場合、属性文字列タイプは Unicode である必要があります。
  • NetScaler LDAP管理者は、選択したAD属性への書き込みアクセス権を持っている必要があります。
  • NetScalerアプライアンスとクライアントマシンは、共通のネットワークタイムサーバーと同期する必要があります。

GUI を使用したネイティブ OTP の設定

ネイティブ OTP 登録は、単要素認証だけではありません。次のセクションでは、シングルファクタ認証とセカンドファクタ認証の設定について説明します。

第 1 ファクタのログインスキーマの作成

  1. > > に移動します。
  2. に移動し、 をクリックします。
  3. ページで、 フィールドに lschema_single_auth_manage_otp と入力し、 noschema の横にある をクリックします。
  4. フォルダをクリックします。
  5. 下にスクロールして SingleAuthManageOTP.xml を選択し、「 選択」をクリックします。
  6. **[作成]**をクリックします。
  7. をクリックし、 をクリックします。
  8. ** 画面で、次の値を入力します。
    名前: lpol_single_auth_manage_otp_by_url
    プロファイル: リストから lschema_single_auth_manage_otp を選択します。
    ルール: HTTP.REQ.COOKIE.VALUE (「NSC_TASS」) .EQ (「manageotp」)

認証、承認、および監査仮想サーバーの構成

  1. > > に移動します。既存の仮想サーバーを編集する場合にクリックします。詳細については、「 認証仮想サーバー」を参照してください。
  2. 右側のペインの ** の の横にある アイコンをクリックします。
  3. 「 ログインスキーマなし」を選択します。
  4. 矢印をクリックし、 **lpol_single_auth_manage_otp_by_url****ポリシーを選択し、 をクリックして、 をクリックします。
  5. 上にスクロールし、 の下の を 1** つ選択します。
  6. nFactor ポリシーを 右クリックし、** を選択します。すでに設定されている nFactor ポリシーを右クリックするか、 nFactor を参照して作成して を選択します。
  7. ** の下の矢印をクリックして既存の構成を選択するか、 をクリックして因子を作成します。
  8. [認証PolicyLabelの作成] 画面で次のように入力し、[続行] をクリックします。
    名前: manage_otp_flow_label
    ログインスキーマ: Lschema_Int
  9. 画面で、 をクリックしてポリシーを作成します。
    Create a policy for a normal LDAP server.
  10. 画面で、次のように入力します。
    名前:auth_pol_ldap_native_otp
  11. リストを使用して、 を として選択します。
  12. フィールドで、 をクリックしてアクションを作成します。
    Create the first LDAP action with authentication enabled to be used for single factor.
  13. 「 認証 LDAP サーバーの作成 」ページで、「 サーバー IP 」ラジオボタンを選択し、「 認証」の横にあるチェックボックスをオフにし、次の値を入力して「 テスト接続」を選択します。次に、設定例を示します。
    名前:ldap_native_otp
    IPアドレス:192.168.xx.xx
    ベース DN: DC = トレーニング、DC = ラボ
    パスワード: xxxxx
    Create a policy for OTP .
  14. 画面で、次のように入力します。
    名前: auth_pol_ldap_otp_action
  15. リストを使用して、 を として選択します。
  16. フィールドで、 をクリックしてアクションを作成します。
    Create the second LDAP action to set OTP authenticator with OTP secret configuration and authentication unchecked.
  17. 「 認証 LDAP サーバーの作成 」ページで、「 サーバー IP 」ラジオボタンを選択し、「 認証」の横にあるチェックボックスをオフにし、次の値を入力して「 テスト接続」を選択します。次に、設定例を示します。
    名前: ldap_otp_action
    IPアドレス:192.168.xx.xx
    ベース DN: DC = トレーニング、DC = ラボ
    パスワード: xxxxx
  18. **セクションまでスクロールします。ドロップダウンメニューを使用して、次のオプションを選択します。 サーバーログオン名属性として「新規」と入力し、userprincipalnameと入力します。
  19. ドロップダウンメニューを使用して を として選択し、 userprincipalnameと入力します。
  20. フィールドに「UserParameters」と入力し、 をクリックします。
  21. 次の属性を入力します。
    属性 1 = メール属性 2 = objectGUID 属性 3 = immutableID
  22. [OK] をクリックします。
  23. ページで、 を true に設定し、 をクリックします。
  24. ページで、 をクリックし、 をクリックします。**
  25. ページで、 をクリックします。
  26. ページで、 をクリックし、 をクリックします。
    Create OTP for OTP verification.
  27. 画面で、次のように入力します。
    名前:auth_pol_ldap_otp_verify
  28. リストを使用して、 を として選択します。
  29. フィールドで、 をクリックしてアクションを作成します。
    Create the third LDAP action to verify OTP.
  30. 「 認証 LDAP サーバーの作成 」ページで、「 サーバー IP 」ラジオボタンを選択し、「 認証」の横にあるチェックボックスをオフにし、次の値を入力して「 テスト接続」を選択します。次に、設定例を示します。
    名前:ldap_verify_otp
    IPアドレス:192.168.xx.xx
    ベース DN: DC = トレーニング、DC = ラボ
    パスワード: xxxxx
  31. **セクションまでスクロールします。ドロップダウンメニューを使用して、次のオプションを選択します。 サーバーログオン名属性として「新規」と入力し、userprincipalnameと入力します。
  32. ドロップダウンメニューを使用して を として選択し、 userprincipalnameと入力します。
  33. フィールドに「UserParameters」と入力し、 をクリックします。
  34. 次の属性を入力します。
    属性 1 = メール属性 2 = objectGUID 属性 3 = immutableID
  35. [OK] をクリックします。
  36. ページで、 を true に設定し、 をクリックします。
  37. ページで、 をクリックし、 をクリックします。**
  38. ページで、 をクリックします。
  39. ページで、 をクリックし、 をクリックします。
通常の LDAP サーバーの高度な認証ポリシーがまだ作成されていない可能性があります。 を LDAP に変更します。 通常の LDAP サーバーを選択します。これは、認証が有効になっているサーバーです。 式に true を入力します。これは、クラシック構文の代わりにデフォルト構文を使用します。 「作成」をクリックします。
注:
認証仮想サーバーは、RFWebUI ポータルテーマにバインドする必要があります。サーバー証明書をサーバーにバインドします。サーバー IP '1.2.3.5' には、後で使用するために対応する FQDN (otpauth.server.com) が必要です。

第 2 要素 OTP のログインスキーマの作成

  1. > > に移動します。編集する仮想サーバーを選択します。
  2. 下にスクロールして、 を選択します。
  3. [Add Binding] をクリックします。
  4. セクションで、 をクリックしてポリシーを追加します。
  5. 「 認証ログインスキーマポリシーの作成 」ページで、名前を入力して「 追加」をクリックします。
  6. 「 認証ログインスキーマの作成 」ページで、名前を入力し、 noschemaの横にある鉛筆アイコンをクリックします。
  7. LoginSchemaフォルダ をクリックし 、DualAuthManageOTP.xmlを選択し **、をクリックします。
  8. をクリックし、下にスクロールします。
  9. フィールドに、1 と入力します。これにより、nFactorはユーザーのパスワードを認証、承認、監査用の属性 #1 に保存します。この属性は、後でトラフィックポリシーでStoreFront へのシングルサインオンに使用できます。これを行わないと、NetScaler Gateway はパスコードを使用してStoreFront への認証を試行しますが、これは機能しません。
  10. **[作成]**をクリックします。
  11. セクションで、 Trueと入力します。**[作成]**をクリックします。
  12. [Bind] をクリックします。
  13. 認証の 2 つの要素に注目してください。 をクリックし、 をクリックします。

シングルサインオンのトラフィックポリシー

  1. NetScaler Gateway > ポリシー > トラフィックに移動します。
  2. タブで、 をクリックします。
  3. トラフィックプロファイルの名前を入力します。
  4. 下にスクロールして、 ボックスに次のように入力し、 をクリックします。ここでは、第 2 要素 OTP に指定されたログインスキーマのパスワード属性を使用します。
    AAA.USER.ATTRIBUTE(1)
  5. タブで、 をクリックします。
  6. フィールドに、トラフィックポリシーの名前を入力します。
  7. フィールドで、作成したトラフィックプロファイルを選択します。
  8. ボックスに Trueと入力します。NetScaler Gateway 仮想サーバーでフルVPNが許可されている場合は、式を次のように変更します。
    http.req.method.eq(post)||http.req.method.eq(get) && false
  9. **[作成]**をクリックします。
  10. トラフィックポリシーを VPN 仮想サーバーにバインドします。
    • > > に移動します。
    • NetScaler Gateway仮想サーバーを選択して認証プロファイルを構成し、[OK]をクリックします。
    • [ Citrix Gateway]>[Citrix Gateway仮想サーバー ]に移動し、NetScaler Gateway 仮想サーバーを選択します。「 VPN 仮想サーバー 」ページが表示されます。
    • 「 ポリシー 」セクションで、「+」アイコンをクリックします。
    • ポリシータイプを「 トラフィック 」として選択し、「 続行」をクリックします。
    • トラフィックポリシーを選択し、 をクリックします。
    • [完了] をクリックします。

OTP を管理するためのコンテンツスイッチングポリシーを構成する

Unified Gateway を使用している場合は、次の構成が必要です。
  1. Traffic Management > Content Switching > Policiesに移動します。コンテンツスイッチングポリシーを選択し、右クリックして を選択します。
  2. 式を編集して次の OR ステートメントを評価し、 **「OK」**をクリックします。
    is_vpn_url || HTTP.REQ.URL.CONTAINS("manageotp")

CLI を使用したネイティブ OTP の設定

OTP デバイス管理ページを設定するには、次の情報が必要です。
  • 認証仮想サーバーに割り当てられた IP
  • 割り当てられた IP に対応する FQDN
  • 認証仮想サーバーのサーバー証明書
注:
ネイティブ OTP は Web ベースのソリューションのみです。

OTP デバイスの登録および管理ページを設定するには

認証仮想サーバーの作成
```
add authentication vserver authvs SSL 1.2.3.5 443
bind authentication vserver authvs -portaltheme RFWebUI
bind ssl vserver authvs -certkeyname otpauthcert
```
注:
認証仮想サーバーは RFWebUI ポータルテーマにバインドする必要があります。サーバー証明書をサーバーにバインドします。サーバー IP '1.2.3.5' には、後で使用するために対応する FQDN (otpauth.server.com) が必要です。

LDAP ログオンアクションを作成するには

add authentication ldapAction <LDAP ACTION NAME> -serverIP <SERVER IP> -  serverPort <SERVER PORT> -ldapBase <BASE> -ldapBindDn <AD USER> -ldapBindDnPassword <PASSWO> -ldapLoginName <USER FORMAT>
例:
add authentication ldapAction ldap_logon_action -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD -ldapLoginName userprincipalname

LDAP ログオンの認証ポリシーを追加するには

add authentication Policy auth_pol_ldap_logon -rule true -action ldap_logon_action

Loginschemaを使用して UI を表示するには

ログオン時にユーザー名フィールドとパスワードフィールドをユーザーに表示する
add authentication loginSchema lschema_single_auth_manage_otp -authenticationSchema "/nsconfig/loginschema/LoginSchema/SingleAuthManageOTP.xml"

デバイスの登録と管理ページを表示する

デバイスの登録画面と管理画面を表示するには、URLまたはホスト名の2つの方法をお勧めします。
注:
現在、デバイス登録とデバイス管理はブラウザを使用してのみ実行できます。
  • URL を使う
    URL に '/manageotp' が含まれている場合
    • add authentication loginSchemaPolicy lpol_single_auth_manage_otp_by_url -rule "http.req.cookie.value("NSC_TASS").contains("manageotp")" -action lschema_single_auth_manage_otp
    • bind authentication vserver authvs -policy lpol_single_auth_manage_otp_by_url -priority 10 -gotoPriorityExpression END
  • ホスト名を使う
    ホスト名が「alt.server.com」の場合
    • add authentication loginSchemaPolicy lpol_single_auth_manage_otp_by_host -rule "http.req.header("host").eq("alt.server.com")" -action lschema_single_auth_manage_otp
    • bind authentication vserver authvs -policy lpol_single_auth_manage_otp_by_host -priority 20 -gotoPriorityExpression END

CLI を使用してユーザログインページを設定するには

ページを設定するには、次の情報が必要です。
  • 負荷分散仮想サーバーの IP
  • 負荷分散仮想サーバーの対応する FQDN
  • 負荷分散仮想サーバーのサーバー証明書
    bind ssl vserver lbvs_https -certkeyname lbvs_server_cert
負荷分散におけるバックエンドサービスは、次のように表されます。
```
add service iis_backendsso_server_com 1.2.3.210 HTTP 80
bind lb vserver lbvs_https iis_backendsso_server_com
```

OTP パスコード検証アクションを作成するには

add authentication ldapAction <LDAP ACTION NAME> -serverIP <SERVER IP> -serverPort <SERVER PORT> -ldapBase <BASE> -ldapBindDn <AD USER> -ldapBindDnPassword <PASSWORD> -ldapLoginName <USER FORMAT> -authentication DISABLED -OTPSecret <LDAP ATTRIBUTE>
例:
add authentication ldapAction ldap_otp_action -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD -ldapLoginName userprincipalname -authentication DISABLED -OTPSecret userParameters
重要:
LDAPログオンとOTPアクションの違いは、認証を無効にして新しいパラメータOTPSecretを導入する必要があることです。AD 属性値は使用しないでください。

OTP パスコード検証の認証ポリシーを追加するには

add authentication Policy auth_pol_otp_validation -rule true -action ldap_otp_action

LoginSchema を介して 2 要素認証を提示するには

2 要素認証用の UI を追加します。
add authentication loginSchema lscheme_dual_factor -authenticationSchema "/nsconfig/loginschema/LoginSchema/DualAuth.xml"
add authentication loginSchemaPolicy lpol_dual_factor -rule true -action lscheme_dual_factor

ポリシーラベルを介してパスコード検証係数を作成するには

次の要素の管理OTPフローポリシーラベルを作成します(最初の要素はLDAPログオンです)
add authentication loginSchema lschema_noschema -authenticationSchema noschema
add authentication policylabel manage_otp_flow_label -loginSchema lschema_noschema

OTPポリシーをポリシー・ラベルにバインドするには

bind authentication policylabel manage_otp_flow_label -policyName  auth_pol_otp_validation -priority 10 -gotoPriorityExpression NEXT

UI フローをバインドするには

LDAPログオンに続いて、認証仮想サーバーを使用したOTP検証をバインドします。
bind authentication vserver authvs -policy auth_pol_ldap_logon -priority 10 -nextFactor  manage_otp_flow_label -gotoPriorityExpression NEXT
bind authentication vserver authvs -policy lpol_dual_factor -priority 30 -gotoPriorityExpression END

シングルサインオン用のトラフィックポリシーを作成して VPN 仮想サーバーにバインドするには

add vpn trafficAction vpn_html_pol http -userExpression aaa.user.attribute(1) -passwdExpression aaa.user.attribute(2)

add vpn trafficpolicy tf1 'http.req.method.eq(post)||http.req.method.eq(get) && false' vpn_html_pol

bind vpn vserver vpn1 -policy tf1 -priority 10

NetScalerでデバイスを登録する

  1. ブラウザで、/manageotpサフィックスを付けたNetScaler FQDN(最初に公開されているIP)に移動します。たとえば、 <https://otpauth.server.com/manageotp>。ユーザーの資格情報を使用してログインします。
  2. アイコンをクリックしてデバイスを追加します。
    Gatewayログオンページ
  3. デバイス名を入力して Goを押します。画面にバーコードが表示されます。
  4. をクリックし、 をクリックします。
  5. デバイスのカメラを QR コードの上に置きます。オプションでコードを入力できます。
    QRコード
    注:
    表示された QR コードは 3 分間有効です。
  6. スキャンが成功すると、ログインに使用できる 6 桁の時刻依存コードが表示されます。
    ログオン成功メッセージ
  7. テストするには、QR 画面で をクリックし、右側の緑色のチェックマークをクリックします。
  8. ドロップダウンメニューからデバイスを選択し、Google Authenticator のコード(赤ではなく青である必要があります)を入力し、 をクリックします。
  9. ページの右上隅にあるドロップダウンメニューを使用して、必ずログアウトしてください。

OTPを使用してNetScalerにログインします

  1. 最初に公開する URL に移動し、Google Authenticator の OTP を入力してログオンします。
  2. NetScalerスプラッシュページに認証します。
    ADC 認証ページ