Citrix ADC

Citrix ADC nFactor 認証で証明書認証を第 1 要素として構成し、LDAP を第 2 要素として構成します

次のセクションでは、最初の要素で証明書認証を使用し、2 番目の要素で LDAP を使用する場合について説明します。それ以外の場合は、LDAPとOTP(ユーザー証明書が最初の要素に存在しない場合)。

ユースケース:最初の要素で証明書認証が行われ、次の要素でLDAPが続く

管理者が最初の要素で証明書認証を設定するユースケースを想定します。証明書が存在する場合は、次の要素でLDAP認証を構成します。ユーザ証明書が存在しない場合は、LDAP および OTP を設定します。

  1. トラフィック管理仮想サーバにアクセスすると、ログインページにリダイレクトされます。

  2. ユーザー証明書がクライアントデバイスに存在する場合は、次の画面が表示されます。

    ユーザー証明書

  3. ユーザー証明書が送信されると、認証は次の要素に進みます。この要素は LDAP として設定されます。

    ユーザー証明書

  4. ユーザー証明書が最初の要素に存在しない場合は、LDAP および OTP に進みます。達成するには 2 つのオプションがあります。

    • LDAPとOTPは、LDAPファクターからあらかじめ入力されたユーザー名を持つ別々のログインページとして機能します。

      ユーザー証明書

      ユーザー名の値は、最初の要素からユーザー名を抽出する式 ${http.req.user.name} を使用して事前に入力されます。ユーザー名やパスワードのラベルなど、その他のフィールドもカスタマイズできます。

    • 2 つのパスワードフィールドを含む二重認証ページ。この特定の表現に使用される例が表示されます。

      ユーザー証明書

セットアップは、Citrix ADCバージョン13.0以降で利用可能なnFactorビジュアライザを使用して作成することもできます。

nFactor ビジュアライザー LDAP および OTP

CLI を使用して、次の操作を実行します

  1. 認証仮想サーバを設定します。

    • add lb vserver lbvs1 HTTP 10.217.28.152 80 -AuthenticationHost auth1.nsi-test.com -Authentication ON
    • bind ssl vserver auth_vserver -certkeyName gateway.angiras.lab
  2. ルート証明書を仮想サーバーにバインドし、クライアント認証を有効にします。

    • bind ssl vserver auth_vserver -certkeyName Root_Cert -CA -ocspCheck Optional
    • set ssl vserver auth_vserver -clientAuth ENABLED -clientCert Optional
  3. 認証アクションとポリシーを設定します。

    • LDAP認証
      • add authentication ldapAction LDAP_Action -serverIP XX.XX.XX.XX -ldapBase "dc=citrix,dc=lab" -ldapBindDn administrator@citrix.lab -ldapBindDnPassword 97526a31c6e2e380f7b3a7e5aa53dc498c5b25e9b84e856b438b1c61624b5aad -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName sAMAccountName -groupAttrName memberOf -subAttributeName cn
      • add authentication Policy LDAP_Pol -rule true -action LDAP_Action
    • デバイス管理
      • add authentication ldapAction OTP_manage_Act -serverIP XX.XX.XX.XX -ldapBase "dc=citrix,dc=lab" -ldapBindDn administrator@citrix.lab -ldapBindDnPassword 3e10c1df11a9cab239cff2c9305743da76068600a0c4359603abde04f28676ae -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName sAMAccountName -groupAttrName memberOf -subAttributeName cn -authentication DISABLED -OTPSecret userParameters
      • add authentication Policy manage_OTP -rule TRUE -action OTP_manage_Act
    • OTP バリデーション
      • add authentication ldapAction LDAP_OTP_Act -serverIP XX.XX.XX.XX -ldapBase "dc=citrix,dc=lab" -ldapBindDn administrator@citrix.lab -ldapBindDnPassword e79a8ebf93fdb7e7438f44c076350c6ec9ad1269ef0528d55640c7c86d3490dc -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName sAMAccountName -searchFilter "userParameters>=#@" -groupAttrName memberOf -subAttributeName cn -authentication DISABLED -OTPSecret userParameters
      • add authentication Policy OTP_Pol -rule true -action LDAP_OTP_Act
    • 証明書認証
      • add authentication certAction Certificate_Profile -twoFactor ON -userNameField SubjectAltName:PrincipalName
      • add authentication policy Cert_Pol -rule true -action Certificate_Profile
    • 証明書認証に失敗した場合、または証明書が存在しない場合、二重認証の場合は認証なしのポリシー。
      • add authentication Policy Cert_Pol_NOAUTH_ -rule true -action NO_AUTHN
  4. 2 番目の要素のポリシーラベルとスキーマを設定します。

    • デバイス管理
      • add authentication policylabel manage_otp_label -loginSchema LSCHEMA_INT
      • bind authentication policylabel manage_otp_label -policyName manage_OTP -priority 100 -gotoPriorityExpression END
    • 証明書認証の成功後の LDAP 認証
      • add authentication loginSchema lschema_LDAP_Only -authenticationSchema "/nsconfig/loginschema/LoginSchema/PrefilUserFromExpr.xml"
      • add authentication policylabel LDAP_Only -loginSchema lschema_LDAP_Only
      • bind authentication policylabel LDAP_Only -policyName LDAP_Pol -priority 100 -gotoPriorityExpression END
    • 認証が存在しない場合または証明書認証に失敗した場合の二重認証
      • add authentication loginSchema lschema_dual_auth -authenticationSchema "/nsconfig/loginschema/LoginSchema/DualAuth.xml"
      • add authentication policylabel Dual_Auth_Label -loginSchema lschema_dual_auth
      • bind authentication policylabel Dual_Auth_Label -policyName LDAP_Pol -priority 100 -gotoPriorityExpression END
      • bind authentication policylabel Dual_Auth_Label -policyName OTP_Pol -priority 110 -gotoPriorityExpression END
  5. 前の手順で作成したポリシーをバインドします。

    • bind authentication vserver auth_vserver -policy Manage_OTP -priority 100 -nextFactor manage_otp_label -gotoPriorityExpression NEXT
    • bind authentication vserver auth_vserver -policy Cert_Pol -priority 110 -nextFactor LDAP_Only -gotoPriorityExpression NEXT
    • bind authentication vserver auth_vserver -policy Cert_Pol_NOAUTH_ -priority 120 -nextFactor Dual_Auth_Label -gotoPriorityExpression NEXT

nFactor ビジュアライザーを使用した構成

  1. [セキュリティ] > [AAA アプリケーショントラフィック] > [nFactor ビジュアライザー] > [nFactor フロー] に移動し、[追加] をクリックします。

  2. + をクリックして nFactor フローを追加します。

    フローの追加

  3. 係数を追加します。入力する名前は nFactor フローの名前です。[作成] をクリックします。

    フローの名前を追加する

  4. スキーマを必要としないポリシーをバインドするときは、最初の要素でスキーマが必要です。

  5. [Add Policy] をクリックして、最初の要素認証ポリシーを追加します。認証ポリシーを作成するか、リストから既存の認証ポリシーを選択できます。

    ローカルポリシーの追加

  6. 登録確認のポリシーを追加します。この場合のアクションは NO_AUTHN になります。

  7. 式フィールドにHTTP.REQ.COOKIE.VALUE (「NSC_TASS」) .EQ (「管理」) と入力し、「 作成」をクリックします。

    [式] フィールド

  8. [Add Policy] をクリックして、ポリシーを作成します。[作成] をクリックし、[追加] をクリックします。

    登録ポリシー

  9. 緑の [+] をクリックして、デバイスを管理する前に LDAP 認証の次の要素を追加します。

  10. [係数の作成] を選択し、この係数の名前を入力し、[作成] をクリックします。

    登録ポリシー

  11. [Add Schema] をクリックし、[Add] をクリックして、デバイスを管理するスキーマを作成します。

    スキーマの登録

  12. 前述ので作成したスキーマを選択し、[Add] をクリックして作成します。

    LDAP 認証ポリシーの追加

  13. [ポリシーの追加] をクリックし、初期 LDAP 認証に [LDAP 認証ポリシー] を選択します。

    詳しくは、「構成ユーティリティを使用して LDAP 認証を構成するには」を参照してください。

  14. 手順 9 と 10 に従って、デバイスを登録する別の要素を作成します。

  15. この要素ではスキーマは必要ありません。[Add Policy] をクリックして、デバイス登録のポリシーを追加します。(CLI 設定ステップ 4 ポイント b で作成したポリシー)。

  16. ステップ 9 と 10 に続いて、別の要因を作成して、登録済みデバイスをテストします。

  17. [ポリシーの追加] をクリックして、認証ポリシーを追加します(CLI 設定の手順 4. c. で作成したポリシー)。

    LDAP 認証ポリシーの追加

  18. 証明書認証のポリシーを追加するには、[登録ポリシー] の下にある緑の [+] をクリックします。

    LDAP 認証ポリシーの追加

  19. [追加] をクリックして、証明書ポリシーを追加します。

    LDAP 認証ポリシーの追加

    :証明書認証の詳細については、NetScaler でSSLクライアント証明書認証を有効にする方法を参照してください。

  20. 証明書ポリシーの横にある緑色の記号をクリックして、LDAP 認証の次の要素を作成します。

    LDAP係数の追加

  21. スキーマの追加」 をクリックして、事前入力されたユーザー名、単一認証のログインスキーマを追加します。

    LDAP 認証ポリシーの追加

  22. 作成したスキーマを選択し、「 OK」をクリックします。

    LDAP スキーマの選択

  23. [ポリシーの追加] をクリックし、LDAP 認証を追加します。

    LDAPポリシー

  24. [証明書ポリシー] の横の赤い [+] をクリックして、失敗ケースの次の要素を追加します。この障害は、証明書認証が失敗した場合、またはデバイスに証明書がない場合です。

  25. [係数の作成] を選択し、係数名を入力します

    LDAPのOTPファクタ

  26. [スキーマの追加] をクリックして、二重認証スキーマを追加します。

    二重認証スキーマ

  27. 作成したスキーマを選択し、「 OK」をクリックします。

    スキーマの二重認証

  28. [ポリシーの追加] をクリックし、LDAP 認証を追加します。

    LDAPポリシー

  29. OTP を検証する認証ポリシーを選択し、[OK] をクリックします。

    LDAPポリシー

  30. [完了] をクリックして、設定を保存します。

  31. 作成した nFactor フローを選択し、認証、承認、および監査仮想サーバーにバインドします。[認証サーバにバインド] をクリックし、[作成] をクリックします。

    LDAPポリシー

    nFactor のバインドおよびバインド解除は、 [バインドの表示] オプションから [nFactor フロー] ページを使用してのみ実行できます。

nFactor フローのバインドを解除する

  1. [nFactor フロー] ページで、ハンバーガーアイコンから [バインドを表示] をクリックします。

  2. [認証サーバのバインド] ページで、バインドを解除する認証サーバを選択し、[バインド解除] をクリックします。[閉じる] をクリックします。

    LDAPポリシー

Citrix ADC nFactor 認証で証明書認証を第 1 要素として構成し、LDAP を第 2 要素として構成します