認証ポリシー
ユーザーがNetScalerまたはNetScaler Gatewayにログオンすると、作成したポリシーに従って認証されます。認証ポリシーは式とアクションで構成されます。認証ポリシーではNetScalerの式を使用します。
認証アクションと認証ポリシーを作成したら、それを認証仮想サーバーにバインドし、優先度を割り当てます。バインドするときは、プライマリポリシーまたはセカンダリポリシーとして指定します。プライマリポリシーは、セカンダリポリシーよりも先に評価されます。両方のタイプのポリシーを使用する設定では、通常、プライマリポリシーはより限定的なポリシーですが、セカンダリポリシーは通常、より一般的なポリシーです。これは、より具体的な基準を満たさないユーザーアカウントの認証を処理することを目的としています。ポリシーは、認証タイプを定義します。単一の認証ポリシーは、単純な認証のニーズに使用でき、通常はグローバルレベルでバインドされます。デフォルトの認証タイプ (ローカル) を使用することもできます。ローカル認証を構成する場合は、NetScalerでユーザーとグループも構成する必要があります。
複数の認証ポリシーを設定し、それらをバインドして、詳細な認証手順と仮想サーバーを作成できます。たとえば、複数のポリシーを設定して、カスケード認証と 2 要素認証を設定できます。認証ポリシーの優先順位を設定して、NetScalerがユーザー資格情報をチェックするサーバーと順序を決定することもできます。認証ポリシーには、式とアクションが含まれます。たとえば、式を True 値に設定した場合、ユーザーのログオン時にアクションによってユーザーログオンが true と評価され、ユーザーはネットワークリソースにアクセスできます。
認証ポリシーを作成したら、ポリシーをグローバルレベルまたは仮想サーバにバインドします。少なくとも 1 つの認証ポリシーを仮想サーバーにバインドすると、グローバル認証の種類が仮想サーバーにバインドされたポリシーよりも優先されない限り、ユーザーが仮想サーバーにログオンするときに、グローバルレベルにバインドした認証ポリシーは使用されません。
ユーザーがNetScalerにログオンすると、認証は次の順序で評価されます。
- 仮想サーバは、バインドされた認証ポリシーがあるかどうかがチェックされます。
- 認証ポリシーが仮想サーバーにバインドされていない場合、NetScalerはグローバル認証ポリシーを確認します。
- 認証ポリシーが仮想サーバまたはグローバルにバインドされていない場合、ユーザはデフォルトの認証タイプで認証されます。
LDAP および RADIUS 認証ポリシーを構成し、2 要素認証用にポリシーをグローバルにバインドする場合は、設定ユーティリティでポリシーを選択し、ポリシーがプライマリ認証タイプかセカンダリ認証タイプかを選択できます。グループ抽出ポリシーを構成することもできます。
注:
NetScalerまたはNetScaler Gatewayは認証用にUTF-8文字のみをエンコードし、ISO-8859-1文字を使用するサーバーとは互換性がありません。
GUI について
高度な認証ポリシーを作成または変更する
-
[ セキュリティ] > [AAA-アプリケーショントラフィック] > [ポリシー] > [認証] > [詳細ポリシー] > [ポリシー]に移動します。
-
認証ポリシーページで 、次のタスクのいずれかを実行します。
- 認証ポリシーを作成するには、「 追加」をクリックします。「 認証ポリシーの作成 」ページが表示されます。
- 必須フィールドを更新し、「 作成」をクリックします。
-
認証ポリシーを変更するには、アクションを選択し、[ 編集] をクリックします。「 認証ポリシーの設定 」ページが表示されます。必須フィールドを変更し、「 OK」をクリックします。
- 名前:高度な認証ポリシーの名前。
- アクションタイプ:ポリシーが作成される認証アクションのタイプ。
- アクション:ポリシーが一致した場合に実行される認証アクション (LDAP、RADIUS、SAML) の名前。ドロップダウンリストに認証アクションがない場合は、[ 追加] をクリックします。
- 式:認証仮想サーバーでユーザーを認証するかどうかをポリシーが決定するために使用するNetScalerの名前付きルールまたは式の名前。高度なポリシー表現の詳細については、「 高度なポリシー式」を参照してください。
- ログアクション:リクエストがこのポリシーに一致する場合に使用するメッセージログアクションの名前。
認証ポリシーを削除する
ネットワークから認証サーバーを変更または削除した場合は、対応する認証ポリシーをNetScalerから削除してください。
-
[ セキュリティ] > [AAA-アプリケーショントラフィック] > [ポリシー] > [認証] > [詳細ポリシー] > [ポリシー]に移動します。
-
「 認証ポリシー 」ページで、削除するポリシーを選択し、「 削除」をクリックします。
-
[ はい ] をクリックして操作を確定します。
認証ポリシーをバインドする
高度な認証ポリシーを認証仮想サーバーにバインドし、認証プロファイルを使用して認証仮想サーバーを VPN 仮想サーバーにリンクする必要があります。
-
認証仮想サーバーを作成します。
-
[セキュリティ]>[AAA-アプリケーショントラフィック]>[仮想サーバ]に移動します。
-
「 仮想サーバーの認証 」ページで、「 追加」をクリックします。必須フィールドを更新し、「 OK」をクリックします。
-
認証仮想サーバーが存在する場合は、 認証仮想サーバーページで関連するサーバーを選択します 。
-
「 高度な認証ポリシー 」セクションで、認証ポリシーを選択します。
-
「 ポリシーバインディング 」ページでポリシーを選択し、「 追加」をクリックします。優先度、GoTo 式、 次の要素などのバインドの詳細を入力し、[バインド] をクリックします。
-
-
VPN 仮想サーバーを作成します。
-
[ NetScaler Gateway] > [仮想サーバー] に移動します。
-
[NetScaler Gateway 仮想サーバー ]ページで、[ 追加]をクリックします。
-
「 VPN 仮想サーバー 」ページで必須フィールドを更新し、「 OK」をクリックします。
-
-
認証プロファイルを作成します。
-
[ セキュリティ] > [AAA-アプリケーショントラフィック] > [認証プロファイル] に移動します。
-
「 認証プロファイル 」ページで、「 追加」をクリックします。
-
必須フィールドを更新し、「 作成」をクリックします。
-
-
認証プロファイルを使用して、認証仮想サーバーを VPN 仮想サーバーにリンクします。
-
[ NetScaler Gateway] > [NetScaler Gateway 仮想サーバー ] に移動し、VPN仮想サーバーを選択します。「 VPN 仮想サーバー 」ページが表示されます。
-
「 認証プロファイル 」セクションで、ドロップダウンリストから認証プロファイルを選択し、「 OK」をクリックします。
-
または、 VPN Virtual server ページの「 詳細設定 」セクションに移動し、「 + 認証プロファイル」をクリックし、ドロップダウンリストから認証プロファイルを選択して、「 OK」をクリックすることもできます。
-
[完了] をクリックします。
-
CLI で
コマンドプロンプトで、次のコマンドを入力します:
add authentication policy <name> -rule <expression> -action <string>
show authentication policy <name>
bind authentication vserver <name> -policy <policyname> [-priority <priority>][-secondary]
show authentication vserver <name>
<!--NeedCopy-->
例:
add authentication policy Authn-Pol-1 true
show authentication policy Authn-Pol-1
Name: Authn-Pol-1 Rule: true Request action: LOCAL
bind authentication vserver Auth-Vserver-2 -policy Authn-Pol-1
show authentication vserver Auth-Vserver-2
Auth-Vserver-2 (10.102.29.77:443) - SSL Type: CONTENT State: UP Client Idle
Timeout: 180 sec Down state flush: DISABLED
Disable Primary Vserver On Down : DISABLED
Authentication : ON
Current AAA Users: 0
Authentication Domain: myCompany.employee.com
Primary authentication policy name: Authn-Pol-1 Priority: 0
<!--NeedCopy-->
認証ポリシーの変更
コマンドプロンプトで次のコマンドを入力して、既存の認証ポリシーを変更します。
set authentication policy <name> [-rule <expression>] [-action <string>] [-undefAction <string>] [-comment <string>] [-logAction <string>]
<!--NeedCopy-->
例
set authentication policy Authn-Pol-1 -rule true
<!--NeedCopy-->
認証ポリシーを削除する
コマンドプロンプトで次のコマンドを入力して、認証ポリシーを削除します。
rm authentication policy <name>
<!--NeedCopy-->
例
rm authentication localPolicy Authn-Pol-1
<!--NeedCopy-->
認証ポリシーをバインドする
高度なポリシーの場合は、認証プロファイルを作成し、そのプロファイルを認証仮想サーバーに関連付けます。認証プロファイルが作成されたら、認証プロファイルを VPN 仮想サーバーに関連付けます。
認証プロファイルを作成し、そのプロファイルに認証仮想サーバーを設定します。
add authentication authnProfile <name> {-authnVsName <string>} {-AuthenticationHost <string>}{-AuthenticationDomain <string>}[-AuthenticationLevel <positive_integer>]
<!--NeedCopy-->
例
add authentication authnProfile Authn-Prof-1 -authnVsName Auth-Vserver-2 -AuthenticationDomain "myCompany.employee.com"
<!--NeedCopy-->
VPN 仮想サーバーを作成し、対応する認証プロファイルを追加します。
例
add vpn vserver VPN-Vserver-2 ssl -authentication ON -authnprofile Authn-Prof-1
<!--NeedCopy-->
認証アクションを追加する
LOCAL 認証を使用しない場合は、明示的な認証アクションを追加する必要があります。コマンドプロンプトで、次のコマンドを入力します:
add authentication tacacsAction <name> -serverip <IP> [-serverPort <port>][-authTimeout <positive_integer>][ ... ]
<!--NeedCopy-->
例
add authentication tacacsaction Authn-Act-1 -serverip 10.218.24.65 -serverport 1812 -authtimeout 15 -tacacsSecret "minotaur" -authorization OFF -accounting ON -auditFailedCmds OFF -defaultAuthenticationGroup "users"
<!--NeedCopy-->
認証アクションの設定
既存の認証アクションを構成するには、コマンドプロンプトで次のコマンドを入力します。
set authentication tacacsAction <name> -serverip <IP> [-serverPort <port>][-authTimeout <positive_integer>][ ... ]
<!--NeedCopy-->
例
set authentication tacacsaction Authn-Act-1 -serverip 10.218.24.65 -serverport 1812 -authtimeout 15 -tacacsSecret "minotaur" -authorization OFF -accounting ON -auditFailedCmds OFF -defaultAuthenticationGroup "users"
<!--NeedCopy-->
認証アクションを削除する
既存の RADIUS アクションを削除するには、コマンドプロンプトで次のコマンドを入力します。
rm authentication radiusAction <name>
<!--NeedCopy-->
例
rm authentication tacacsaction Authn-Act-1
<!--NeedCopy-->
NoAuth 認証
NetScalerはNoAuth認証機能をサポートしているため、ユーザーがこのポリシーを実行するときにnoAuthAction
、ユーザーがコマンドでDefaultAuthenticationGroupパラメーターを構成できます。 管理者は、ユーザーのグループ内にこのグループが存在するかどうかをチェックして、NoAuth ポリシーによるユーザーのナビゲーションを判断できます。
NoAuth 認証を設定するには
コマンドプロンプトで次を入力します:
add authentication noAuthAction <name> [-defaultAuthenticationGroup <string>]
<!--NeedCopy-->
例
add authentication noAuthAction noauthact –defaultAuthenticationGroup mynoauthgroup
<!--NeedCopy-->
デフォルトのグローバル認証タイプ
NetScaler GatewayをインストールしてNetScaler Gatewayウィザードを実行すると、ウィザード内で認証を構成しました。この認証ポリシーは、NetScaler Gatewayグローバルレベルに自動的にバインドされます。NetScaler Gatewayウィザード内で構成する認証タイプは、デフォルトの認証タイプです。NetScaler Gatewayウィザードを再度実行してデフォルトの認証タイプを変更するか、構成ユーティリティでグローバル認証設定を変更できます。
他の認証タイプを追加する必要がある場合は、構成ユーティリティを使用してNetScaler Gatewayで認証ポリシーを構成し、そのポリシーをNetScaler Gatewayにバインドできます。認証をグローバルに設定する場合は、認証のタイプを定義し、設定を構成し、認証できる最大ユーザ数を設定します。
ポリシーを設定してバインドしたら、優先度を設定して、優先する認証タイプを定義できます。たとえば、LDAP および RADIUS 認証ポリシーを設定します。LDAP ポリシーのプライオリティ番号が 10 で、RADIUS ポリシーのプライオリティ番号が 15 の場合、各ポリシーをバインドする場所に関係なく、LDAP ポリシーが優先されます。これをカスケード認証と呼びます。
ログオンページをNetScaler Gatewayのインメモリキャッシュから配信するか、NetScaler Gatewayで実行されているHTTPサーバーから配信するかを選択できます。ログオンページをインメモリキャッシュから配信することを選択した場合、NetScaler Gatewayからのログオンページの配信は、HTTPサーバーからの配信よりも高速です。インメモリキャッシュからログオンページを配信するように選択すると、多数のユーザーが同時にログオンする場合の待ち時間が短縮されます。キャッシュからのログオンページの配信は、グローバル認証ポリシーの一部としてのみ構成できます。
また、認証用の特定の IP アドレスであるネットワークアドレス変換(NAT)IP アドレスを設定することもできます。このIPアドレスは認証用に固有のもので、NetScaler Gatewayのサブネット、マップ、または仮想IPアドレスではありません。この設定はオプションです。
注:
NetScaler Gatewayウィザードを使用してSAML認証を構成することはできません。
クイック構成ウィザードを使用して、LDAP、RADIUS、およびクライアント証明書認証を構成できます。ウィザードを実行すると、NetScaler Gatewayで構成されている既存のLDAPまたはRADIUSサーバーから選択できます。LDAP または RADIUS の設定を構成することもできます。2 要素認証を使用する場合は、主要な認証タイプとして LDAP を使用することをお勧めします。
デフォルトのグローバル認証タイプを構成する
- GUIの[構成]タブのナビゲーションペインで[ NetScaler Gateway]を展開し、 [ グローバル設定]をクリックします。
- 詳細ウィンドウの [設定] で、[ 認証設定の変更] をクリックします。
- [ 最大ユーザー数] に、この認証の種類を使用して認証できるユーザーの数を入力します。
- [ NAT IP アドレス] に、認証用の一意の IP アドレスを入力します。
- [ 静的キャッシュを有効にする] を選択すると、ログオンページをより速く配信できます。
- 認証が失敗した場合にユーザーにメッセージを表示するには、[拡張認証フィードバックを有効にする] を選択します。ユーザーが受け取るメッセージには、パスワードエラー、アカウントが無効またはロックされている、ユーザーが見つからない、などが含まれます。
- [ 既定の認証タイプ] で、認証タイプを選択します。
- 使用する認証タイプの設定を構成し、「 OK」をクリックします。
ユーザーの現在のログイン試行回数の取得をサポート
NetScalerには、ユーザーの現在のaaa.user.login_attempts
ログイン試行の値を式で取得するオプションがあります。 この式は、引数を 1 つ (ユーザー名) とするか、引数なしのいずれかを取ります。引数がない場合、エクスプレッションはaaa_session
またはaaa_info
からユーザ名を取得します。
aaa.user.login_attempts
式を認証ポリシーとともに使用して、さらに処理することができます。
ユーザーごとのログイン試行回数を設定するには
コマンドプロンプトで入力します:
add expression er aaa.user.login_attempts
注:
この
aaa.user.login_attempts
式は、「持続的ログイン試行」パラメーターが有効になっている場合は機能しません。永続的なログイン試行回数パラメーターの詳細については、「 システムユーザーアカウントのロックアウト」を参照してください。
次の CLI の例では、さまざまなシナリオでのログイン試行設定について説明しています。
-
認証仮想サーバー
set authentication vserver av_vs -maxLoginAttempts 5 -failedLoginTimeout 100
認証仮想サーバーとサポートされているパラメーターの詳細については、「 認証仮想サーバー」を参照してください。
-
NetScaler Gateway 仮想サーバー
set vpn vserver vpn_vs -maxLoginAttempts 5 -failedLoginTimeout 100
NetScaler Gateway仮想サーバーについて詳しくは、「 仮想サーバー」セクションを参照してください 。
-
システムユーザーアカウントをロックアウトする
set aaa parameter -maxloginAttempts 3 -failedLoginTimeout 10
システムユーザーアカウントのロックアウトについて詳しくは、「 システムユーザーアカウントを管理アクセス用にロックする」を参照してください。
パラメータの説明:
-
maxLoginAttempts
: ユーザがロックアウトされるまでに許可されるログイン試行の最大回数。 -
failedLoginTimeout
: ログインが失敗するまでの許容秒数。ユーザーはログインプロセスを再開する必要があります。
-