Citrix ADC

システムユーザーおよび外部ユーザーの 2 要素認証

二要素認証は、Citrix ADCアプライアンスがシステムユーザーを2つのオーセンティケータレベルで認証するセキュリティメカニズムです。アプライアンスは、両方の認証レベルによるパスワードの検証に成功した後にのみ、ユーザーにアクセスを許可します。ユーザーがローカルで認証されている場合は、Citrix ADCデータベースにユーザープロファイルを作成する必要があります。ユーザが外部で認証される場合、ユーザ名とパスワードは外部認証サーバに登録されているユーザ ID と一致する必要があります。

注: 二要素認証機能は、Citrix ADC 12.1ビルド51.16以降でのみ機能します。

2 要素認証の仕組み

ユーザーがCitrix ADCアプライアンスにログオンしようとしているとします。要求されたアプリケーションサーバは、ユーザ名とパスワードを、最初の外部認証サーバ(RADIUS、TACACS、LDAP、または AD)に送信します。ユーザー名とパスワードが検証されると、ユーザーは第 2 レベルの認証を要求されます。これで、ユーザーは 2 番目のパスワードを入力できます。両方のパスワードが正しい場合にのみ、ユーザーはCitrix ADCアプライアンスにアクセスできます。次の図は、Citrix ADCアプライアンスで2要素認証がどのように機能するかを示しています。

2要素認証

外部ユーザとシステムユーザの 2 要素認証を設定する場合のさまざまな使用例を次に示します。

Citrix ADCアプライアンスでは、さまざまな方法で2要素認証を構成できます。Citrix ADCアプライアンスでの2要素認証のさまざまな構成シナリオを次に示します。

  1. Citrix ADC、GUI、CLI、API、SSHにわたる2要素認証(2FA)。
  2. システムユーザに対して外部認証が有効になり、ローカル認証が無効になります。
  3. 外部認証は、システムユーザのポリシーベースのローカル認証で有効になっています。
  4. ローカル認証が有効になっているシステムユーザに対して、外部認証が無効になっています。
  5. 外部認証を有効にし、システムユーザに対してローカル認証を有効にします。
  6. 選択した LDAP ユーザーに対して有効な外部認証

ユースケース1:Citrix ADC、GUI、CLI、API、およびSSHインターフェースにわたる2要素認証(2FA)

二要素認証が有効になり、GUI、API、SSHのすべてのCitrix ADC管理アクセスで使用できます。

ユースケース 2: LDAP、RADIUS、Active Directory、TACACSなどの外部認証サーバでサポートされる 2 要素認証

次の外部認証サーバで、第 1 レベルおよび第 2 レベルのユーザ認証用に 2 要素認証を設定できます。

  • RADIUS
  • LDAP
  • Active Directory
  • TACACS

ユースケース 3: システムユーザーに対して外部認証が有効で、ローカル認証が無効になっている

認証プロセスを開始するには、外部認証オプションを有効にし、システムユーザのローカル認証を無効にします。

システムユーザに対して外部認証を有効にし、ローカル認証を無効にする

コマンドラインインターフェイスを使用して、次の手順を実行します。

  1. LDAP ポリシーの認証アクションを追加する
  2. LDAP ポリシーの認証ポリシーの追加
  3. RADIUS ポリシーの認証アクションを追加する
  4. RADIUS ポリシーの認証ポリシーの追加
  5. 認証ログインスキーマの追加
  6. RADIUSサーバへの認証ポリシー・ラベルの追加とバインド
  7. LDAP ポリシーのバインドシステムグローバル認証
  8. システムパラメータでローカル認証を無効にする

LDAP サーバーの認証アクションを追加 (第 1 レベル認証)

コマンドプロンプトで、次のように入力します。

add authentication ldapaction <ldap action name> -serverip <IP> -ldapbase <> -ldapbinddn <binddn name> -ldapbinddnpassword <password>-ldaploginname <loginname> -groupattrname <grp attribute name> -subAttributename <string>-ssoNameAttribute <string>

例:

add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password -ldapLoginName name -groupAttrName name -subAttributeName name -ssoNameAttribute name

LDAPサーバの認証ポリシーの追加(第1レベル認証)

コマンドプロンプトで、次のように入力します。 add authentication policy <ldap policy name> -rule true -action <ldap action name>

例: add authentication policy pol1 -rule true -action ldapact1

RADIUS サーバの認証アクションを追加する(第 2 レベルの認証)

コマンドプロンプトで、次のように入力します。

add authentication radiusaction <rad action name> -serverip <rad server ip> -radkey <key> -radVendorID <ID >-radattributetype <rad attribute type>

例:

add authentication radiusaction radact1 -serverip 1.1.1.1 -radkey 123 -radVendorID 1234 -radAttributeType 2

RADIUS サーバの認証ポリシーの追加(第 2 レベルの認証)

コマンドプロンプトで、次のように入力します。

add authentication policy <radius policy name> -rule true -action <rad action name>

例:

add authentication policy radpol11 -rule true -action radact11

認証ログインスキーマの追加

システムユーザーに「SingleAuth.xml」ログインスキーマを使用して、Citrix ADCアプライアンスの2番目のパスワードを入力できます。コマンドプロンプトで、次のように入力します。

add authentication loginSchema <login schema name> -authenticationSchema LoginSchema/SingleAuth.xml

:

add authentication loginSchema radschema -authenticationSchema LoginSchema/SingleAuth.xml

RADIUSサーバへの認証ポリシー・ラベルの追加とバインド

コマンドプロンプトで、次のように入力します。

add authentication policylabel <labelName> [-type ( AAATM_REQ | RBA_REQ )] [-comment <string>][-loginSchema <string>]

bind authentication policylabel <labelName> -policyName <string> -priority <positive_integer> [-gotoPriorityExpression <expression>][-nextFactor <string>]

例:

add authentication policylabel label1 -type RBA_REQ -loginSchema radschema

bind authentication policylabel label1 -policyName rad_pol11 -priority 1

LDAP ポリシーのグローバルバインド認証システム

コマンドプロンプトで、次のように入力します。

bind system global ldappolicy -priority <priority> -nextFactor <policy label name>

例:

bind system global pol11 -priority 1 -nextFactor label11

システムパラメータでローカル認証を無効にする

コマンドプロンプトで、次のように入力します。

set system parameter -localauth disabled

ユースケース 4: ローカル認証ポリシーがアタッチされたシステムユーザーに対して外部認証が有効になっている

このシナリオでは、ユーザー識別の 2 番目のレベルで、ローカル認証ポリシーの評価による 2 要素認証を使用してアプライアンスにログオンできます。

ローカル認証ポリシーがアタッチされているシステムユーザーに対して外部認証が有効になっている

コマンドラインインターフェイスを使用して、次の手順を実行します。

  1. LDAP サーバーの認証アクションを追加する
  2. LDAP ポリシーの認証ポリシーの追加
  3. ローカル認証ポリシーの追加
  4. 認証ポリシーラベルの追加
  5. LDAP ポリシーをシステムグローバルとしてバインド
  6. システムパラメータでローカル認証を無効にする

LDAP サーバーの認証アクションを追加 (第 1 レベル認証)

コマンドプロンプトで、次のように入力します。

add authentication ldapaction <ldap action name> -serverip <IP> -ldapbase <> -ldapbinddn <binddn name> -ldapbinddnpassword <password>-ldaploginname <loginname> -groupattrname <grp attribute name> -subAttributename <string>-ssoNameAttribute <string>

例:

add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password -ldapLoginName name -groupAttrName name -subAttributeName name -ssoNameAttribute name –ssoNameAttribute name

LDAPサーバの認証ポリシーの追加(第1レベル認証)

コマンドプロンプトで、次のように入力します。

add authentication policy <ldap policy name> -rule true -action <ldap action name>

例:

add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password -ldapLoginName name -groupAttrName name -subAttributeName name -ssoNameAttribute name

システムユーザーのローカル認証ポリシーの追加 (第 2 レベルの認証)

コマンドプロンプトで、次のように入力します。

add authentication radiusaction <rad action name> -serverip <rad server ip> -radkey <key> -radVendorID <ID >-radattributetype <rad attribute type

例:

add authentication radiusaction radact1 -serverip 1.1.1.1 -radkey 123 -radVendorID 1234 -radAttributeType 2

認証ポリシーラベルの追加とバインド

コマンドプロンプトで、次のように入力します。

add authentication policylabel <labelName> [-type ( AAATM_REQ | RBA_REQ )] [-comment <string>][-loginSchema <string>] bind authentication policylabel <labelName> -policyName <string> -priority <positive_integer> [-gotoPriorityExpression <expression>][-nextFactor <string>]

例:

add authentication policylabel label1 -type RBA_REQ -loginSchema radschema bind authentication policylabel label1 -policyName rad_pol11 -priority 1

システムパラメータでローカル認証を無効にする

コマンドプロンプトで、次のように入力します。

set system parameter -localauth disabled

ユースケース5:システムユーザーに対して外部認証を無効にし、ローカル認証を有効化

ユーザーが「ExternalAuth」を無効にした場合は、そのユーザーが認証サーバーに存在しないことを示します。外部認証サーバ上に同じユーザ名を持つユーザが存在する場合でも、ユーザは外部認証サーバで認証されません。ユーザーはローカルで認証されています。

システムユーザに対して外部認証が無効で、ローカル認証が有効になっている

システムユーザーパスワードを有効にして外部認証を無効にするには

コマンドプロンプトで、次のように入力します。

add system user <name> <password> -externalAuth DISABLED

例:

add system user user1 password1 –externalAuth DISABLED

ユースケース 6: システムユーザーに対して外部認証が有効になり、ローカル認証が有効になります

ローカルパスワードを使用してシステムユーザーを認証するようにアプライアンスを構成します。この認証が失敗した場合、ユーザは、2 つのレベルで外部認証サーバ上の外部認証パスワードを使用して認証されます。

システムユーザに対して外部認証を有効にし、ローカル認証を有効にする

コマンドラインインターフェイスを使用して設定するには、以下の手順を実行します。

  1. LDAP サーバーの認証アクションを追加する
  2. LDAP ポリシーの認証ポリシーの追加
  3. RADIUS ポリシーの認証アクションを追加する
  4. RADIUS ポリシーの認証ポリシーの追加
  5. 認証ログインスキーマの追加
  6. 認証ポリシーラベルの追加
  7. ログインスキーマのバインド認証ポリシーラベル
  8. RADIUS ポリシー用の認証システムグローバルをバインドする
  9. LDAP ポリシーのグローバルバインド認証システム

LDAP サーバーの認証アクションを追加する

コマンドプロンプトで、次のように入力します。

add authentication ldapaction <ldap action name> -serverip <IP> -ldapbase <> -ldapbinddn <binddn name> -ldapbinddnpassword <password>-ldaploginname <loginname> -groupattrname <grp attribute name> -subAttributename <>-ssoNameAttribute <>

例:

add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password -ldapLoginName name -groupAttrName name -subAttributeName name -ssoNameAttribute name

LDAP ポリシーの認証ポリシーの追加

コマンドプロンプトで、次のように入力します。

add authentication policy <policy name> --rule true -action <ldap action name>

例:

add authentication policy pol1 -rule true -action ldapact1

RADIUS サーバの認証アクションを追加

コマンドプロンプトで、次のように入力します。

add authentication radiusaction <rad action name> -serverip <rad server ip> -radkey <key> -radVendorID <ID >-radattributetype <rad attribute type>

例:

add authentication radiusaction radact1 -serverip 1.1.1.1 -radkey 123 -radVendorID 1234 -radAttributeType 2

RADIUSサーバの高度な認証ポリシーの追加

コマンドプロンプトで、次のように入力します。

add authentication policy <policy name> -rule true -action <rad action name>

例:

add authentication policy radpol11 -rule true -action radact11

認証ログインスキーマの追加

SingleAuth.xml ログインスキーマを使用して、ログインページを表示し、第 2 レベルの認証でシステムユーザーを認証できます。

コマンドプロンプトで、次のように入力します。

add authentication loginSchema <name> -authenticationSchema <string>

例:

add authentication loginSchema radschema -authenticationSchema LoginSchema/SingleAuth.xml

ユーザログイン用の RADIUS 認証ポリシーへの認証ポリシーラベルの追加とバインド

コマンドプロンプトで、次のように入力します。

add authentication policylabel <labelName> [-type ( AAATM_REQ | RBA_REQ )] [-comment <string>][-loginSchema <string>]

例:

add authentication policylabel label1 -type RBA_REQ -loginSchema radschema bind authentication policylabel <labelName> -policyName <string> -priority <positive_integer> [-gotoPriorityExpression <expression>][-nextFactor <string>]

例:

bind authentication policylabel label1 -policyName rad_pol11 -priority 1

認証ポリシーをグローバルにバインドする

コマンドプロンプトで、次のように入力します。

bind system global [<policyName> [-priority <positive_integer>] [-nextFactor <string>] [-gotoPriorityExpression <expression>]]

例:

bind system global radpol11 -priority 1 -nextFactor label11

ユースケース 7: 外部認証は選択した外部ユーザーに対してのみ有効になっています

LDAP アクションで設定された検索フィルタに従って、選択的な外部ユーザを 2 要素認証で構成し、他のシステムユーザは単一要素認証を使用して認証します。

コマンドラインインターフェイスを使用して設定するには、以下の手順に従ってください。

  1. LDAP サーバーの認証アクションを追加する
  2. LDAP ポリシーの認証ポリシーの追加
  3. RADIUS ポリシーの認証アクションを追加する
  4. RADIUS ポリシーの認証ポリシーの追加
  5. 認証ログインスキーマの追加
  6. 認証ポリシーラベルの追加
  7. ログインスキーマのバインド認証ポリシーラベル
  8. RADIUS ポリシー用の認証システムグローバルをバインドする

LDAP サーバーの認証アクションを追加する

コマンドプロンプトで、次のように入力します。

add authentication ldapaction <ldap action name> -serverip <IP> -ldapbase <> -ldapbinddn <binddn name> -ldapbinddnpassword <password>-ldaploginname <loginname> -groupattrname <grp attribute name> -subAttributename <>-ssoNameAttribute <>

例:

add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password -ldapLoginName name -groupAttrName name -subAttributeName name -ssoNameAttribute name

LDAP ポリシーの認証ポリシーの追加

コマンドプロンプトで、次のように入力します。

add authentication policy <policy name> --rule true -action <ldap action name>

例:

add authentication policy pol1 -rule true -action ldapact1

RADIUS サーバの認証アクションを追加

コマンドプロンプトで、次のように入力します。

add authentication radiusaction <rad action name> -serverip <rad server ip> -radkey <key> -radVendorID <ID >-radattributetype <rad attribute type>

例:

add authentication radiusaction radact1 -serverip 1.1.1.1 -radkey 123 -radVendorID 1234 -radAttributeType 2

RADIUSサーバの高度な認証ポリシーの追加

コマンドプロンプトで、次のように入力します。

add authentication policy <policy name> -rule true -action <rad action name>

例:

add authentication policy radpol11 -rule true -action radact11

認証ログインスキーマの追加

SingleAuth.xml ログインスキーマを使用して、第 2 レベルの認証でシステムユーザーを認証するためのアプライアンスのログインページを提供できます。

コマンドプロンプトで、次のように入力します。

add authentication loginSchema <name> -authenticationSchema <string>

例:

add authentication loginSchema radschema -authenticationSchema LoginSchema/SingleAuth.xml

ユーザログイン用の RADIUS 認証ポリシーへの認証ポリシーラベルの追加とバインド

コマンドプロンプトで、次のように入力します。

add authentication policylabel <labelName> [-type ( AAATM_REQ | RBA_REQ )] [-comment <string>][-loginSchema <string>]

例:

add authentication policylabel label1 -type RBA_REQ -loginSchema radschema bind authentication policylabel <labelName> -policyName <string> -priority <positive_integer> [-gotoPriorityExpression <expression>][-nextFactor <string>]

例:

bind authentication policylabel label1 -policyName rad_pol11 -priority

認証ポリシーをグローバルにバインドする

コマンドプロンプトで、次のように入力します。

bind system global [<policyName> [-priority <positive_integer>] [-nextFactor <string>] [-gotoPriorityExpression <expression>]]

例:

bind system global radpol11 -priority 1 -nextFactor label11

検索フィルタを使用して、グループユーザに対して 2 要素認証を使用せずにを設定するには、次の手順を実行します。

  1. LDAP サーバーの認証アクションを追加する
  2. LDAP サーバーの認証ポリシーの追加
  3. LDAPサーバーのグローバル認証システムのバインド

LDAP サーバーの認証アクションを追加する

コマンドプロンプトで、次のように入力します。

add authentication ldapaction <ldap action name> -serverip <IP> -ldapbase <> -ldapbinddn <binddn name> -ldapbinddnpassword <password>-ldaploginname <loginname> -groupattrname <grp attribute name> -subAttributename <>-searchFilter<>

例:

add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password -ldapLoginName name -groupAttrName name -subAttributeName name - searchFilter "memberOf=CN=grp4,CN=Users,DC=aaatm-test,DC=com"

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

コマンドプロンプトで、次のように入力します。

add authentication policy <policy name> --rule true -action <ldap action name>

例:

add authentication policy pol1 -rule true -action ldapact1

LDAP ポリシーのグローバルバインド認証システム

コマンドプロンプトで、次のように入力します。

bind system global ldappolicy -priority <priority> -nextFactor <policy label name>

例:

bind system global pol11 -priority 1 -nextFactor label11

2 要素認証用にカスタマイズされたプロンプトメッセージを表示する

/flash/nsconfig/loginschema/LoginSchemaでSingleAuth.xml ファイルで 2 段階のパスワードフィールドを構成する場合

以下は、SingleAuth.xml ファイルのスニペットです。ここで、「SecondPassword:’は、2番目のパスワードを入力するようにユーザーに促される2番目のパスワードフィールド名です。

<?xml version="1.0" encoding="UTF-8"?>
<AuthenticateResponse xmlns="http://citrix.com/authentication/response/1">
<Status>success</Status>
<Result>more-info</Result>
<StateContext/>
<AuthenticationRequirements>
<PostBack>/nf/auth/doAuthentication.do</PostBack>
<CancelPostBack>/nf/auth/doLogoff.do</CancelPostBack>
<CancelButtonText>Cancel</CancelButtonText>
<Requirements>
<Requirement><Credential><ID>login</ID><SaveID>ExplicitForms-Username</SaveID><Type>username</Type></Credential><Label><Text>singleauth_user_name</Text><Type>nsg-login-label</Type></Label><Input><AssistiveText>singleauth_please_supply_either_domain\username_or_user@fully.qualified.domain</AssistiveText><Text><Secret>false</Secret><ReadOnly>false</ReadOnly><InitialValue/><Constraint>.+</Constraint></Text></Input></Requirement>
<Requirement><Credential><ID>passwd</ID><SaveID>ExplicitForms-Password</SaveID><Type>password</Type></Credential><Label><Text>SecondPassword:</Text><Type>nsg-login-label</Type></Label><Input><Text><Secret>true</Secret><ReadOnly>false</ReadOnly><InitialValue/><Constraint>.+</Constraint></Text></Input></Requirement>
<Requirement><Credential><Type>none</Type></Credential><Label><Text>singleauth_first_factor</Text><Type>nsg_confirmation</Type></Label><Input/></Requirement>
<Requirement><Credential><ID>saveCredentials</ID><Type>savecredentials</Type></Credential><Label><Text>singleauth_remember_my_password</Text><Type>nsg-login-label</Type></Label><Input><CheckBox><InitialValue>false</InitialValue></CheckBox></Input></Requirement>
<Requirement><Credential><ID>loginBtn</ID><Type>none</Type></Credential><Label><Type>none</Type></Label><Input><Button>singleauth_log_on</Button></Input></Requirement>
</Requirements>
</AuthenticationRequirements>
</AuthenticateResponse>

Citrix ADC GUIを使用した2要素認証の構成

  1. Citrix ADCアプライアンスにログオンします。
  2. [システム] > [認証] > [詳細ポリシー] > [ポリシー**] に移動します。
  3. [Add] をクリックして、第 1 レベルの認証ポリシーを作成します。
  4. [認証ポリシーの作成] ページで、次のパラメータを設定します。
    1. 名前。ポリシーの名前
    2. [アクションタイプ]。アクションタイプを LDAP、Active Directory、RADIUS、TACACS などとして選択します。
    3. アクション。ポリシーに関連付ける認証アクション(プロファイル)。既存の認証アクションを選択するか、プラスをクリックして適切なタイプのアクションを作成できます。
    4. 式。高度なポリシー式を指定します。
  5. [作成] をクリックし、[閉じる] をクリックします。
    1. 式。高度なポリシー式を指定します。
  6. [作成] をクリックします。
  7. [Add] をクリックして、第 2 レベルの認証ポリシーを作成します。
  8. [認証ポリシーの作成] ページで、次のパラメータを設定します。
    1. 名前。ポリシーの名前
    2. [アクションタイプ]。アクションタイプを LDAP、Active Directory、RADIUS、TACACS などとして選択します。
    3. アクション。ポリシーに関連付ける認証アクション(プロファイル)。既存の認証アクションを選択するか、[+] アイコンをクリックして適切なタイプのアクションを作成できます。
    4. 式。高度なポリシー式の提供
  9. [作成] をクリックし、[閉じる] をクリックします。
    1. 式。高度なポリシー式を指定します。
  10. [作成] をクリックします。
  11. [認証ポリシー] ページで、[グローバルバインド] をクリックします。
  12. [グローバル認証ポリシーのバインドの作成] ページで、第 1 レベルの認証ポリシーを選択し、[バインドの追加] をクリックします。
  13. [ポリシーバインディング] ページで、認証ポリシーを選択し、次のポリシーバインディングパラメータを設定します。
    1. 次の要因第 2 レベルの認証ポリシーラベルを選択します。
  14. [バインド して 閉じる] をクリックします。

    システムユーザー向けの2要素認証用のGUI設定

  15. [完了] をクリックします。
  16. 第2レベル認証のためにCitrix ADCアプライアンスにログオンします。これで、ユーザーは 2 番目のパスワードを入力できます。両方のパスワードが正しい場合にのみ、ユーザーはCitrix ADCアプライアンスにアクセスできます。

ログインスキーマの構成の詳細については、ネイティブOTPサポート トピックを参照してください。

また、Citrix ADC nFactor認証における二要素認証トピックも参照してください。