NetScaler nFactor 認証では、証明書認証を第 1 要素として、LDAP を第 2 要素として構成します
次のセクションでは、最初の要素で証明書認証の使用例を説明し、次に第 2 要素で LDAP を使用します。それ以外の場合は、LDAP と OTP(ユーザー証明書が最初の要素に存在しない場合)。
ユースケース:最初の要素として証明書認証、次の要素としてLDAPが続く
管理者が最初の要素で証明書認証を設定するユースケースを想定します。また、証明書が存在する場合は、次の要素で LDAP 認証を設定します。ユーザ証明書が存在しない場合は、LDAP と OTP を設定します。
-
トラフィック管理仮想サーバにアクセスすると、ログインページにリダイレクトされます。
-
ユーザー証明書がクライアントデバイスにある場合は、次の画面が表示されます。
-
ユーザー証明書が送信されると、認証は次の要素に進みます。このファクタは LDAP として設定されます。
-
最初の要素にユーザー証明書がない場合は、LDAP と OTP に進みます。達成するには2つの選択肢があります。
-
LDAP と OTP を、LDAP ファクタからユーザ名が事前に入力された個別のログインページとして指定します。
ユーザー名の値は、最初の要素からユーザー名を抽出する式 $ {http.req.user.name} を使用して事前に入力されています。ユーザー名やパスワードのラベルなどの他のフィールドもカスタマイズできます。
-
2 つのパスワードフィールドを含む二重認証ページ。この特定の製品表現に使用されている例が表示されます。
-
注
セットアップは、NetScalerバージョン13.0以降で利用できるnFactor Visualizerを使用して作成することもできます。
CLI を使用して、次の操作を実行します
-
認証仮想サーバーを構成します。
add authentication vserver auth_vserver SSL 10.217.28.152 443 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 <!--NeedCopy-->
-
ルート証明書を仮想サーバーにバインドし、クライアント認証を有効にします。
bind ssl vserver auth_vserver -certkeyName Root_Cert -CA -ocspCheck Optional set ssl vserver auth_vserver -clientAuth ENABLED -clientCert Optional <!--NeedCopy-->
-
認証アクションとポリシーを設定します。
- 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` <!--NeedCopy-->
- デバイス管理
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 <!--NeedCopy-->
- 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 <!--NeedCopy-->
- 証明書の認証
add authentication certAction Certificate_Profile -twoFactor ON -userNameField SubjectAltName:PrincipalName add authentication policy Cert_Pol -rule true -action Certificate_Profile` <!--NeedCopy-->
- 証明書認証が失敗した場合、または証明書が存在しない場合の二重認証の認証なしのポリシー。
add authentication Policy Cert_Pol_NOAUTH_ -rule true -action NO_AUTHN <!--NeedCopy-->
-
2 番目の要素のポリシーラベルとスキーマを設定します。
- デバイス管理
add authentication policylabel manage_otp_label -loginSchema LSCHEMA_INT bind authentication policylabel manage_otp_label -policyName manage_OTP -priority 100 -gotoPriorityExpression END <!--NeedCopy-->
- 証明書認証の成功後の 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 <!--NeedCopy-->
- 証明書が存在しない場合または証明書認証が失敗した場合の二重認証
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 <!--NeedCopy-->
-
前のステップで作成したポリシーをバインドします。
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 <!--NeedCopy-->
nFactor ビジュアライザーを使用した設定
-
[ セキュリティ] > [AAA アプリケーショントラフィック] > [nFactor ビジュアライザー] > [nFactor フロー ] に移動し、[ 追加] をクリックします
-
+ をクリックして nFactor フローを追加します。
-
係数を追加します。入力する名前は nFactor フローの名前です。[作成] をクリックします。
-
[Add Policy] をクリックして、最初の要素認証ポリシーを追加します。認証ポリシーを作成するか、リストから既存の認証ポリシーを選択できます。
-
登録チェックのポリシーを追加します。この場合のアクションは NO_AUTHN になります。
-
[ 式] フィールドに、
HTTP.REQ.COOKIE.VALUE("NSC_TASS").EQ("manageotp")
と入力して [ 作成] をクリックします。 -
[ ポリシーの追加 ] をクリックして、ポリシーを作成します。[作成] をクリックし、[追加] をクリックします。
-
デバイスを管理する前に、緑の [ + ] をクリックして、LDAP 認証の次の要素を追加します。
-
[ 係数の作成 ] を選択し、この係数の名前を入力して、[ 作成] をクリックします。
-
[ スキーマの追加 ] をクリックし、[追加] をクリックして、デバイスを管理するスキーマを作成します。
-
前のステップで作成したスキーマを選択し、[ 追加 ] をクリックして作成します。
-
[ ポリシーの追加 ] をクリックし、初期 LDAP 認証の LDAP 認証ポリシーを選択します。
注
詳細については、「 構成ユーティリティを使用して LDAP 認証を構成するには」を参照してください。
-
手順 9 と 10 に従って、デバイスを登録する別の要素を作成します。
-
この要素にはスキーマは必要ありません。[ ポリシーの追加 ] をクリックして、デバイス登録のポリシーを追加します。(CLI 設定ステップ 4 ポイント b で作成されたポリシー)。
-
手順 9 と 10 の後に別の要素を作成して、登録済みデバイスをテストします。
-
[ ポリシーの追加 (Add Policy)] をクリックして、認証ポリシー(CLI 設定ステップ 4 ポイント c で作成されたポリシー)を追加します。
-
[登録ポリシー] の下の緑色の [ + ] をクリックして、証明書認証のポリシーを追加します。
-
[ Add ] をクリックして、証明書ポリシーを追加します。
注:
クライアント証明書認証の詳細については、「 NetScaler でSSLクライアント証明書認証を有効にする方法」を参照してください。
-
証明書ポリシーの横にある緑色の記号をクリックして、LDAP 認証の次の要素を作成します。
-
[ スキーマの追加 ] をクリックして、事前入力されたユーザー名、単一認証のログインスキーマを追加します。
-
作成したスキーマを選択し、 「OK」をクリックします。
-
[ ポリシーの追加 ] をクリックし、LDAP 認証を追加します。
-
[証明書ポリシー] の横にある赤い [ + ] をクリックして、障害ケースの次の要素を追加します。失敗のケースは、証明書認証が失敗した場合、またはデバイスに証明書がない場合です。
-
[ ファクタの作成 ] を選択し、 ファクタ名を入力します。
-
[ スキーマの追加 ] をクリックして、二重認証スキーマを追加します。
-
作成したスキーマを選択し、 「OK」をクリックします。
-
[ ポリシーの追加 ] をクリックし、LDAP 認証を追加します。
-
OTP を検証する認証ポリシーを選択し、 「OK」をクリックします。
-
[完了] をクリックして、設定を保存します。
-
作成した nFactor フローを選択し、認証、承認、および監査仮想サーバーにバインドします。[ 認証サーバにバインド ] をクリックし、[ 作成] をクリックします。
注
nFactor をバインドおよびバインド解除するには、[ バインドを表示 ] オプションの [nFactor フロー] ページを使用します。
nFactor フローのバインドを解除する
-
nFactor フローページで 、ハンバーガーアイコンから「 バインディングを表示 」をクリックします。
-
「 認証サーバーのバインディング 」ページで、バインド解除する認証サーバーを選択し、「バインド解除」をクリックします。[閉じる] をクリックします。