PoCガイド-ZTNA-適応認証-内部従業員と外部従業員

概要

ハイブリッドな労働力により、企業は従業員が企業のオフィスからアプリケーションにアクセスしているのか、インターネット経由でアプリケーションにアクセスしているのかを特定する必要があります。多くの企業がゼロトラストを採用しているため、従業員の所在地に焦点を当てることはそれほど重要ではありません。従業員のアクセス場所を特定することが少なくなっても、企業は認証要件を下げ、摩擦を減らし、それによってユーザーエクスペリエンスを向上させる機会を得ることができます。安全な境界の背後にある内部ロケーションの従業員は、2 つの認証要素のみを必要としますが、外部ロケーションの従業員は、自信をもって身元を確認し、信頼を確立するために 3 つの認証要素を必要とする場合があります。

アダプティブ認証の概要

多要素認証の実装は、アイデンティティを検証し、セキュリティポスチャを改善する最良の方法の 1 つです。LDAPは、ドメインのユーザー名とパスワードを確認するコマンド方式です。ネイティブ(時間ベース)ワンタイムパスワード(OTP)は、すぐに使用できるオーセンティケータアプリケーションを使用して別の要素を実装するのに便利な方法です。これにより、ユーザは認証アプリケーションからゲートウェイフォームに検証コードを入力して認証できます。

Citrix Adaptive Authenticationは、LDAPおよびネイティブOTP認証をサポートしており、CitrixセキュアプライベートアクセスやCitrix Virtual Apps and Desktopsサービスなどのさまざまなサービスに認証を提供できます。このPOCガイドでは、これらを認証に使用する方法を示します。

はじめに

次のアニメーションは、デバイスのポスチャチェックに合格し、ユーザにドメインクレデンシャルの入力を要求されたエンドポイントを示しています。次に、エンドポイントがデバイスのポスチャチェックに失敗し、ユーザはドメインクレデンシャルとネイティブ OTP パスコードの入力を求められます。

アダプティブ認証デモ

これは、インストールが完了し、次のコンポーネントの構成について前提としています。

  • Citrix ADCは、ワイルドカード証明書にバインドされた外部から到達可能なAA仮想サーバーを使用してインストール、ライセンス、構成されています
  • Citrix ADCはOauthを使用してCitrix Cloud と統合されました
  • Citrix Workspaceアプリがインストールされたエンドポイント
  • 時間ベースのOTPをサポートするサポートされている認証アプリがインストールされています(Microsoft Authenticator、Google Authenticator、Citrix SSOを含む)
  • Active Directory(AD)はCitrix コネクタアプライアンス経由でアクセス可能

最新の製品バージョンとライセンス要件については、Citrix のドキュメントを参照してください。 ネイティブOTP認証

構成

この概念実証ガイドでは、次の方法について説明します。

  1. Citrix Cloud を構成する
  2. 適応型認証ポリシーの設定-CLI
  3. 適応型認証ポリシーの設定-GUI
  4. SmartTagsを使用するようSPAとCVADを構成する
  5. ユーザーエンドポイント認証を検証する

Citrix Cloud を構成する

  1. Citrix Cloudに接続し 、管理者アカウントでログインします
  2. Citrix Workspace 内で、左上のメニューから[ IDとアクセス管理 ]にアクセスします
  3. ワークスペースの認証方法として、Citrix Gateway-適応型認証を構成します。

IDおよびアクセス管理

適応型認証ポリシーの設定-CLI

まず、Citrix ADC上のCLIにログインし、ログインスキーマとともに、それぞれEPAとLDAPの認証アクションおよび関連するポリシーを入力します。次に、GUIにログインしてポリシーを構築し、適用し、多要素認証の設定を完了します。

LDAP ポリシー

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

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

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

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

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

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

ldapupnmanage

このアクションとポリシーは、サイト fqdn adaptiveauth.wwco.net へのリクエストを URL に /manageotp が付加されたものと照合し、認証アプリを使用してネイティブ OTP に登録することを許可します。

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication ldapAction authact_ldapupnmanage -serverIP 10.53.8.10 -serverPort 636 -authTimeout 3600 -ldapBase "DC=wwco,DC=net" -ldapBindDn s_adc@yourdomain.com -ldapBindDnPassword abc123 -encrypted -encryptmethod ENCMTHD_3 -kek -suffix 2022_02_02_16_16_21 -ldapLoginName userPrincipalName -groupAttrName memberOf -subAttributeName cn -secType SSL -ssoNameAttribute UserPrincipalName -nestedGroupExtraction ON -maxNestingLevel 3 -groupNameIdentifier userPrincipalName -groupSearchAttribute userPrincipalName -groupSearchSubAttribute userPrincipalName

add authentication Policy authpol_ldapupnmanage -rule "http.req.cookie.value(\"NSC_TASS\").eq(\"manageotp\")" -action authact_ldapupnmanage

workspaceoauth

このアクションとポリシーは、プライマリWorkspace URLに対してCitrix Cloudとの安全なOAuth通信を確立します。

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication OAuthIDPProfile authact_workspaceoauth -clientID xyz1 -clientSecret abc123 -encrypted -encryptmethod ENCMTHD_3 -kek -suffix 2022_02_02_16_16_21 -redirectURL "https://accounts.cloud.com/core/login-cip" -issuer "https://adaptiveauth.yourdomain.com" -audience xyz2 -sendPassword ON

add authentication OAuthIdPPolicy authpol_workspaceoauth -rule true -action authact_workspaceoauth

workspaceoauth2

このアクションとポリシーは、カスタムワークスペースURLに対してCitrix Cloudとの安全なOAuth通信を確立します。

環境に応じて次のフィールドを更新し、その文字列をコピーして CLI に貼り付けます。 add authentication OAuthIDPProfile authact_workspaceoauth2 -clientID xyz11 -clientSecret abc123 -encrypted -encryptmethod ENCMTHD_3 -kek -suffix 2022_02_02_16_16_21 -redirectURL "https://workspace.yourdomain.com/core/login-cip" -issuer "https://adaptiveauth.yourdomain.com" -audience xyz22 -sendPassword ON

add authentication OAuthIdPPolicy authpol_workspaceoauth2 -rule true -action authact_workspaceoauth2

ldapupn

このアクションとポリシーは、UserPrincipalName を使用してドメインディレクトリで LDAP 認証を行います。

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

add authentication ldapAction authact_ldapupn -serverIP 10.53.8.10 -serverPort 636 -authTimeout 3600 -ldapBase "DC=yourdomain,DC=com" -ldapBindDn s_adc@yourdomain.com -ldapBindDnPassword abc123 -encrypted -encryptmethod ENCMTHD_3 -kek -suffix 2022_02_02_16_16_21 -ldapLoginName userPrincipalName -groupAttrName memberOf -subAttributeName cn -secType SSL -ssoNameAttribute UserPrincipalName -nestedGroupExtraction ON -maxNestingLevel 3 -groupNameIdentifier userPrincipalName -groupSearchAttribute userPrincipalName -groupSearchSubAttribute userPrincipalName

add authentication Policy authpol_ldapupn -rule true -action authact_ldapupn

ldapsam

このアクションとポリシーは、samAccountName を使用してドメインディレクトリで LDAP 認証を行います。

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

add authentication ldapAction authact_ldapsam -serverIP 10.53.8.10 -serverPort 636 -authTimeout 3600 -ldapBase "DC=yourdomain,DC=com" -ldapBindDn s_adc@yourdomain.com -ldapBindDnPassword abc123 -encrypted -encryptmethod ENCMTHD_3 -kek -suffix 2022_02_02_16_16_21 -ldapLoginName samAccountName -groupAttrName memberOf -subAttributeName cn -secType SSL -ssoNameAttribute sAMAccountName -nestedGroupExtraction ON -maxNestingLevel 3 -groupNameIdentifier sAMAccountName -groupSearchAttribute sAMAccountName -groupSearchSubAttribute sAMAccountName

add authentication Policy authpol_ldapsam -rule true -action authact_ldapsam

ldapupn_otp

このアクションとポリシーは、ネイティブのOTP認証を行います。

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

add authentication ldapAction authact_ldapupn_otp -serverIP 10.53.8.10 -serverPort 636 -authTimeout 3600 -ldapBase "DC=yourdomain,DC=com" -ldapBindDn s_adc@yourdomain.com -ldapBindDnPassword abc123 -encrypted -encryptmethod ENCMTHD_3 -kek -suffix 2022_02_02_16_16_21 -ldapLoginName userPrincipalName -groupAttrName memberOf -subAttributeName cn -secType SSL -ssoNameAttribute UserPrincipalName -authentication DISABLED -nested GroupExtraction ON -maxNestingLevel 3 -groupNameIdentifier userPrincipalName -groupSearchAttribute userPrincipalName -groupSearchSubAttribute userPrincipalName -OTPSecret userParameters

add authentication Policy authpol_ldapupn_otp -rule true -action authact_ldapupn_otp

EPA_internal_cert_domain

これにより、クライアントが有効なエンタープライズパブリック IP アドレスからの認証を試行しているかどうかが決定されます (これは、外部ファイアウォールおよびルーターで使用されるネットワークアドレス変換範囲に対応します)。また、国を検証します。また、有効なエンタープライズデバイス証明書も検証します。また、デバイスがエンタープライズドメインに参加していることも確認します。

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

add authentication epaAction authact_EPA_internal_cert_domain -csecexpr "sys.client_expr(\"device-cert_0_0\") && sys.client_expr("sys_0_DOMAIN_yourdomain.com")" -defaultEPAGroup VALIDINTERNALCERTDOMAIN -quarantineGroup NOVALIDINTERNALCERTDOMAIN

add authentication Policy authpol_EPA_internal_cert_domain -rule "CLIENT.IP.SRC.IN_SUBNET(1.0.0.0/8) && CLIENT.IP.SRC.MATCHES_LOCATION(\"*.US.*.*.*.*\")" -action authact_EPA_internal_cert_domain

noauthn

このアクションとポリシーは、現在のポリシーラベルの以前のポリシーが失敗したときに評価する次のポリシーラベルのプレースホルダーとして一般的に使用される認証なしのプレースホルダーです。

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

add authentication noAuthAction authact_noauthn

add authentication Policy authpol_noauthn -rule true -action authact_noauthn

ログインスキーマ

次に、各ファクタで使用するログインスキーマを作成します。

lspol_singlemanage

このログインスキーマは、ネイティブ OTP 登録に使用されます。

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

add authentication loginSchema lsact_singlemanage -authenticationSchema "/nsconfig/loginschema/LoginSchema/SingleAuthManageOTP.xml"

add authentication loginSchemaPolicy lspol_singlemanage -rule "http.req.cookie.value(\"NSC_TASS\").eq(\"manageotp\")" -action lsact_singlemanage

lspol_singleauth

このログインスキーマは、LDAP ユーザー名とパスワードの認証に使用されます。

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

add authentication loginSchema lsact_singleauth -authenticationSchema "/nsconfig/loginschema/LoginSchema/SingleAuth.xml"

add authentication loginSchemaPolicy lspol_singleauth -rule true -action lsact_singleauth

lspol_dualauthotp

このログインスキーマは、ネイティブ OTP 認証に使用されます。

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

add authentication loginSchema lsact_dualauthotp -authenticationSchema "/nsconfig/loginschema/LoginSchema/DualAuth.xml"

add authentication loginSchemaPolicy lspol_dualauthotp -rule true -action lsact_dualauthotp

スマートタグ

次に、デバイスのポスチャチェックの結果をCitrix Cloud サービスに中継するスマートタグを作成します。

lspol_singlemanage

このログインスキーマは、ネイティブ OTP 登録に使用されます。

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

add authentication loginSchema lsact_singlemanage -authenticationSchema "/nsconfig/loginschema/LoginSchema/SingleAuthManageOTP.xml"

add authentication loginSchemaPolicy lspol_singlemanage -rule "http.req.cookie.value(\"NSC_TASS\").eq(\"manageotp\")" -action lsact_singlemanage

証明書

ドメイン証明書

このPOCでは、Active Directory ドメインに対応するワイルドカード証明書を使用しました。これは、ゲートウェイ仮想サーバー(adaptiveauth.yourdomain.com)へのアクセスに使用する完全修飾ドメイン名にも対応しています。

  1. Citrix ADC GUIにログインします
  2. [ トラフィック管理] > [SSL] > [証明書] > [すべての証明書 ] の順に選択し、ドメイン証明書と CA がインストールされ、リンクされていることを確認します。 詳細については、「 Citrix ADC SSL証明書 」を参照してください。

デバイス証明書

ユーザーとデバイスの証明書の管理には、多くのシステムおよびオプションがあります。このPOCでは、私たちのActive Directory サーバーにインストールされているMicrosoft の認証局を使用します. また、Windows 10 エンドポイントがドメインに参加しています。

  1. 私たちのドメインの [スタート] メニューから Windows 10 エンドポイントに参加しました。mmcを入力し、右クリックして管理者として実行
  2. [ファイル] > [追加と削除]、[証明書] の順に選択し、矢印を選択して [選択されたスナップイン] ウィンドウに移動し、[コンピュータアカウント]、[次へ]、[ローカルコンピュータ]、[完了] の順に選択し、[OK] をクリックします。
  3. [個人] フォルダを開き、[証明書] フォルダを右クリックし、[すべてのタスク] > [ 新しい証明書デバイス証明書の要求]
  4. 証明書の種類が表示されるまで [次へ] をクリックし、[コンピュータ] を選択し、[登録] をクリックし、[完了]
  5. インストールされた証明書をダブルクリックし、[証明書パス] タブを選択し、上部にあるルート CA を選択して、[証明書の表示] をクリックします。(注:Active Directory サーバーからCAをエクスポートできますが、POCの場合はここで行うことで手順を排除できます)
  6. ポップアップで [詳細] タブを選択し、[ファイルにコピー]、[次へ]、[次へ] の順にクリックします (DER エンコーディングを受け入れます)。
  7. [参照] を選択し、ファイル名を入力し、[保存]、[次へ] の順に選択し、[完了] を選択して CA 証明書ファイルを保存します。 デバイス証明書
  8. 次に、 **トラフィック管理 > SSL > 証明書 > CA 証明書に移動して ADC にインポートします。
  9. [インストール] をクリックし、名前を入力し、[ファイルの選択] DeviceCertificateCA、[ローカル] の順に選択し、ファイルを選択し、[開く] をクリックして [ デバイス証明書のインストール] をクリックします

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

適応型認証ポリシーの設定-GUI

次に、 AAA 仮想サーバーを作成し、証明書、ポリシー、スキーマを適切な優先順位でバインドします。

証明書

  1. [ トラフィック管理] > [SSL] > [証明書] > [すべての証明書 ] の順に選択し、ドメイン証明書がインストールされていることを確認します。この POC の例では、Active Directory ドメインに対応するワイルドカード証明書を使用しました。 詳細については、「 Citrix ADC SSL証明書 」を参照してください。
  2. 次に Security > AAA - Application Traffic > Virtual Serversに移動し、[追加] を選択します
  3. 次のフィールドに入力します。
    • 名前:一意の値。を入力しますnativeotp_authvserver
    • IP アドレスの種類- Non Addressable
  4. ダウンロードが完了した後、 Ok
  5. [サーバー証明書なし] を選択し、Select Server Certificateの下の矢印を選択し、ドメイン証明書を選択して [選択]、[バインド]、[続行] の順にクリックします。
  6. Advanced Authentication PoliciesNo Nfactor Flowを選択します
  7. Select nFactor Flowの下の右矢印を選択し、factor0_notpを選択し 、Selectをクリックして 、Bind [ ネイティブ OTP] をクリックします
  8. Continueをクリックし、 Done 続いてネイティブ OTP

認証ポリシー

ログインスキーマ

交通政策

ここで、LDAPパスワードをStoreFront にリレーするトラフィックポリシーを作成します, 代わりに、OTPパスコード.

  1. Citrix Gateway > 仮想サーバー > ポリシー > トラフィックに移動します
  2. Traffic Profilesタブを選択し、[追加] をクリックします。
  3. 名前の入力 notp_trafficprofile
  4. 選択 HTTP
  5. SSO パスワード式にhttp.REQ.USER.ATTRIBUTE(1)を入力します
  6. ネイティブ OTPを作成」をクリックします
  7. 次に、[トラフィックポリシー] タブをクリックします。
  8. [Request Profile] フィールドで、作成したnotp_trafficprofileトラフィックプロファイルを選択します。
  9. 名前の入力 nOTP_TrafficPolicy
  10. [エクスプレス] ボックスにtrueを入力します
  11. Create ネイティブ OTPをクリックします

ユーザーエンドポイントを検証

今、私たちは、私たちのCitrix Virtual Apps and Desktops 環境に認証することにより、ネイティブOTPをテストします.

Citrix SSOアプリでの登録

まず、Citrix SSOアプリを使用してデバイスをネイティブOTPに登録します。

  1. ブラウザを開き、Citrix Gatewayで管理されるドメインFQDNにFQDNの最後に/manageotpが付加されたドメインに移動します。https://adaptiveauth.yourdomain.com/manageotpを使用します。
  2. ブラウザがログイン画面にリダイレクトされたら、ユーザー(UPN)、パスワード( ネイティブ OTP 登録)を入力します。
  3. 次の画面で [デバイスの追加] を選択し、名前を入力します。 iPhone7_nOTP ネイティブOTP登録を使用しています
  4. [Go] を選択すると、QR コードが表示されます。 ネイティブ OTP 登録
  5. モバイルデバイスで、Citrix SSOアプリ、またはMicrosoftやGoogleなどの他の認証アプリを開きます(アプリストアからダウンロード可能)
  6. [新しいトークンの追加] を選択します
  7. QRコードをスキャンするを選択します ネイティブOTP登録
  8. [カメラをQRコードに向ける] を選択し、キャプチャされたら [ ネイティブOTP登録を追加] を選択します
  9. [保存] を選択して、 トークンのネイティブ OTP 登録を保存します
  10. トークンがアクティブになり、30秒間隔でOTPコードの表示が開始されます。 ネイティブOTP登録
  11. [完了] を選択すると、デバイスが正常に追加されたという確認が表示されます。 ネイティブ OTP 登録

Citrix Cloud サービスにログイン

次に、ユーザーはCitrix SSOアプリからUserPrincipalName、パスワード、OTPパスコードを入力して、仮想アプリおよびデスクトップにアクセスします。

  • ブラウザー(またはCitrix Workspace アプリ)を開き、ワークスペースのFQDN(Citrix Cloud の[ワークスペース構成]にあります)に移動します。https://adaptiveauth.yourdomain.comを使用します。

信頼できるシナリオ

  1. デバイスがドメインに参加していること、エンタープライズデバイス証明書がインストールされていること、または設定された「内部」の場所の範囲内にあることを確認します。
  2. ブラウザがログイン画面にリダイレクトされたら、userPrincipalNameとパスワードを入力します。
  3. ユーザーのSecure Private AccessアプリとCitrix Virtual Apps とデスクトップが表示されていることを確認するネイティブOTP登録

信頼できないシナリオ

  1. デバイスがドメインに参加していないこと、エンタープライズデバイス証明書がないこと、または構成された「内部」の場所の範囲外であることを確認します。
  2. ブラウザがログイン画面にリダイレクトされたら、userPrincipalNameとパスワードを入力します。
  3. Citrix SSOアプリを開き、 `iPhone7_nOTP`デバイスエントリのネイティブOTP登録のパスコードフィールドにOTPコードを入力します
  4. ユーザーのSecure Private AccessアプリとCitrix Virtual Apps and Desktops が表示されていることを確認します

トラブルシューティング

ここでは、Native OTP の一般的なトラブルシューティング領域をいくつか見ていきます。

NTPエラー

OTP コードでログインすると、NTP 同期の確認を知らせるメッセージがページに投稿されることがあります。正しい時刻ベースのOTPを生成するには、Citrix ADCの時刻を同期する必要があります。NTP を実装していない場合は、次の手順を実行します。

認証エラー

  • Cannot complete your request. -認証が成功した後にこのエラーメッセージが表示される場合は、ユーザーの資格情報をStoreFront に渡すエラーを示している可能性があります。二重認証スキーマとトラフィックポリシーの設定を確認します。 ネイティブ OTP
  • Try again or contact your help desk -このエラーメッセージは、多くの場合、LDAPログインの失敗を示します。 ネイティブOTP パスワードが正しいことを確認したら、管理者バインドパスワードが設定されていることを確認してください。既存の LDAP 認証ポリシーがあり、管理ポリシーを選択し、[add] を選択して作成した可能性があります。この手順では、Base DNのような既存の設定を入力することで時間を節約できます。また、[Administrator password] フィールドは入力されているように見えますが、パスワードを再入力する必要があります。 ネイティブ OTP

概要

従業員のアクセス場所を特定することで、企業は認証要件を下げ、摩擦を減らし、ユーザーエクスペリエンスを向上させることができます。安全な境界の背後にある内部ロケーションの従業員は、2 つの認証要素のみを必要としますが、外部ロケーションの従業員は、自信をもって身元を確認し、信頼を確立するために 3 つの認証要素を必要とする場合があります。

参照ドキュメント

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

ネイティブ OTP 認証 — ネイティブ OTP の実装とユースケースに関する詳細をご覧ください。

PoCガイド-ZTNA-適応認証-内部従業員と外部従業員