ゲートウェイ認証用の nFactor
nFactor 認証は、まったく新しい認証の可能性を可能にします。nFactorを使用する管理者は、仮想サーバーの認証要素を設定する際に、認証、承認、監査(Citrix ADC AAA)の柔軟性を享受できます。
2 つのポリシーバンクまたは 2 つの要因により、管理者は制限されなくなりました。政策銀行の数は、さまざまなニーズに合わせて拡張できます。以前の要素に基づいて、nFactor は認証方法を決定します。動的ログインフォームと障害発生時のアクションは、nFactor を使用することで可能です。
注:
nFactor は Citrix ADC スタンダードエディションではサポートされていません。Citrix ADC エンタープライズエディションと Citrix ADC プラチナエディションでサポートされています。
使用例
nFactor 認証は、ユーザプロファイルに基づいてダイナミック認証フローを有効にします。ユーザーが直感的に理解できるような単純なフローである場合もあります。それ以外の場合は、Active Directory または他の認証サーバのセキュリティ保護と組み合わせることができます。次に、Gateway に固有の要件をいくつか示します:
-
**ユーザー名とパスワードの動的な選択。**従来、Citrixクライアント(ブラウザとReceiverを含む)は、最初のパスワードフィールドとしてActive Directory(AD)パスワードを使用します。2 番目のパスワードは、ワンタイムパスワード (OTP) 用に予約されています。ただし、AD サーバーを保護するには、まず OTP を検証する必要があります。nFactor は、クライアントの変更を必要とせずにこれを実行できます。
-
マルチテナント認証エンドポイント。組織によっては、証明書ユーザーと証明書以外のユーザーに異なる Gateway サーバーを使用します。ユーザーが自分のデバイスを使用してログインする場合、ユーザーのアクセスレベルは、使用されているデバイスに基づいてNetScaler ADCアプライアンスによって異なります。ゲートウェイは、さまざまな認証ニーズに対応できます。
-
グループメンバーシップに基づく認証。組織によっては、認証要件を決定するために AD サーバーからユーザープロパティを取得します。認証要件は、ユーザーごとに変更できます。
-
認証の副要因。場合によっては、異なる認証ポリシーのペアを使用して、異なるユーザーセットを認証することがあります。ペアポリシーを提供すると、効果的な認証が向上します。従属ポリシーは、1 つのフローから作成できます。したがって、独立した一連のポリシーが独自のフローになり、効率が向上し、複雑さが軽減されます。
認証レスポンスの処理
NetScaler Gateway コールバックレジスタは、認証応答を処理します。AAAD (認証デーモン) 応答と成功/失敗/エラー/ダイアログコードは、コールバックハンドルに送られます。成功/失敗/エラー/ダイアログコードは、Gateway に適切なアクションを実行するように指示します。
クライアントサポート
次の表に、設定の詳細を示します。
| Client | nFactorサポート | 認証ポリシーのバインドポイント | EPA |
|---|---|---|---|
| Webブラウザー | はい | 認証 | はい |
| Citrix Workspaceアプリ | はい | VPN | はい |
| ゲートウェイプラグイン | はい | VPN | はい |
注:
-
NetScaler Gateway プラグインは、12.1 ビルド 49.37 以降の nFactor 認証をサポートしています。
-
Citrix Workspace アプリは、以下のバージョンのサポートされているオペレーティングシステムでnFactor認証をサポートしています。
-
Windows 4.12
-
Linux 13.10
-
Mac 1808
-
iOS 2007
-
Android 1808
-
HTML5: ストアウェブを通じてサポート
-
Chrome: ストアウェブでサポート
-
コマンドライン設定
Gateway 仮想サーバには、属性として指定された認証仮想サーバが必要です。このモデルに必要な構成はこれだけです。
add authnProfile <name-of-profile> -authnVsName <name-of-auth-vserver>
authnVsNameは、認証仮想サーバーの名前です。この仮想サーバーは高度な認証ポリシーを使用して構成する必要があり、nFactor 認証に使用されます。
add vpn vserver <name> <serviceType> <IP> <PORT> -authnProfile <name-of-profile>
set vpn vserver <name> -authnProfile <name-of-profile>
ここで、authnProfile は以前に作成された認証プロファイルです。
相互運用に関する課題
ほとんどのレガシーゲートウェイクライアントと rfWebクライアントは、Gateway から送信される応答をモデルにしています。たとえば、/vpn/index.html に対する 302 応答は、多くのクライアントで想定されています。また、これらのクライアントは 、
pwcount、「NSC_CERT」などのさまざまなGateway Cookie に依存しています
エンドポイント分析 (EPA)
nFactorのEPAは、NetScaler ADC 認証、承認、および監査モジュールではサポートされていません。したがって、NetScaler Gateway 仮想サーバーはEPAを実行します。EPA の後、ログイン資格情報は、前述の API を使用して認証仮想サーバーに送信されます。認証が完了すると、Gateway は認証後のプロセスを続行し、ユーザセッションを確立します。
設定ミスの考慮事項
Gateway クライアントは、ユーザクレデンシャルを 1 回だけ送信します。Gateway は、ログイン要求でクライアントから 1 つまたは 2 つのクレデンシャルを取得します。レガシーモードでは、最大 2 つの要素があります。取得したパスワードは、これらの要素に使用されます。ただし、nFactor では、設定できるファクタの数は実質的に無制限です。Gateway クライアントから取得したパスワードは、(設定に従って)設定された要素で再利用されます。ワンタイムパスワード (OTP) を複数回再利用してはならないよう注意する必要があります。同様に、管理者は、ファクタで再使用されるパスワードが実際にそのファクタに適用可能であることを確認する必要があります。
Citrix クライアントの定義
構成オプションは、NetScaler ADCがブラウザクライアントとReceiverなどのシッククライアントを判断するのに役立つように提供されています。
管理者がすべてのCitrix クライアントのパターンを構成できるように、パターンセットns_vpn_client_useragent が用意されています。
同様に、ユーザーエージェントに「Citrix Receiver」が含まれているすべてのCitrixクライアントを無視するには、「Citrix Receiver」文字列を上記
patsetにバインドします。
ゲートウェイの nFactor を制限する
ゲートウェイ認証の nFactor は、次の条件に当てはまる場合は実行されません。
-
authnProfileは、NetScaler Gateway では設定されていません。
-
高度な認証ポリシーは認証仮想サーバーにバインドされておらず、同じ認証仮想サーバーがauthnProfileに記載されています。
-
HTTPリクエストのユーザーエージェント文字列は、
patset ns_vpn_client_useragentsで設定されたユーザーエージェントと一致します。
これらの条件が満たされない場合は、Gateway にバインドされた従来の認証ポリシーが使用されます。
User-Agent またはその一部が前述の
patsetにバインドされている場合、それらのユーザーエージェントからのリクエストは nFactor フローに参加しません。たとえば、次のコマンドは、すべてのブラウザの設定を制限します(すべてのブラウザがユーザーエージェント文字列に「Mozilla」が含まれていると仮定します)。
bind patset ns_vpn_client_useragents Mozilla
ログインスキーマ
LoginSchema は、ログオンフォームの論理表現です。XML 言語によって定義されています。LoginSchemaの構文は、Citrix の共通フォームプロトコル仕様に準拠しています。
LoginSchema は、製品の「ビュー」を定義します。管理者は、フォームのカスタマイズした説明、補助テキストなどを提供できます。これには、フォーム自体のラベルも含まれます。顧客は、特定の時点で提示されたフォームを説明する成功メッセージまたは失敗メッセージを提供できます。
LoginSchemaと nFactor の知識が必要
事前構築されたログインスキーマファイルは、次のCitrix ADCの場所/nsConfig/loginSchema/にあります。これらの事前構築された LoginSchema ファイルは、一般的なユースケースに対応しており、必要に応じてわずかなバリエーションに変更できます。
また、カスタマイズがほとんどない単一要素のユースケースのほとんどは、ログインスキーマの設定を必要としません。
管理者は、Citrix ADCが要因を発見できるようにする他の構成オプションについて、Citrix 製品のドキュメントを確認することをお勧めします。ユーザーがクレデンシャルを送信すると、管理者は複数のファクタを設定して、認証ファクタを柔軟に選択して処理できます。
loginSchema を使用しないデュアルファクタ認証の設定
NetScaler ADCは、構成に基づいて二重要素の要件を自動的に決定します。ユーザーがこれらの資格情報を提示すると、管理者は仮想サーバで最初のポリシーセットを構成できます。各ポリシーに対して、「パススルー」として設定された「NextFactor」が存在する可能性があります。「パススルー」とは、Citrix ADCアプライアンスがユーザーにアクセスせずに既存の資格情報セットを使用してログオンを処理する必要があることを意味します。「パススルー」要素を使用することで、管理者はプログラムで認証フローを駆動できます。管理者は、nFactor の仕様書または展開ガイドで詳細を読むことをお勧めします。
<https://docs.citrix.com/en-us/netscaler/12-1/aaa-tm/multi-factor-nfactor-authentication.html>を参照してください。
ユーザー名パスワード表現
ログイン認証情報を処理するには、管理者は LoginSchema を設定する必要があります。LoginSchema のカスタマイズがほとんどないシングルファクタまたはデュアルファクタのユースケースでは、XML 定義を指定する必要はありません。LoginSchema には、ユーザーが提示するユーザー名またはパスワードを変更するために使用できる userExpression や passwdExpressionなどの他のプロパティがあります。これらは高度なポリシー式であり、ユーザー入力をオーバーライドするためにも使用できます。
nFactor 構成のハイレベルな手順
次の図は、nFactor の設定に関連する高レベルの手順を示しています。
GUI 構成
このセクションでは、次のトピックについて説明します。
-
仮想サーバーを作成する
-
認証仮想サーバーの作成
-
認証 CERT プロファイルの作成
-
認証ポリシーの作成
-
LDAP 認証サーバーを追加する
-
LDAP 認証ポリシーを追加する
-
RADIUS 認証サーバーを追加する
-
RADIUS 認証ポリシーの追加
-
認証ログインスキーマの作成
-
ポリシーラベルの作成
仮想サーバーを作成する
-
[ NetScaler Gateway]>[仮想サーバー]に移動します。
-

-
次の情報を入力します。

-
-
をクリックしてサーバー証明書を選択します。
-

-
[Bind] をクリックします。

-
「 使用可能な暗号がありません」という警告が表示された場合は、 **「OK」**をクリックします
-

-

認証仮想サーバーの作成
-
-
[追加] をクリックします。

-
次の基本設定を完了して、認証仮想サーバーを作成します。注: 設定名の右側にある* 記号は、必須フィールドを示します。
-
IP アドレスタイプを入力します。IP アドレスタイプは、アドレス指定不可として設定できます。
-
IP アドレスを入力します。IP アドレスはゼロでもよい。
-
認証仮想サーバのプロトコルタイプを入力します 。
-
仮想サーバが接続を受け付ける TCP ポートを入力します 。
-
認証仮想サーバによって設定された認証 Cookie のドメインを入力します 。
-
[OK] をクリックします。

-

-
リストから目的のサーバー証明書を選択します。

-
注:認証仮想サーバーには、証明書がバインドされている必要はありません。

-
サーバ証明書バインディングを設定します。

認証 CERT プロファイルの作成
-

-

-
次のフィールドに入力して、認証 CERT プロファイルを作成します。設定名の右にある*記号は、必須フィールドを示します。
-
Name :クライアント証明書認証サーバプロファイルの名前 (アクション)。
-
2 要素 — この場合、2 要素認証オプションは NOOP です。
-
「ユーザー名フィールド 」— ユーザー名の抽出元となる client-cert フィールドを入力します。「Subject」または「Issuer」のいずれかに設定する必要があります(両方の二重引用符のセットを含む)。
-
グループ名フィールド -グループが抽出されるクライアント証明書フィールドを入力します。「Subject」または「Issuer」のいずれかに設定する必要があります(両方の二重引用符のセットを含む)。
-
デフォルト認証グループ -これは、抽出されたグループに加えて認証が成功した場合に選択されるデフォルトのグループです。
-
-
[Create] をクリックします。

認証ポリシーの作成
-

-

-
認証ポリシーを作成するには、次の情報を入力します。設定名の右にある*記号は、必須フィールドを示します。a) 名前 — 事前認証ポリシーの名前を入力します。文字、数字、またはアンダースコア文字 (_) で始まり、文字、数字、およびハイフン (-)、ピリオド (.)、ポンド (#)、スペース ()、アットマーク (@)、等号 (=)、コロン (:)、およびアンダースコア文字のみを含める必要があります。認証ポリシーの作成後は変更できません。次の要件は、NetScaler ADC CLIにのみ適用されます。名前に1つ以上のスペースが含まれる場合は、名前を二重引用符または一重引用符で囲みます(たとえば、「認証ポリシー」または「認証ポリシー」)。b) アクションタイプ -認証アクションのタイプを入力します。c) Action -ポリシーが一致した場合に実行される認証アクションの名前を入力します。d) ログアクション -要求がこのポリシーに一致したときに使用するメッセージログアクションの名前を入力します。e) 式 -認証サーバーでユーザーを認証するかどうかを決定するためにポリシーが使用するNetScaler ADC名前付きルールの名前またはデフォルトの構文式を入力します。
-
[作成] をクリックします

LDAP 認証サーバの追加
LDAP 認証ポリシーの追加
-

-

-
認証ポリシーを作成するには、次の情報を入力します。設定名の右にある*記号は、必須フィールドを示します。a) 名前 -事前認証ポリシーの名前。 文字、数字、またはアンダースコア文字 (_) で始まり、文字、数字、およびハイフン (-)、ピリオド (.)、ポンド (#)、スペース ()、アットマーク (@)、等号 (=)、コロン (:)、およびアンダースコア文字のみを含める必要があります。認証ポリシーの作成後は変更できません。次の要件は、NetScaler ADC CLIにのみ適用されます。名前に1つ以上のスペースが含まれる場合は、名前を二重引用符または一重引用符で囲みます(たとえば、「認証ポリシー」または「認証ポリシー」)。b) アクションタイプ -認証アクションのタイプ。c) Action :ポリシーが一致した場合に実行される認証アクションの名前。d) Log Action :リクエストがこのポリシーに一致したときに使用するメッセージログアクションの名前。e) 式 -認証サーバーでユーザーを認証するかどうかを決定するためにポリシーが使用するNetScaler ADC名前付きルールの名前、またはデフォルトの構文式。f) コメント -このポリシーに関する情報を保存するためのコメント。
-
[作成] をクリックします

RADIUS 認証サーバの追加
-

-

-
認証 RADIUS サーバを作成するには、次のように入力します。設定名の右にある*記号は、必須フィールドを示します。a) RADIUSアクションの名前を入力します。b) RADIUSサーバに割り当てられたサーバ名またはサーバIPアドレスを入力します。c) RADIUSサーバが接続を受信するポート番号を入力します 。d) タイムアウト値を数秒で入力します 。これは、Citrix ADCアプライアンスがRADIUSサーバーからの応答を待つ値です。e) RADIUSサーバーとCitrix ADCアプライアンス間で共有されるシークレットキーを入力します。秘密キーは、NetScaler ADCアプライアンスがRADIUSサーバーと通信できるようにするために必要です。f) シークレットキーを確認します。
-
[作成] をクリックします

RADIUS 認証ポリシーの追加
-

-

-
認証ポリシーを作成するには、次の情報を入力します。設定名の右にある*記号は、必須フィールドを示します。a) 名前 -事前認証ポリシーの名前。 文字、数字、またはアンダースコア文字 (_) で始まり、文字、数字、およびハイフン (-)、ピリオド (.)、ポンド (#)、スペース ()、アットマーク (@)、等号 (=)、コロン (:)、およびアンダースコア文字のみを含める必要があります。認証ポリシーの作成後は変更できません。次の要件は、NetScaler ADC CLIにのみ適用されます。名前に1つ以上のスペースが含まれる場合は、名前を二重引用符または一重引用符で囲みます(たとえば、「認証ポリシー」または「認証ポリシー」)。b) アクションタイプ -認証アクションのタイプ。c) Action :ポリシーが一致した場合に実行される認証アクションの名前。d) Log Action :リクエストがこのポリシーに一致したときに使用するメッセージログアクションの名前。e) 式 -認証サーバーでユーザーを認証するかどうかを決定するためにポリシーが使用するNetScaler ADC名前付きルールの名前、またはデフォルトの構文式。f) コメント -このポリシーに関する情報を保存するためのコメント。
-
**[OK]**をクリックします

-
認証ポリシーがリストされていることを確認します。

認証ログインスキーマの作成
-

-

-
次のフィールドに入力して、認証ログインスキーマを作成します:a) 名前を入力 — これは新しいログインスキーマの名前です。b) 認証スキーマの入力 -ログインページ UI に送信される認証スキーマを読み取るためのファイルの名前です。ログインフォームをレンダリングするには、このファイルにCitrix Forms認証プロトコルに基づく要素のxml定義が含まれている必要があります。管理者がユーザーに他の認証情報の入力を求めずに、以前に取得した認証情報をそのまま使用したい場合は、引数として
noschemaを指定できます。これは、ユーザー定義ファクタで使用される loginSchemas にのみ適用され、仮想サーバーファクタには適用されませんc) ユーザー表現を入力 -ログイン時にユーザー名を抽出するための式d) パスワード表現を入力 -これはログイン時にパスワード抽出するための式ですe) ユーザー認証情報インデックスの入力 -これは、ユーザーが入力したユーザー名をセッションに保存する必要があるインデックスです。f) パスワード認証情報インデックスの入力 -これは、ユーザーが入力したパスワードをセッションに保存する必要があるインデックスです。g) 認証強度の入力 -これは現在の認証の重みです。 -
[作成] をクリックします
-
ログインスキーマプロファイルがリストされていることを確認します。

-
ポリシーラベルの作成
ポリシーラベルは、特定のファクタの認証ポリシーを指定します。各ポリシーラベルは 1 つの要素に対応します。ポリシーラベルは、ユーザーに提示する必要があるログインフォームを指定します。ポリシーラベルは、認証ポリシーまたは別の認証ポリシーラベルの次の要素としてバインドする必要があります。通常、ポリシーラベルには、特定の認証メカニズムの認証ポリシーが含まれます。ただし、異なる認証メカニズムの認証ポリシーを持つポリシーラベルを使用することもできます。
-
-
[追加] をクリックします。

-
次のフィールドに入力して、認証ポリシーラベルを作成します:a) 新しい認証ポリシーラベルの名前を入力します 。b) 認証ポリシーラベルに関連付けられたログインスキーマを入力します 。

-

-

-
次のフィールドに入力します。a) ポリシーバインディングの優先度を入力します 。b) Goto 式を入力します。この式は 、現在のポリシー・ルールが TRUE と評価された場合に評価される次のポリシーの優先度を指定します。

-

-

-
[完了] をクリックします。
-
認証ポリシーラベルを確認します。
