認証のネイティブ OTP サポート

Citrix Gateway では、サードパーティのサーバーを使用せずに、ワンタイムパスワード(OTP)をサポートしています。ワンタイムパスワードは、生成される番号またはパスコードがランダムであるため、セキュリティで保護されたサーバに対して認証を行うための非常に安全なオプションです。以前は、ランダムな数字を生成する特定のデバイスを備えた RSA などの専門企業によって OTP が提供されていました。このシステムは、サーバーが期待する数値を生成するために、クライアントと常に通信する必要があります。

この機能は、設備コストと運用コストの削減に加えて、Citrix ADCアプライアンスの構成全体を維持することで、管理者の管理を強化します。

サードパーティ製サーバーが不要になったため、Citrix ADC管理者は、ユーザーデバイスを管理および検証するためのインターフェイスを構成する必要があります。

ユーザーがOTPソリューションを使用するには、Citrix Gateway 仮想サーバーに登録されている必要があります。登録は、一意のデバイスごとに 1 回だけ必要で、特定の環境に制限できます。登録ユーザーの設定と検証は、追加の認証ポリシーの設定に似ています。

ネイティブ OTP サポートの利点

  • Active Directory に加えて認証サーバに追加のインフラストラクチャを使用する必要がなくなるため、運用コストが削減されます。
  • 構成をCitrix ADCアプライアンスにのみ統合し、管理者に優れた制御を提供します。
  • クライアントが期待する数値を生成するために、追加の認証サーバーへのクライアントの依存を排除します。

ネイティブ OTP ワークフロー

ネイティブOTPソリューションは2つ折りプロセスであり、ワークフローは次のように分類されます。

  • デバイス登録
  • エンドユーザーログイン

重要

サードパーティ製のソリューションを使用している場合や、Citrix ADCアプライアンス以外のデバイスを管理している場合は、登録プロセスをスキップできます。追加する最後の文字列は、Citrix ADC で指定された形式である必要があります。

次の図は、OTP を受信する新しいデバイスを登録するためのデバイス登録フローを示しています。

ローカライズされた画像

デバイスの登録は、任意の数の要因を使用して行うことができます。デバイス登録プロセスを説明する例として、1 つのファクタ(前の図を参照)を使用します。

次の図は、登録されたデバイスを介した OTP の検証を示しています。

ローカライズされた画像

前提条件

ネイティブ OTP 機能を使用するには、次の前提条件が満たされていることを確認します。

  • Citrix ADC 機能のリリースバージョンは 12.0 ビルド 51.24 以降です。
  • 高度なエディションまたはプレミアムエディションのライセンスがCitrix Gateway にインストールされている。
  • Citrix Gateway には管理IPが設定されており、管理コンソールにはブラウザーとコマンドラインの両方を使用してアクセスできます。
  • Citrix ADCは、ユーザーを認証するための認証、承認、監査仮想サーバーで構成されています。
  • Citrix ADCアプライアンスはUnified Gateway で構成され、認証、承認、監査プロファイルがGateway仮想サーバーに割り当てられます。
  • ネイティブOTPソリューションは、nFactor認証フローに制限されています。ソリューションを構成するには、高度なポリシーが必要です。詳細については、記事CTX222713を参照してください。

また、Active Directory については、次の点を確認してください。

  • 256文字の属性の最小長。
  • 属性タイプは、ユーザーパラメータなどの ‘ディレクトリ文字列’ である必要があります。これらの属性は文字列値を保持できます。
  • デバイス名が英語以外の文字である場合、属性文字列タイプは Unicode である必要があります。
  • Citrix ADC LDAP管理者は、選択したAD属性への書き込みアクセス権を持っている必要があります。
  • Citrix ADCアプライアンスとクライアントマシンは、共通のネットワークタイムサーバーに同期する必要があります。

GUI を使用したネイティブ OTP の設定

ネイティブ OTP 登録は、単要素認証ではありません。次のセクションでは、シングルファクタ認証と 2 番目のファクタ認証の設定について説明します。

最初の要素のログインスキーマの作成

  1. [ セキュリティ AAA] > [アプリケーショントラフィック] > [ログインスキーマ] に移動します。
  2. [ プロファイル ] に移動し、[ 追加 ] をクリックします。
  3. 認証ログイン・スキーマの作成 」ページで、「 名前 」フィールドに lschema_first_factor と入力し、「 noschema 」の横にある 「編集」 をクリックします。
  4. [ LoginSchema ] フォルダをクリックします。
  5. 下にスクロールして SingleAuth.xml を選択し、[ 選択 ] をクリックします。
  6. [作成] をクリックします。
  7. [ ポリシー ] をクリックし、[ 追加 ] をクリックします。
  8. [ 認証ログインスキーマポリシーの作成 ] 画面で、次の値を入力します。

    名前: lschema_first_factor プロファイル: リストから lschema_first_factor を選択します。 ルール: HTTP.要求.クッキー.値 (「NSC_TASS」) .EQ (「管理」)

認証、承認、監査仮想サーバーの構成

  1. [ セキュリティ] > [AAA] > [アプリケーショントラフィック] > [認証仮想サーバ] に移動します。既存の仮想サーバーを編集する場合にクリックします。
  2. 右側のペインの [ 詳細設定] の [ ログインスキーマ ] の横にある [ + ] アイコンをクリックします。
  3. ログインスキーマなし」を選択します。
  4. 矢印をクリックして、 lschema_first_factor ポリシーを選択します。
  5. lschema_first_factor ポリシーを選択し、[ 選択 ] をクリックします。
  6.  [ バインド] をクリックします。
  7. 上にスクロールし、[ 高度な認証ポリシー] の下の [認証ポリシー] を 1 つ選択します。
  8. nFactor ポリシーを 右クリックし、[ バインディングの編集] を選択します。
  9.  [ 次の係数の選択] の下にある [ **+ ] アイコンをクリックし、** [次の係数] を作成して [ バインド ] をクリックします。
  10. 認証ポリシーラベルの作成 」画面で次のように入力し、「 続行 」をクリックします。

    名前: OTP 管理ファクター

    ログインスキーマ: Lschema_Int

  11. 認証ポリシーラベル」 画面で、「 + 」アイコンをクリックしてポリシーを作成します。

  12.  [ 認証ポリシーの作成 ] 画面で、次のように入力します。

    名前. otp_manage_ldap

  13. [アクションタイプ] リストを使用して、 アクションタイプ を選択します。
  14. アクション」 フィールドで、「 + 」アイコンをクリックしてアクションを作成します。
  15.  「 認証 LDAP サーバーの作成 」ページで、「 サーバー IP 」ラジオ・ボタンを選択し、「 認証 」の横にあるチェック・ボックスの選択を解除し、次の値を入力して「 接続のテスト 」を選択します。

    名前: LDAP_no_auth

    IPアドレス:192.168.10.11

    ベース DN: DC = トレーニング、DC = ラボ

    管理者: Administrator@training.lab

    パスワード: xxxxx

  16. [ その他の設定] セクションまで下にスクロールします。ドロップダウンメニューを使用して、次のオプションを選択します。

    サーバー・ログオン名」属性 として「 新規 」と入力し、「 ユーザープリンシパル名 」と入力します。

  17. ドロップダウンメニューを使用して、「 新規 」として「 SSO 名属性」 を選択し、「 userprincipalname 」と入力します。
  18. OTP シークレット 」フィールドに「ユーザーパラメータ」と入力し、「 詳細 」をクリックします。
  19. 次の属性を入力します。

    属性 1 = メール 属性 2 = オブジェクト GUID 属性 3 = 変更不可能 ID

  20. [OK] をクリックします。
  21. [ 認証ポリシーの作成 ] ページで、[式] を true に設定し、[ 作成 ] をクリックします。
  22. 認証ポリシーの作成」ラベル ページで、「 バインド 」をクリックし、「 完了」をクリックします。
  23. [ ポリシーのバインド ] ページで、[ バインド ] をクリックします。
  24. [ 認証ポリシー ] ページで、[ 閉じる ] をクリックし、[ 完了 ] をクリックします。

認証仮想サーバーは RFWebUI ポータルテーマにバインドする必要があります。サーバー証明書をサーバーにバインドします。サーバー IP ‘1.2.3.5’ には、後で使用するために otpauth.server.com という対応する FQDN が必要です。

第 2 要素 OTP のログインスキーマの作成

  1. [ セキュリティ] > [AAA アプリケーショントラフィック] > [仮想サーバ] に移動します。編集する仮想サーバを選択します。
  2. 下にスクロールして、[ ログインスキーマ] を 1つ選択します。
  3. [ バインドを追加]をクリックします。
  4. [ ポリシーのバインド ] セクションで、[ + ] アイコンをクリックしてポリシーを追加します。
  5. [ 認証ログインスキーマポリシーの作成 ] ページで、「名前」に OTP と入力し、[ + ] アイコンをクリックしてプロファイルを作成します。
  6. 認証ログイン・スキーマの作成 」ページで、「名前」に「OTP」と入力し、「noschema」の横のアイコンをクリックします。
  7. [ LoginSchema ] フォルダーをクリックし、[ DualAuth.xml ] を選択し、[ 選択 ] をクリックします。
  8. [作成] をクリックします。
  9. [ ルール ] セクションで、 True と入力します。[作成] をクリックします。
  10. [バインド] をクリックします。
  11. 認証の 2 つの要素に注目してください。[ 閉じる ] をクリックし、[ 完了 ] をクリックします。

OTP を管理するためのコンテンツスイッチングポリシーを構成する

Unified Gateway を使用する場合は、次の設定が必要です。

  1. [ トラフィック管理] > [コンテンツの切り替え] > [ポリシー]に移動します。コンテンツスイッチングポリシーを選択し、右クリックして [ 編集] を選択します。

  2. 式を編集して次の OR ステートメントを評価し、[ OK] をクリックします。

is_vpn_url   HTTP.REQ.URL.CONTAINS(“manageotp”)

CLI を使用したネイティブ OTP の設定

OTP デバイス管理ページを設定するには、次の情報が必要です。

  • 認証仮想サーバに割り当てられた IP
  • 割り当てられた IP に対応する FQDN
  • 認証用サーバー証明書仮想サーバー

ネイティブOTPは、Webベースのソリューションのみです。

OTP デバイスの登録および管理ページを構成するには

認証仮想サーバーの作成

> add authentication vserver authvs SSL 1.2.3.5 443
> bind authentication vserver authvs -portaltheme RFWebUI
> bind ssl vserver authvs -certkeyname otpauthcert

認証仮想サーバーは RFWebUI ポータルテーマにバインドする必要があります。サーバー証明書をサーバーにバインドする必要があります。サーバー IP ‘1.2.3.5’ には、後で使用するために otpauth.server.com という対応する FQDN が必要です。

LDAP ログオンアクションを作成するには

add authentication ldapAction <LDAP ACTION NAME> -serverIP <SERVER IP> - serverPort <SERVER PORT> -ldapBase <BASE> -ldapBindDn <AD USER> -ldapBindDnPassword <PASSWO> -ldapLoginName <USER FORMAT>

:

add authentication ldapAction ldap_logon_action -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD -ldapLoginName userprincipalname

LDAP ログオンの認証ポリシーを追加するには

add authentication Policy auth_pol_ldap_logon -rule true -action ldap_logon_action

ログインスキーマを使用して UI を表示するには

ログオン時にユーザー名のフィールドとパスワードフィールドをユーザーに表示する

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

デバイスの登録と管理ページを表示する

デバイスの登録と管理画面を表示するには、URLまたはホスト名の2つの方法があります。

  • URL を使用する

    URLに’/manageotp’が含まれている場合

    • add authentication loginSchemaPolicy lpol_single_auth_manage_otp_by_url -rule "http.req.cookie.value("NSC_TASS").contains("manageotp")" -action lschema_single_auth_manage_otp
    • bind authentication vserver authvs -policy lpol_single_auth_manage_otp_by_url -priority 10 -gotoPriorityExpression END
  • ホスト名の使用

    ホスト名が「alt.server.com」の場合。

    • add authentication loginSchemaPolicy lpol_single_auth_manage_otp_by_host -rule "http.req.header("host").eq("alt.server.com")" -action lschema_single_auth_manage_otp
    • bind authentication vserver authvs -policy lpol_single_auth_manage_otp_by_host -priority 20 -gotoPriorityExpression END

CLI を使用してユーザログインページを設定するには

[ユーザーログオン] ページを構成するには、次の情報が必要です。

  • 負荷分散仮想サーバのIP
  • 負荷分散仮想サーバーの対応する FQDN
  • 負荷分散仮想サーバーのサーバー証明書

2 要素認証に既存の認証仮想サーバー (authvs) を再利用します。

負荷分散仮想サーバーを作成するには

> add lb vserver lbvs_https SSL 1.2.3.162 443 -persistenceType NONE -cltTimeout 180 -  AuthenticationHost otpauth.server.com -Authentication ON -authnVsName authvs
> bind ssl vserver lbvs_https -certkeyname lbvs_server_cert

ロードバランシングにおけるバックエンドサービスは、次のように表されます。

> add service iis_backendsso_server_com 1.2.3.210 HTTP 80
> bind lb vserver lbvs_https iis_backendsso_server_com

OTP パスコード検証アクションを作成するには

add authentication ldapAction <LDAP ACTION NAME> -serverIP <SERVER IP> -serverPort <SERVER PORT> -ldapBase <BASE> -ldapBindDn <AD USER> -ldapBindDnPassword <PASSWORD> -ldapLoginName <USER FORMAT> -authentication DISABLED -OTPSecret <LDAP ATTRIBUTE>

例:

add authentication ldapAction ldap_otp_action -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD -ldapLoginName userprincipalname -authentication DISABLED -OTPSecret userParameters

重要

LDAP ログオンと OTP アクションの違いは、認証を無効にし、新しいパラメータ「OTPSecret」を導入する必要があることです。AD 属性値を使用しないでください。

OTP パスコード検証の認証ポリシーを追加するには

> add authentication Policy auth_pol_otp_validation -rule true -action ldap_otp_action

LoginSchema を使用して 2 要素認証を表示するには

2 要素認証用の UI を追加します。

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

> add authentication loginSchemaPolicy lpol_dual_factor -rule true -action lscheme_dual_factor

ポリシーラベルを使用してパスコード検証係数を作成するには

次の要素の管理 OTP フローポリシーラベルを作成する(最初の要素は LDAP ログオン)

> add authentication loginSchema lschema_noschema -authenticationSchema noschema

> add authentication policylabel manage_otp_flow_label -loginSchema lschema_noschema`

OTPポリシーをポリシー・ラベルにバインドするには

bind authentication policylabel manage_otp_flow_label -policyName  auth_pol_otp_validation -priority 10 -gotoPriorityExpression NEXT

UI フローをバインドするには

LDAPログオンに続いてOTP検証を認証仮想サーバーとバインドします。

> bind authentication vserver authvs -policy auth_pol_ldap_logon -priority 10 -nextFactor  manage_otp_flow_label -gotoPriorityExpression NEXT

> bind authentication vserver authvs -policy lpol_dual_factor -priority 30 -gotoPriorityExpression END

Citrix ADCでデバイスを登録する

  1. /manageotpというサフィックスが付いた、Citrix ADC FQDN(最初のパブリックIPアドレス)に移動します。たとえば、ユーザーの資格情報でhttps://otpauth.server.com/manageotp にログインします。
  2. [ + ] アイコンをクリックして、デバイスを追加します。

    ローカライズされた画像

  3. デバイス名を入力し、 Goキーを押します。バーコードが画面に表示されます。
  4. [ セットアップの開始 ] をクリックし、[ バーコードのスキャン ] をクリックします。
  5. デバイスのカメラを QR コードの上に置きます。必要に応じて、16 桁のコードを入力できます。

    イメージのローカライズ

    注:

    表示されているQRコードは3分間有効です。

  6. スキャンに成功すると、ログインに使用できる6桁の時間依存コードが表示されます。

    ローカライズされた画像

  7. テストするには、QR画面で [ 完了 ] をクリックし、右側の緑色のチェックマークをクリックします。
  8. プルダウンメニューから端末を選択し、Google Authenticator からコード(赤ではなく青でなければならない)を入力し、[ Go] をクリックします。
  9. ページの右上隅にあるドロップダウンメニューを使用してログアウトしてください。

OTPを使用してCitrix ADCにログインします

  1. 最初の公開URLに移動し、Google Authenticator からOTPを入力してログオンします。
  2. Citrix ADCスプラッシュページへの認証を行います。

    ローカライズされた画像