認証のためのネイティブOTPサポート
NetScaler Gateway は、サードパーティのサーバーを使用せずにワンタイムパスワード(OTP)をサポートします。ワンタイムパスワードは、生成される番号またはパスコードがランダムであるため、セキュリティで保護されたサーバーを認証するための非常に安全なオプションです。以前は、乱数を生成する特定のデバイスを持つRSAなどの専門企業が、OTPを提供していました。このシステムは、サーバーが期待する数値を生成するために、クライアントと常に通信している必要があります。
この機能は、資本コストと運用経費の削減に加えて、構成全体をNetScalerアプライアンスに保持することで管理者の制御を強化します。
注:
サードパーティのサーバーは不要になったため、NetScaler ADC管理者はユーザーデバイスを管理および検証するためのインターフェイスを構成する必要があります。
OTPソリューションを使用するには、NetScaler Gateway 仮想サーバーに登録されている必要があります。登録は一意のデバイスごとに一度だけ必要で、特定の環境に制限することができます。登録ユーザーの設定と検証は、追加の認証ポリシーの設定と似ています。
ネイティブOTPサポートの利点
- Active Directory に加えて、認証サーバー上に追加のインフラストラクチャを用意する必要がなくなるため、運用コストが削減されます。
- 構成をNetScalerアプライアンスのみに統合するため、管理者はきめ細かく制御できます。
- クライアントが期待する数値を生成するために、追加の認証サーバーへのクライアントの依存を排除します。
ネイティブ OTP ワークフロー
ネイティブ OTP ソリューションは 2 つのプロセスであり、ワークフローは次のように分類されます。
- デバイス登録
- エンドユーザログイン
重要: サードパーティのソリューションを使用している場合、またはNetScaler ADCアプライアンス以外のデバイスを管理している場合は、登録プロセスをスキップできます。追加する最後の文字列は、NetScalerが指定した形式である必要があります。
次の図は、OTP を受信する新しいデバイスを登録するためのデバイス登録フローを示しています。
注:
デバイスの登録は、さまざまな要素を使用して行うことができます。デバイス登録プロセスを説明するために、1 つの要素(前の図で指定)を例として使用します。
次の図は、登録済みデバイスを介した OTP の検証を示しています。
前提条件
ネイティブ OTP 機能を使用するには、次の前提条件が満たされていることを確認してください。
- NetScaler機能リリースバージョンは12.0ビルド51.24以降です。
- AdvancedエディションまたはPremiumエディションのライセンスがNetScaler Gatewayにインストールされています。
- NetScaler Gateway は管理IPで構成されており、管理コンソールにはブラウザとコマンドラインの両方を使用してアクセスできます。
- NetScalerは、ユーザーを認証するための認証、承認、監査仮想サーバーで構成されています。
- NetScalerアプライアンスはUnified Gateway で構成され、認証、承認、監査プロファイルがGateway仮想サーバーに割り当てられます。
- ネイティブ OTP ソリューションは、nFactor 認証フローに制限されています。ソリューションを構成するには、高度なポリシーが必要です。詳細については、 CTX222713の文書を参照してください。
また、Active Directory については、次の点を確認してください:
- 属性の最小長は 256 文字です。
- 属性タイプは、ユーザパラメータなどの ‘DirectoryString’ でなければなりません。これらの属性は文字列値を保持できます。
- デバイス名が英語以外の文字である場合、属性文字列タイプは Unicode である必要があります。
- NetScaler LDAP管理者は、選択したAD属性への書き込みアクセス権を持っている必要があります。
- NetScalerアプライアンスとクライアントマシンは、共通のネットワークタイムサーバーと同期する必要があります。
GUI を使用したネイティブ OTP の設定
ネイティブ OTP 登録は、単要素認証だけではありません。次のセクションでは、シングルファクタ認証とセカンドファクタ認証の設定について説明します。
第 1 ファクタのログインスキーマの作成
- セキュリティ AAA > アプリケーショントラフィック > ログインスキーマに移動します。
- [ プロファイル ] に移動し、[ 追加] をクリックします。
- [ 認証ログインスキーマの作成 ] ページで、[ 名前 ] フィールドに lschema_single_auth_manage_otp と入力し、 noschema の横にある [ 編集] をクリックします。
- [ ログインスキーマ ] フォルダをクリックします。
- 下にスクロールして SingleAuth.xml を選択し、[ 選択] をクリックします。
- [Create] をクリックします。
- [ ポリシー ] をクリックし、[ 追加] をクリックします。
-
[認証ログインスキーマポリシーの作成] 画面で、次の値を入力します。
名前:
lpol_single_auth_manage_otp_by_url
プロファイル:リストからlpol_single_auth_manage_otp_by_url
を選択します。 ルール:HTTP.REQ.COOKIE.VALUE("NSC_TASS").EQ("
manageotp")
認証、承認、および監査仮想サーバーの構成
- [ セキュリティ] > [AAA-アプリケーショントラフィック] > [認証仮想サーバ] に移動します。既存の仮想サーバーを編集する場合にクリックします。
- 右側のペインの [詳細設定] の [ログインスキーマ] の横にある [+] アイコンをクリックします。
- 「 ログインスキーマなし」を選択します。
- 矢印をクリックし、 lpol_single_auth_manage_otp_by_url ポリシーを選択します。
- lpol_single_auth_manage_otp_by_urlポリシーを選択し、[選択] をクリックします。
- [Bind] をクリックします。
- 上にスクロールし、[高度な認証ポリシー] の下の [認証ポリシー] を 1 つ選択します。
- nFactor ポリシーを 右クリックし、[バインディングの編集] を選択します。
- [ 次の要素を選択] の下にある [ **+ ] アイコンをクリックし、** [次の係数] を作成して [ バインド] をクリックします。
-
[ 認証の作成
PolicyLabel
] 画面で、次のように入力し、[ 続行] をクリックします。名前: manage_otp_flow_label
ログインスキーマ: Lschema_Int
-
[ 認証ポリシーラベル ] 画面で、[ + ] アイコンをクリックしてポリシーを作成します。
-
[認証ポリシーの作成 ] 画面で、次のように入力します。
名前: auth_pol_ldap_otp_action
- [アクションタイプ] リストを使用して、[ アクションタイプ ] を選択します。
- [ Action ] フィールドで、[ + ] アイコンをクリックしてアクションを作成します。
-
[ 認証 LDAP サーバの作成 ] ページで、[ サーバ IP ] ラジオボタンを選択し、[ 認証] の横にあるチェックボックスの選択を解除し、次の値を入力して、[ 接続のテスト] を選択します。
名前: ldap_otp_action
IPアドレス:192.168.10.11
ベース DN: DC = トレーニング、DC = ラボ
管理者:Administrator@training.lab
パスワード:
xxxxx
- [ その他の設定]セクションまでスクロールします。ドロップダウンメニューを使用して、次のオプションを選択します。 サーバーログオン名属性として「新規」と入力し、userprincipalnameと入力します。
- ドロップダウンメニューを使用して [ SSO 名属性 ] を [ 新規 ] として選択し、 userprincipalnameと入力します。
- [ OTP シークレット ] フィールドに「UserParameters」と入力し、[ 詳細] をクリックします。
-
次の属性を入力します。
属性 1 = メール属性 2 = objectGUID 属性 3 = immutableID
- [OK] をクリックします。
- [ 認証ポリシーの作成 ] ページで、[式] を true に設定し、[ 作成] をクリックします。
- [ 認証ポリシーラベルの作成 ] ページで、[ バインド] をクリックし、[ 完了] をクリックします。
- [ ポリシーのバインド ] ページで、[ バインド] をクリックします。
- [認証ポリシー] ページで、[閉じる] をクリックし、[完了] をクリックします。
注:
認証仮想サーバーは、RfWebUI ポータルテーマにバインドする必要があります。サーバー証明書をサーバーにバインドします。サーバー IP ‘1.2.3.5’ には、後で使用するために対応する FQDN (otpauth.server.com) が必要です。
第 2 要素 OTP のログインスキーマの作成
- [ セキュリティ] > [AAA アプリケーショントラフィック] > [仮想サーバ] に移動します。編集する仮想サーバーを選択します。
- 下にスクロールして、[ 1 つのログインスキーマ] を選択します。
- [Add Binding] をクリックします。
- [ Policy Binding ] セクションで、[ + ] アイコンをクリックしてポリシーを追加します。
- [ 認証ログインスキーマポリシーの作成 ] ページで、[名前] に OTP と入力し、[ + ] アイコンをクリックしてプロファイルを作成します。
- 「 認証ログインスキーマの作成 」ページで、「名前」に「OTP」と入力し、「 noschema」の横にあるアイコンをクリックします。
- LoginSchemaフォルダ をクリックし 、DualAuthManageOTP.xmlを選択し 、[選択]をクリックします。
- [Create] をクリックします。
- [ ルール ] セクションで、 Trueと入力します。[Create] をクリックします。
- [Bind] をクリックします。
- 認証の 2 つの要素に注目してください。[閉じる] をクリックし、[完了] をクリックします。
OTP を管理するためのコンテンツスイッチングポリシーを構成する
Unified Gateway を使用している場合は、次の構成が必要です。
-
Traffic Management > Content Switching > Policiesに移動します。コンテンツスイッチングポリシーを選択し、右クリックして [ 編集] を選択します。
-
式を編集して次の OR ステートメントを評価し、 「OK」をクリックします。
vpn_url |
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
<!--NeedCopy-->
注:
認証仮想サーバーは 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>
<!--NeedCopy-->
例:
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
<!--NeedCopy-->
LDAP ログオンの認証ポリシーを追加するには
add authentication Policy auth_pol_ldap_logon -rule true -action ldap_logon_action
<!--NeedCopy-->
Loginschemaを使用して UI を表示するには
ログオン時にユーザー名フィールドとパスワードフィールドをユーザーに表示する
add authentication loginSchema lschema_single_auth_manage_otp -authenticationSchema "/nsconfig/loginschema/LoginSchema/SingleAuthManageOTP.xml"
<!--NeedCopy-->
デバイスの登録と管理ページを表示する
デバイスの登録画面と管理画面を表示するには、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 を使用してユーザログインページを設定するには
[ユーザーログオン(User Logon)] ページを設定するには、次の情報が必要です。
- 負荷分散仮想サーバーの IP
- 負荷分散仮想サーバーの対応する FQDN
-
負荷分散仮想サーバーのサーバー証明書
bind ssl vserver lbvs_https -certkeyname lbvs_server_cert <!--NeedCopy-->
負荷分散におけるバックエンドサービスは、次のように表されます。
add service iis_backendsso_server_com 1.2.3.210 HTTP 80
bind lb vserver lbvs_https iis_backendsso_server_com
<!--NeedCopy-->
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>
<!--NeedCopy-->
例:
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
<!--NeedCopy-->
重要:
LDAPログオンとOTPアクションの違いは、認証を無効にして新しいパラメータ
OTPSecret
を導入する必要があることです。AD 属性値は使用しないでください。
OTP パスコード検証の認証ポリシーを追加するには
add authentication Policy auth_pol_otp_validation -rule true -action ldap_otp_action
<!--NeedCopy-->
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
<!--NeedCopy-->
ポリシーラベルを介してパスコード検証係数を作成するには
次の要素の管理OTPフローポリシーラベルを作成します(最初の要素はLDAPログオンです)
add authentication loginSchema lschema_noschema -authenticationSchema noschema
add authentication policylabel manage_otp_flow_label -loginSchema lschema_noschema
<!--NeedCopy-->
OTPポリシーをポリシー・ラベルにバインドするには
bind authentication policylabel manage_otp_flow_label -policyName auth_pol_otp_validation -priority 10 -gotoPriorityExpression NEXT
<!--NeedCopy-->
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
<!--NeedCopy-->
デバイスをNetScalerに登録する
- /manageotp サフィックスを付けて、NetScaler FQDN(最初のパブリック向きのIP)に移動します。たとえば、 https://otpauth.server.com/manageotp。ユーザーの資格情報を使用してログインします。
-
[ + ] アイコンをクリックしてデバイスを追加します。
- デバイス名を入力して Goを押します。画面にバーコードが表示されます。
- [ セットアップの開始 ] をクリックし、[ バーコードのスキャン] をクリックします。
-
デバイスのカメラを QR コードの上に置きます。オプションでコードを入力できます。
注:
表示された QR コードは 3 分間有効です。
-
スキャンが成功すると、ログインに使用できる 6 桁の時刻依存コードが表示されます。
- テストするには、QR 画面で [ 完了 ] をクリックし、右側の緑色のチェックマークをクリックします。
- ドロップダウンメニューからデバイスを選択し、Google Authenticator のコード(赤ではなく青である必要があります)を入力し、[ Go] をクリックします。
- ページの右上隅にあるドロップダウンメニューを使用して、必ずログアウトしてください。
OTPを使用してNetScalerにログインします
- 最初に公開されている URL に移動し、Google Authenticator から OTP を入力してログオンします。
-
NetScalerのスプラッシュページを認証します。