概念実証ガイド:グループ抽出を使用したCitrix Gateway認証用のnFactor

はじめに

大規模なエンタープライズ環境では、さまざまなユーザーペルソナのニーズを満たすために、柔軟な認証オプションが必要です。グループ抽出ユーザー AD グループメンバーシップでは、ID を確認し、アプリケーションやデータにアクセスするために完了する必要がある nFactor 認証方法の数とタイプを決定します。

ユーザー・グループの例は次のとおりです。

  • ジョブの性質によってセキュリティ要件が低く、またはデータアクセスが制限されている場合があり、企業のセキュリティ境界の範囲内に配置されている個人用の normal-security-group。このグループには1つの因子しか必要ありません。
  • バックグラウンドチェックが行われていない場合があり、セキュリティ要件が高いサードパーティワーカーまたは請負業者のための elvated-security-group。このグループには、2つ以上の因子が必要な場合があります。
  • 重要な仕事を遂行し、政府の特別なクリアランス、または業界の承認を必要とする従業員のための高度なセキュリティグループ。このグループには、2 つ以上の要素と、送信元 IP アドレスなどのコンテキスト検証が必要になる場合があります。

グループ抽出認証

概要

このガイドでは、Citrix Gatewayで2要素認証を使用して概念実証環境を実装する方法について説明します。ユーザーのエンドポイントがプライベートサブネット上にある場合、または企業イントラネット上にあることを示す、または CXO などの「VIP」AD グループのメンバーである場合にのみ、LDAP を使用して Active Directory 資格情報を検証します。それ以外の場合は、セキュリティ要件の低いグループのメンバーではなく、エンタープライズネットワークの境界の外側に配置され、電子メールの One Time Password(OTP)を入力する形で 2 番目の要素を完了する必要があります。Citrix Virtual Apps and Desktops公開仮想デスクトップを使用して、接続性を検証します。

次のコンポーネントのインストールと構成が完了したことを前提としています。

  • Citrix ADCがインストールされ、ライセンス供与
  • ワイルドカード証明書にバインドされた外部から到達可能な仮想サーバーで構成されたCitrix Gateway
  • 認証にLDAPを使用するCitrix GatewayとCitrix Virtual Apps and Desktops環境を統合する
  • Citrix Workspaceアプリがインストールされたエンドポイント
  • Active Directory (AD) が環境で使用可能
  • 電子メールを送信するための SMTP サーバーへのアクセス

最新の製品バージョンとライセンス要件については、Citrixドキュメントを参照してください。 nFactor グループ抽出

nFactor

まず、Citrix ADC上のCLIにログインし、それぞれLDAPと電子メール用の認証アクションと関連ポリシーを入力します。次に、GUI にログインして、ビジュアライザーツールで nFactor フローを構築し、多要素認証の設定を完了します。

LDAP 認証ポリシー

LDAP アクションと、それらを参照するポリシーを作成します。また、[電子メール] アクションと、それを参照するポリシーも作成します。これは、VIP グループまたはローカルサブネットのメンバーでないユーザーに対する多要素認証方法です。

LDAP アクションの場合は、必須フィールドに入力して LDAP アクションを文字列で作成し、CLI に貼り付けます。

  • ldapAction -アクション名を入力します。
  • serverIP -ドメインサーバーの FQDN または IP アドレスを入力します。
  • serverPort -LDAPポートを入力します。
  • ldapBase -関連するユーザーがディレクトリに格納されているドメインオブジェクトとコンテナの文字列を入力します。
  • ldapBindDn -ドメインユーザーのクエリに使用するサービスアカウントを入力します。
  • ldapBindDnPassword -サービスアカウントのパスワードを入力します。
  • ldapLoginName -ユーザーオブジェクトタイプを入力します。
  • groupAttrName -グループ属性名を入力します。
  • subAttributeName -サブ属性名を入力します。
  • secType -セキュリティの種類を入力します。
  • ssoNameAttribute -シングルサインオン名の属性を入力します。
  • defaultAuthenticationGroup -デフォルトの認証グループを入力します。
  • alternateEmailAttr -電子メールアドレスを取得できるユーザードメインオブジェクト属性を入力します。

LDAPポリシーの場合、LDAPアクションを参照するための必須フィールドに文字列を入力し、CLIに貼り付けます。

  • Policy -ポリシー名を入力します。
  • action -上記で作成したメールアクションの名前を入力します。

詳細については、LDAP 認証ポリシーを参照してください。

  1. まず、Citrix ADCのNSIPアドレスへのSSHセッションを開いてCLIに接続し、 nsroot 管理者または同等の管理者ユーザーとしてログインします。

LDAP action 1 - authAct_GroupExtract_genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication ldapAction authAct_GroupExtract_genf -serverIP 192.0.2.50 -ldapBase "OU=Team M,OU=Team Accounts,OU=Demo Accounts,OU=Workspaces Users,DC=workspaces,DC=wwco,DC=net" -ldapBindDn workspacessrv@workspaces.wwco.net -ldapBindDnPassword 123xyz -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName userPrincipalName -groupAttrName memberOf -subAttributeName cn -secType SSL -authentication DISABLED

LDAP ポリシー 1-authpol_groupExtract_Genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication Policy authPol_GroupExtract_genf -rule true -action authAct_GroupExtract_genf

グループ抽出

LDAP ポリシー 2A-authpol_ldaponly_genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication Policy authPol_LdapOnly_genf -rule "AAA.USER.IS_MEMBER_OF(\"VIP\") || client.IP.SRC.IN_SUBNET(10.0.0.0/8)" -action NO_AUTHN

LDAP ポリシー 2B-authpol_twoFactor_genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication Policy authPol_TwoFactor_genf -rule "client.IP.SRC.IN_SUBNET(10.0.0.0/8).NOT" -action NO_AUTHN

LDAP action 3A - authAct_Ldap_genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication ldapAction authAct_Ldap_genf -serverIP 192.0.2.50 -ldapBase "OU=Team M,OU=Team Accounts,OU=Demo Accounts,OU=Workspaces Users,DC=workspaces,DC=wwco,DC=net" -ldapBindDn workspacessrv@workspaces.wwco.net -ldapBindDnPassword 123xyz -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName userPrincipalName -groupAttrName memberOf -subAttributeName cn -secType SSL -passwdChange ENABLED

LDAP ポリシー 3A-authpol_groupExtract_genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication Policy authPol_Ldap_genf -rule true -action authAct_Ldap_genf

LDAP action 3B - authAct_LDAP_eotp_genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication ldapAction authAct_LDAP_eotp_genf -serverIP 192.0.2.50 -serverPort 636 -ldapBase "DC=workspaces,DC=wwco,DC=net" -ldapBindDn workspacessrv@workspaces.wwco.net -ldapBindDnPassword 123xyz -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName userPrincipalName -groupAttrName memberOf -subAttributeName cn -secType SSL -ssoNameAttribute userPrincipalName -defaultAuthenticationGroup Email-OTP -alternateEmailAttr otherMailbox

LDAP policy 3B - authPol_LDAP_eotp_genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication Policy authPol_LdapEtop_genf -rule true -action authAct_LDAP_eotp_genf

電子メール認証ポリシー

次のフィールドに入力して [電子メール] アクションを作成し、完成した文字列を CLI に貼り付けます。

  • emailAction -アクション名を入力します。
  • userName -メールサーバーにログインするユーザー、またはサービスアカウントを入力します。
  • password -サービスアカウントのパスワードを入力して、メールサーバーにログインします。(パスワードはデフォルトでCitrix ADCによって暗号化されます)
  • serverURL -メールサーバーの FQDN または IP アドレスを入力します。
  • content -フィールドの隣にユーザーメッセージを入力して、電子メールコードを入力します。
  • time out -電子メールコードが有効である秒数を入力します。
  • emailAddress -ユーザーの電子メールアドレスを照会する LDAP オブジェクトを入力します。

電子メールポリシーの場合は、必須フィールドに入力して E メールアクションを参照し、文字列で E メールアクションを参照し、CLI に貼り付けます。

  • Policy -ポリシー名を入力します。
  • action -メールアクションの名前を入力します

詳細については、電子メール OTP 認証ポリシーを参照してください。

Email action 4B - authAct_Email_eotp_genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。

add authentication emailAction authAct_Email_eotp_genf -userName workspacessrv@workspaces.wwco.net -password 123xyz -encrypted -encryptmethod ENCMTHD_3 -serverURL "smtps://192.0.2.40:587" -content "Your OTP is $code" -timeout 60 -emailAddress "aaa.user.attribute(\"alternate_mail\")"

Email policy 4B - authPol_Email_eotp_genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。

add authentication Policy authPol_Email_eotp_genf -rule true -action authAct_Email_eotp

ログインスキーマ

lSchema 1-lschema_groupExtract_genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication loginSchema lSchema_GroupExtract_genf -authenticationSchema "/nsconfig/loginschema/LoginSchema/OnlyUsername.xml"

lSchema 2 - CheckAuthType_genf

2 番目の要因は、ログインスキーマを必要としません。それは、次にどの要素を行うかをチェックするための式を持つポリシーを持っています。

lSchema 3A-lschema_ldapPasswordonly_genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication loginSchema lSchema_LDAPPasswordOnly_genf -authenticationSchema "/nsconfig/loginschema/PrefilUserFromExpr.xml" ここで、http.req.user が aaa.user に置き換えられたという警告が表示される場合があります。cli から xml ファイルを編集する必要があります。

グループ抽出

  1. Citrix ADC CLIにログインします
  2. 入力 shell
  3. 入力 cd /nsconfig/loginschema/LoginSchema
  4. ‘vi prefiluserFromexpr.xml’ を入力してください
  5. 入力 /http.req
  6. http.req文字列を削除するには、xを8回押してください
  7. [Esc] キーを押す
  8. iを押してaaaを入力し、もう一度エスケープキーを押します
  9. コロンキー「:」 を押し、wqを入力し、Enter キーを押します。
  10. このメソッドを使用すると、フィールドプロンプトなど、ログインスキーマの他の側面を変更できることに注意してください

lSchema 3B-lschema_eotpasswordonly_genf

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication loginSchema lSchema_EOTPPasswordOnly_genf -authenticationSchema "/nsconfig/loginschema/PrefilUserFromExpr.xml"

注:3B ファクタは PrefilUserFromExpr.xml スキーマも使用しますが、EOTP パスに対してポリシーのラベル付けは異なります。

lSchema 4B-EOTP_genf

4 番目の要因は、ログインスキーマを必要としません。これは、ワンタイムパスコードで電子メールを生成します。

nFactor

  1. Citrix ADC GUIにログインします
  2. [ トラフィック管理] > [SSL] > [証明書] > [すべての証明書 ] の順に選択し、ドメイン証明書がインストールされていることを確認します。この POC の例では、Active Directory ドメインに対応するワイルドカード証明書を使用しました。詳しくは、「Citrix ADC SSL証明書」を参照してください。
  3. 次に移動します。Security > AAA - Application Traffic > nFactor Visualizer > nFactor Flows
  4. [追加] を選択し、[係数] ボックスでプラス記号を選択します

ビジュアライザー

Factor1_GroupExtract_genf

  1. Factor1_GroupExtract_genfを入力して [作成] を選択します。 グループ抽出
  2. [スキーマを追加] を選択します。
  3. ログインスキーマを選択 lSchema_GroupExtract_genf
  4. 「OK」を選択します
  5. 同じボックスで、[ポリシーの追加] を選択します。
  6. LDAP ポリシーauthPol_GroupExtract_genfを選択します。
  7. [追加] を選択します
  8. authPol_GroupExtract_genf ポリシーの横にある緑色のプラス記号を選択して、別のファクタを作成します。

Factor2_CheckAuthType_genf

  1. Factor2_CheckAuthType_genf この係数は、認証要件を確認するために使用されます
  2. [作成] を選択します
  3. 同じボックスで、[ポリシーの追加] を選択します。
  4. 選択 authPol_LdapOnly_genf
  5. [Goto Expression] で ENDを選択します
  6. [追加] を選択します。 グループ抽出
  7. authPol_LdapOnly_genf ポリシーの下の青いプラス記号を選択して、2 番目のポリシーを追加します。
  8. ポリシーauthPol_TwoFactor_genfを選択します。
  9. [Priority] で90を入力します。 ここでは、LDAP のみのポリシーよりも前に 2 ファクタポリシーが発生するようにします。このポリシーは、デフォルトの 100 未満の 90 に下げます。これにより、VIP グループ内のリモートユーザが LDAP のみの認証用に識別されます。
  10. [追加] を選択します

Factor3A_LDAPPasswordAuth_genf

  1. authPol_GroupExtract_genf ポリシーの横に戻って、緑色のプラス記号を選択して別のファクタを作成します
  2. 入力 Factor3A_LDAPPasswordAuth_genf
  3. [作成] を選択します
  4. 同じボックスで、[ポリシーの追加] を選択します。
  5. 選択 authPol_Ldap_genf
  6. [Goto Expression] で ENDを選択します
  7. [追加] を選択します
  8. [スキーマを追加] を選択します。
  9. ログインスキーマの選択。lSchema_LDAPPasswordOnly_genf
  10. 「OK」を選択します

Factor3B_EOTPPasswordAuth_genf

  1. authPol_TwoFactor_genf ポリシーの横に戻って、緑色のプラス記号を選択して別のファクタを作成します
  2. 入力 Factor3B_EOTPPasswordAuth_genf
  3. [作成] を選択します
  4. 同じボックスで、[ポリシーの追加] を選択します。
  5. 選択 authPol_LdapEtop_genf
  6. [追加] を選択します
  7. [スキーマを追加] を選択します。
  8. ログインスキーマの選択。lSchema_EOTPPasswordOnly_genf
  9. 「OK」を選択します

Factor4B_EOTP_genf

  1. authPol_LdapEtop_genfポリシーの横にある緑色のプラス記号を選択して、別のファクターを作成します
  2. 入力 Factor4B_EOTP_genf
  3. [作成] を選択します
  4. 同じボックスで、[ポリシーの追加] を選択します。
  5. 選択 authPol_Email_eotp_genf
  6. [追加] を選択します
  7. [完了] を選択すると、nFactor フローが完了します。 グループ抽出

Citrix ADC 認証、承認、監査(Citrix ADC AAA)仮想サーバー

  1. 次に、[ セキュリティ] > [AAA-アプリケーショントラフィック] > [仮想サーバ ] に移動して、[追加]を選択します
  2. 次のフィールドを入力し、「OK」をクリックします。
    • 名前:一意の値。GroupExtraction_AuthVserverを入力します
    • IP アドレスの種類- Non Addressable
  3. [サーバー証明書なし] を選択し、ドメイン証明書を選択し、[選択]、[バインド]、[続行] の順にクリックします。
  4. nファクターフローなしを選択します
  5. [nFactor フローを選択] で右矢印をクリックし、前に作成したFactor1_GroupExtract_genfフローを選択します。
  6. [選択] をクリックし、[バインド]、[続行] の順にクリックします。 グループ抽出

Citrix Gateway-仮想サーバー

  1. 次に、 [Citrix Gateway]>[仮想サーバー]に移動します
  2. Citrix Virtual Apps and Desktops環境へのプロキシアクセスを提供する既存の仮想サーバーを選択します
  3. [編集] を選択します。
  4. 現在LDAPポリシーがバインドされている場合は、基本認証-プライマリ認証の下に移動して、LDAPポリシーを選択します。次に、ポリシーをチェックし、[Unbind] を選択し、[はい] を選択して確定し、[Close]
  5. 右側の [詳細設定] メニューで、[認証プロファイル] を選択します
  6. [追加] を選択します
  7. 名前を入力してください。を入力しますGroupExtract_AuthProfile
  8. [認証仮想サーバー] で右矢印をクリックし、作成したCitrix ADC AAA仮想サーバーを選択します GroupExtraction_AuthVserver
  9. [選択]、[作成] の順にクリックします。
  10. [OK]をクリックし、基本認証ポリシーが削除されている間、仮想サーバの認証プロファイルが選択されていることを確認します。 グループ抽出
  11. [ 完了] をクリックします

ユーザーエンドポイント

まず、1つの要素認証は、私たちのCitrix Virtual Apps and Desktops 環境に認証することにより、VIPユーザーに適用されるかどうかをテストします.

  1. ブラウザを開き、Citrix Gatewayで管理されるドメインFQDNに移動します。https://gateway.workspaces.wwco.net グループ抽出を使用します。
  2. ブラウザがログイン画面にリダイレクトされた後。まず、ユーザー名を入力します。wsvipuser@workspaces.wwco.net このユーザーはADグループのメンバーである必要があります VIP
  3. nFactor は、ユーザーが VIP グループのメンバーであると判断し、ユーザーパスワードの送信を求められます。 グループ抽出
  4. これで、ユーザーはワークスペースページにログインします。
  5. 仮想デスクトップを選択し、起動を確認します。 グループ抽出

今、私たちは再び私たちのCitrix Virtual Apps and Desktops 環境に認証することにより、電子メールOTPで2要素認証をテストします.

  1. ブラウザを開き、Citrix Gatewayで管理されるドメインFQDNに移動します。https://gateway.workspaces.wwco.netを使用します。
  2. ブラウザがログイン画面にリダイレクトされた後。まず、ユーザー名を入力します。wsuser@workspaces.wwco.net グループ抽出を使用します。
  3. nFactor は、ユーザーがローカルでなく VIP グループのメンバーでもないと判断した場合、ユーザーパスワードの送信を求められます。 グループ抽出
  4. nFactor は、OTP パスコードを要求するフォームを提示します。wsuserメールアカウントからパスコードをコピーして貼り付けます。 グループ抽出
  5. これで、ユーザーはワークスペースページにログインします。
  6. 仮想デスクトップを選択し、起動を確認します。 グループ抽出

結果

Citrix WorkspaceとCitrix Gateway Enterpriseは、ユーザーエクスペリエンスを複雑にすることなく、多要素認証を実装することで、セキュリティ体制を向上させることができます。グループ抽出により、企業は、ユーザーグループペルソナの要件に応じて、コンテキスト認証とともに、多要素使用の深さをカスタマイズできます。

参照ドキュメント

詳細については、以下を参照してください。

Citrix GatewayセッションポリシーのポリシーHitsを検索するためのCitrix ADCコマンド- nsconmsg -d current -g _hitsのようなトラブルシューティングに役立つポリシーhitsの追跡など、CLIコマンドの詳細については、こちらをご覧ください。

電子メールOTPを使用したCitrix Gateway 認証用のnFactor -電子メールワンタイムパスワードを使用したCitrix Gateway認証用にNFactorを使用した多要素認証を構成するための拡張性と柔軟なアプローチを実装する方法について説明します。

概念実証ガイド:グループ抽出を使用したCitrix Gateway認証用のnFactor