認証ポリシー
ユーザーがCitrix ADCまたはCitrix Gateway にログオンすると、作成したポリシーに従って認証されます。認証ポリシーは式とアクションで構成されます。認証ポリシーでは、NetScaler 式が使用されます。
認証アクションと認証ポリシーを作成したら、それを認証仮想サーバーにバインドし、優先度を割り当てます。バインドするときは、プライマリポリシーまたはセカンダリポリシーとして指定します。プライマリポリシーは、セカンダリポリシーよりも先に評価されます。両方のタイプのポリシーを使用する設定では、通常、プライマリポリシーはより限定的なポリシーですが、セカンダリポリシーは通常、より一般的なポリシーです。これは、より具体的な基準を満たさないユーザーアカウントの認証を処理することを目的としています。ポリシーは、認証タイプを定義します。単一の認証ポリシーは、単純な認証のニーズに使用でき、通常はグローバルレベルでバインドされます。デフォルトの認証タイプ (ローカル) を使用することもできます。ローカル認証を構成する場合は、Citrix ADC でユーザーとグループも構成する必要があります。
複数の認証ポリシーを設定し、それらをバインドして、詳細な認証手順と仮想サーバーを作成できます。たとえば、複数のポリシーを設定して、カスケード認証と 2 要素認証を設定できます。認証ポリシーの優先順位を設定して、Citrix ADCがユーザーの資格情報をチェックするサーバーと順序を決定することもできます。認証ポリシーには、式とアクションが含まれます。たとえば、式を True 値に設定した場合、ユーザーのログオン時にアクションによってユーザーログオンが true と評価され、ユーザーはネットワークリソースにアクセスできます。
認証ポリシーを作成したら、ポリシーをグローバルレベルまたは仮想サーバにバインドします。少なくとも 1 つの認証ポリシーを仮想サーバーにバインドすると、グローバル認証の種類が仮想サーバーにバインドされたポリシーよりも優先されない限り、ユーザーが仮想サーバーにログオンするときに、グローバルレベルにバインドした認証ポリシーは使用されません。
ユーザーがCitrix ADC にログオンすると、認証は次の順序で評価されます。
- 仮想サーバは、バインドされた認証ポリシーがあるかどうかがチェックされます。
- 認証ポリシーが仮想サーバーにバインドされていない場合、Citrix ADCはグローバル認証ポリシーをチェックします。
- 認証ポリシーが仮想サーバまたはグローバルにバインドされていない場合、ユーザはデフォルトの認証タイプで認証されます。
LDAP および RADIUS 認証ポリシーを構成し、2 要素認証用にポリシーをグローバルにバインドする場合は、設定ユーティリティでポリシーを選択し、ポリシーがプライマリ認証タイプかセカンダリ認証タイプかを選択できます。グループ抽出ポリシーを構成することもできます。
注:
Citrix ADCまたはCitrix Gatewayは認証用にUTF-8文字のみをエンコードし、ISO-8859-1文字を使用するサーバーとは互換性がありません。
GUI について
高度な認証ポリシーを作成または変更する
-
[ セキュリティ] > [AAA-アプリケーショントラフィック] > [ポリシー] > [認証] > [詳細ポリシー] > [ポリシー]に移動します。
-
認証ポリシーページで 、次のタスクのいずれかを実行します。
- 認証ポリシーを作成するには、「 追加」をクリックします。「 認証ポリシーの作成 」ページが表示されます。
- 必須フィールドを更新し、「 作成」をクリックします。
-
認証ポリシーを変更するには、アクションを選択し、[ 編集] をクリックします。「 認証ポリシーの設定 」ページが表示されます。必須フィールドを変更し、「 OK」をクリックします。
- 名前:高度な認証ポリシーの名前。
- アクションタイプ:ポリシーが作成される認証アクションのタイプ。
- アクション:ポリシーが一致した場合に実行される認証アクション (LDAP、RADIUS、SAML) の名前。ドロップダウンリストに認証アクションがない場合は、[ 追加] をクリックします。
- 式:認証仮想サーバーでユーザーを認証するかどうかを決定するためにポリシーが使用するCitrix ADC名前付きルールまたは式の名前。高度なポリシー表現の詳細については、「 高度なポリシー式」を参照してください。
- ログアクション:リクエストがこのポリシーに一致する場合に使用するメッセージログアクションの名前。
認証ポリシーを削除する
ネットワークから認証サーバーを変更または削除した場合は、対応する認証ポリシーをCitrix ADCから削除します。
-
[ セキュリティ] > [AAA-アプリケーショントラフィック] > [ポリシー] > [認証] > [詳細ポリシー] > [ポリシー]に移動します。
-
「 認証ポリシー 」ページで、削除するポリシーを選択し、「 削除」をクリックします。
-
[ はい ] をクリックして操作を確定します。
認証ポリシーをバインドする
高度な認証ポリシーを認証仮想サーバーにバインドし、認証プロファイルを使用して認証仮想サーバーを VPN 仮想サーバーにリンクする必要があります。
-
認証仮想サーバーを作成します。
-
[セキュリティ]>[AAA-アプリケーショントラフィック]>[仮想サーバ]に移動します。
-
「 仮想サーバーの認証 」ページで、「 追加」をクリックします。必須フィールドを更新し、「 OK」をクリックします。
-
認証仮想サーバーが存在する場合は、 認証仮想サーバーページで関連するサーバーを選択します 。
-
「 高度な認証ポリシー 」セクションで、認証ポリシーを選択します。
-
「 ポリシーバインディング 」ページでポリシーを選択し、「 追加」をクリックします。優先度、GoTo 式、 次の要素などのバインドの詳細を入力し、[バインド] をクリックします。
-
-
VPN 仮想サーバーを作成します。
-
[ Citrix ゲートウェイ]>[仮想サーバー]に移動します。
-
[NetScaler Gateway 仮想サーバー ]ページで、[ 追加]をクリックします。
-
「 VPN 仮想サーバー 」ページで必須フィールドを更新し、「 OK」をクリックします。
-
-
認証プロファイルを作成します。
-
[ セキュリティ] > [AAA-アプリケーショントラフィック] > [認証プロファイル] に移動します。
-
「 認証プロファイル 」ページで、「 追加」をクリックします。
-
必須フィールドを更新し、「 作成」をクリックします。
-
-
認証プロファイルを使用して、認証仮想サーバーを VPN 仮想サーバーにリンクします。
-
[ Citrix Gateway ]>[Citrix 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 認証
Citrix ADCはNoAuth認証機能をサポートしているため、ユーザーがこのポリシーを実行するときにnoAuthAction
、ユーザーがコマンドでDefaultAuthenticationGroupパラメーターを構成できます。 管理者は、ユーザーのグループ内にこのグループが存在するかどうかをチェックして、NoAuth ポリシーによるユーザーのナビゲーションを判断できます。
NoAuth 認証を設定するには
コマンドプロンプトで次を入力します:
add authentication noAuthAction <name> [-defaultAuthenticationGroup <string>]
<!--NeedCopy-->
例
add authentication noAuthAction noauthact –defaultAuthenticationGroup mynoauthgroup
<!--NeedCopy-->
デフォルトのグローバル認証タイプ
Citrix ADCをインストールしてCitrix Gateway ウィザードを実行したときに、ウィザード内で認証を構成しました。この認証ポリシーは、NetScaler Gateway グローバルレベルに自動的にバインドされます。Citrix 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」をクリックします。
ユーザーの現在のログイン試行回数の取得をサポート
Citrix ADCには、 ユーザーの現在の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
認証仮想サーバーとサポートされているパラメーターの詳細については、「 認証仮想サーバー」を参照してください。
-
VPN仮想サーバー
set vpn vserver vpn_vs -maxLoginAttempts 5 -failedLoginTimeout 100
Citrix Gateway 仮想サーバーについて詳しくは、「 仮想サーバー」 セクションを参照してください。
-
システムユーザーアカウントをロックアウトする
set aaa parameter -maxloginAttempts 3 -failedLoginTimeout 10
システムユーザーアカウントのロックアウトについて詳しくは、「 システムユーザーアカウントを管理アクセス用にロックする」を参照してください。
パラメータの説明:
-
maxLoginAttempts
: ユーザがロックアウトされるまでに許可されるログイン試行の最大回数。 -
failedLoginTimeout
: ログインが失敗するまでの許容秒数。ユーザーはログインプロセスを再開する必要があります。
-