Citrix ADC

システムユーザーと外部ユーザーの2要素認証

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

注:

2要素認証機能は、Citrix ADC 12.1ビルド51.16以降で動作します。

二要素認証のしくみ

ユーザーが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)

2要素認証が有効になっており、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 radact1

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

システムユーザーに「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 radpol11 -priority 1

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

コマンドプロンプトで入力します。

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

例:

bind system global pol11 -priority 1 -nextFactor label1

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

コマンドプロンプトで入力します。

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 radpol11 -priority 1 -gotoPriorityExpression NEXT

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

コマンドプロンプトで入力します。

set system parameter -localauth disabled

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

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

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

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

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

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

例:

add system user user1 password1 –externalAuth DISABLED

使用事例 6: システムユーザーに対して外部認証が有効で、ローカル認証が有効

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

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

CLIを使用して、次の手順を構成します。

  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 radact1

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

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要素認証で構成し、他のシステムユーザーは単一要素認証を使用して認証されます。

CLIを使用して、次の手順を構成します。

  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 radact1

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

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 radpol11 -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

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

/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>
<!--NeedCopy-->

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

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

2要素認証用に設定されたTACACSは、で有効にした場合でも、許可とアカウンティングをサポートしません。 “ tacacsAction “ コマンド。2番目の要素は、認証目的でのみ使用されます。

また、 Citrix ADC nFactor認証のトピックの「二要素認証 」を参照してください。