PoCガイド:ネイティブOTPを使用したCitrix Gateway認証のnFactor

はじめに

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

Citrix GatewayはネイティブOTPをサポートしており、Webサービス、VPN、Citrix Virtual Apps and Desktops などのさまざまなサービスの認証を提供できます。このPOCガイドでは、Citrix Virtual Apps and Desktops 環境での認証のためにそれを使用することをデモンストレーションします.

概念アーキテクチャ

ネイティブ OTP 登録

ネイティブ OTP 認証

概要

このガイドでは、Citrix Gatewayで2要素認証を使用して概念実証環境を実装する方法について説明します。最初の要素として LDAP を使用して Active Directory 資格情報を検証し、第 2 の要因としてネイティブ OTP を使用します。

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

  • Citrix Gatewayは、ワイルドカード証明書にバインドされた外部から到達可能な仮想サーバーを使用してインストール、ライセンス供与、構成
  • 認証にLDAPを使用するCitrix GatewayとCitrix Virtual Apps and Desktops環境を統合する
  • Citrix Workspaceアプリがインストールされたエンドポイント
  • 時間ベースのOTPをサポートするサポートされている認証アプリがインストールされています(Microsoft Authenticator、Google Authenticator、Citrix SSOを含む)
  • Active Directory (AD) が環境で使用可能

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

nFactor

LDAP ポリシー

まず、nFactor フローを構築するときに後で参照する 2 つの LDAP ポリシーを作成します。

ネイティブ OTP 登録

この LDAP 登録ポリシーは、時刻ベースの OTP コードを生成するために使用されるキーを交換および格納するために使用されます。

  1. Citrix ADC UIにログインする
  2. [ セキュリティ] > [AAAアプリケーショントラフィック] > [ポリシー] > [認証] > [詳細ポリシー] >に移動します
  3. ダウンロードが完了した後、 Add
  4. ポリシー名としてpolldap_notpmanageを入力し、[Action Type] をLDAPに変更します。
  5. [アクション] の下のAddをクリックします
  6. 次のフィールドに入力します。
    • 名前-actldap_notpmanageを入力
    • サーバー名/ IPアドレス-ADサーバーのFQDNまたはIPアドレスを選択します。を入力します192.0.2.50
    • Authentication クリアこの設定と以下の OTP シークレットは、ポリシーが get ではなくオブジェクト属性を設定することを示します
    • ベース DN-AD ユーザーコンテナへのパスを入力します。を入力しますDC=workspaces, DC=wwco, DC=net
    • 管理者バインド DN-管理者/サービスアカウントを入力して、ユーザーを認証するために AD を照会します。を入力しますworkspacessrv@workspaces.wwco.net
    • 確認/管理者パスワード-管理者/サービスアカウントのパスワードを入力/確認する
    • [ネットワーク接続のテスト] をクリックして、接続を確認します
    • サーバーログオン名属性-このフィールドの下の 2 番目のフィールドにuserPrincipalNameを入力
    • OTP Secret- userParameters 入力これは、時間ベースのOTPコードを生成するためにハッシュで使用されるキーで更新されるユーザーのLDAPオブジェクトです
  7. ネイティブ OTPを作成」を選択します
  8. trueを入力し、[ OK ネイティブ OTP] をクリックします

ネイティブ OTP 認証

この LDAP 認証ポリシーは、第 1 要素認証を行うために使用されます。

  1. Security > AAA-Application Traffic > Policies > Authentication > Advanced Policies > Policyにアクセスします。
  2. ダウンロードが完了した後、 Add
  3. ポリシー名としてpolldap_notpauthを入力し、[Action Type] をLDAPに変更します。
  4. [アクション] の下のAddをクリックします
  5. 次のフィールドに入力します。
    • 名前-actldap_notpauthを入力
    • サーバー名/ IPアドレス-ADサーバーのFQDNまたはIPアドレスを選択します。を入力します192.0.2.50
    • ベース DN-AD ユーザーコンテナへのパスを入力します。を入力しますDC=workspaces, DC=wwco, DC=net
    • 管理者バインド DN-管理者/サービスアカウントを入力して、ユーザーを認証するために AD を照会します。を入力しますworkspacessrv@workspaces.wwco.net
    • 確認/管理者パスワード-管理者/サービスアカウントのパスワードを入力/確認する
    • [ネットワーク接続のテスト] をクリックして、接続を確認します
    • サーバーログオン名属性-このフィールドの下の 2 番目のフィールドにuserPrincipalNameを入力
  6. ネイティブ OTPを作成」を選択します
  7. trueを入力し、[ OK ネイティブ OTP] をクリックします

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

ログインスキーマ

ログインスキーマは、ポリシーに代わってデータを収集する必要がある場合に使用されます。

ネイティブ OTP lSchema -単一認証

この登録ログインスキーマは、LDAP 登録ポリシーに対応します。

  1. Security > AAA-Application Traffic > Login Schemaにアクセスします。
  2. Profile タブを選択します
  3. [プロフィール] の下でAddをクリックし、名前を付けます。 prolschema_notpsingle
  4. noschemaの横にある鉛筆アイコンをクリックします
  5. Login Schemaをクリックし 、下にスクロールしてSingleAuthManageOTP.xmlを選択し、右隅の青いSelectを選択します。
  6. Create ネイティブ OTPをクリックします

ネイティブ OTP lSchema -デュアル認証

この登録ログインスキーマは、ユーザーがパスワードと OTP パスコードの両方を入力する二重要素認証に対応しています。

  1. Profileタブの下でもう一度Addをクリックします
  2. 名前の入力 pollschema_notpdual
  3. [プロフィール] の下でAddクリックし、名前を付けます。prolschema_notpdual
  4. noschemaの横にある鉛筆アイコンをクリックします
  5. Login Schemaをクリックし 、下にスクロールしてDualAuth.xmlを選択し、右隅の青いSelectを選択します。
  6. ダウンロードが完了した後、 More
  7. Password Credential Indexフィールドに1を入力します
  8. Create ネイティブ OTPをクリックします

ネイティブ OTP AAA 仮想サーバー-ビジュアライザフロー

  1. 次に移動します。Security > AAA - Application Traffic > nFactor Visualizer > nFactor Flows
  2. ダウンロードが完了した後、 Add
  3. +記号をクリックして、初期因子を作成します。この要素はアクションを実行せず、着信トラフィックを登録または認証ファクタフローに転送する処理を行います。
  4. factor0-notpを入力し、[ Create ネイティブ OTP] をクリックします

登録フロー

  1. 選択 Add Policy
  2. Select Policyの横にあるAddを選択します
  3. 名前の入力 polfactor0-notpmanage
  4. Action TypeNO_AUTHNに設定します。
  5. 式にHTTP.REQ.COOKIE.VALUE(“NSC_TASS”).EQ(“manageotp”)を貼り付けるか、 式ビルダーNative OTPで構築します必要に応じて、次のような送信元IPアドレス条件を追加して、登録を内部ネットワーク上のエンドポイントに制限できます http.req.cookie.value("NSC_TASS").eq("manageotp") && client.IP.SRC.IN_SUBNET(10.0.0.0/8)
  6. Createをクリックし、 Add 続いてネイティブ OTP
  7. 作成したpolfactor0-notpmanageポリシーの右側にある緑+を選択します。
  8. factor1-notpmanageを入力し、[ Create ネイティブ OTP] をクリックします
  9. [新しい係数] ボックスで、Add Schemaを選択します
  10. prolschema_notpsingleを選択し、Okをクリックします
  11. 選択 Add Policy
  12. Select Policyのドロップダウンリストからpolldap_notpauthを選択し、Addをクリックします
  13. polldap_notpauthポリシーの右側にある緑+を選択します
  14. factor2-notpmanageを入力し、[ Create ネイティブ OTP] をクリックします
  15. [新しい係数] ボックスで、Add Policyを選択します
  16. Select Policyの下のドロップダウンリストから polldap_notpmanageを選択して、[ Add ネイティブ OTP] をクリックします。

認証フロー

  1. 作成した初期係数ボックスfactor0-notpで、青の+を選択します
  2. Select Policyの横にあるAddを選択します
  3. 名前の入力 polfactor0-notpauth
  4. Action TypeをNO_AUTHN に設定します
  5. 式でtrueを入力します
  6. Createをクリックしてから、 Add ポリシーの優先順位が 110 に増加したことに注意してください。つまり、上記のポリシーpolfactor0-notpmanageが100で一致しない場合にのみ実行されます。 ネイティブ OTP
  7. 作成したpolfactor0-notpauthポリシーの右側にある緑+を選択します。
  8. factor1-notpauthと入力し、Createをクリックします
  9. [新しい係数] ボックスで、Add Schemaを選択します
  10. prolschema_notpdualを選択し、Okをクリックします
  11. 選択 Add Policy
  12. Select Policyのドロップダウンリストからpolldap_notpauthを選択し、Addをクリックします
  13. 作成したpolldap_notpauthポリシーの右側にある緑+を選択します。
  14. OTPCheckと入力し、Createをクリックします
  15. 選択 Add Policy
  16. Select Policyのドロップダウンリストからpolldap_notpmanageを選択し、Addをクリックします
  17. Done ネイティブ OTPを選択

ネイティブ OTP AAA 仮想サーバー

この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をクリックします

ゲートウェイ仮想サーバー

ゲートウェイ仮想サーバーはネイティブOTP AAA仮想サーバーにバインドされ、Citrix Virtual Apps and Desktops の認証が提供されます。

  1. Citrix Gateway > Virtual Serversにアクセスします。
  2. 現在のゲートウェイを選択し、Editをクリックします
  3. 右側の [詳細設定] パネルから [認証プロファイル] を選択します
  4. 選択 Add
  5. プロファイル名を入力します。を入力しますnativeotp_authprofile
  6. [ポリシー] で矢印を選択し、[ネイティブ OTP AAA 仮想サーバー] を選択しますnativeotp_authvserver
  7. ダウンロードが完了した後、 Create
  8. 右側の [詳細設定] パネルから [ポリシー] を選択します
  9. +記号を選択して追加します
  10. Choose PolicyTrafficを選択し、Choose TypeRequestを選択します。Continueを選択します
  11. 右矢印をクリックしnotp_trafficpolicyOKを選択します
  12. をクリックして Done実行構成Native OTPを保存します

ユーザーエンドポイント

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

Citrix SSOアプリでの登録

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

  1. ブラウザを開き、Citrix Gatewayで管理されるドメインFQDNにFQDNの最後に/manageotpが付加されたドメインに移動します。https://gateway.workspaces.wwco.net/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 Virtual Apps and Desktops の認証、公開、起動

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

  1. ブラウザを開き、Citrix Gatewayで管理されるドメインFQDNに移動します。https://gateway.workspaces.wwco.netを使用します。
  2. ブラウザがログイン画面にリダイレクトされたら、userPrincipalNameとパスワードを入力します。
  3. Citrix SSOアプリを開き、 `iPhone7_nOTP`デバイスエントリのネイティブOTP登録のパスコードフィールドにOTPコードを入力します
  4. ユーザー、仮想アプリケーション、およびデスクトップが列挙されていることを確認し、 ネイティブOTP登録にログインしたら起動します

トラブルシューティング

ここでは、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

概要

Citrix WorkspaceとCitrix Gatewayを使用すると、企業ではユーザーエクスペリエンスを複雑にすることなく、多要素認証を実装することで、セキュリティ体制を向上させることができます。ユーザーは、ドメインユーザー名とパスワードを入力し、登録済みの認証アプリからワンタイムパスワードを入力して身元を確認することで、Citrix Virtual Apps and Desktopsにアクセスできます。

参照ドキュメント

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

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

PoCガイド:ネイティブOTPを使用したCitrix Gateway認証のnFactor