Citrix Gateway

ステートレス RDP プロキシ

ステートレス RDP プロキシは RDP ホストにアクセスします。ユーザーが別のCitrix Gateway Authenticatorで認証すると、Citrix Gateway上のRDPListenerを介してアクセスが許可されます。Citrix Gateway用にRDPListenerに必要な情報は、STAサーバーに安全に保存されます。STAサーバーは、Citrix Gateway およびアプリケーション列挙サーバーが到達できる限り、どこにでも配置できます。詳細については、https://support.citrix.com/article/CTX101997を参照してください。

接続フロー

RDP プロキシフローには 2 つの接続が含まれます。最初の接続は、Citrix Gateway VIPへのユーザーのSSL VPN接続と、RDPリソースの列挙です。

2番目の接続は、Citrix Gateway 上のRDPリスナー(RDPIPおよびrdpPortを使用して構成)へのネイティブRDPクライアント接続と、その後のRDPクライアントのサーバーパケットへの安全なプロキシです。

接続フロー図

  1. ユーザはAuthenticator Gateway VIP に接続し、クレデンシャルを提供します。

  2. ゲートウェイへのログインに成功すると、ユーザーはホームページ/外部ポータルにリダイレクトされます。このポータルには、ユーザーがアクセスできるリモートデスクトップリソースが列挙されます。

  3. ユーザーが RDP リソースを選択すると、Authenticator Gateway VIP によって、ユーザーがクリックした公開リソースを示す形式https://AGVIP/rdpproxy/ip:port/rdptargetproxyで要求が受信されます。この要求には、ユーザーが選択した RDP サーバーの IP およびポートに関する情報が含まれます。

  4. Authenticator Gatewayは /rdpproxy/ 要求を処理します。ユーザはすでに認証されているため、この要求には有効なゲートウェイ Cookie が付属しています。

  5. RDPTargetRDPUserの情報は STA サーバに保存され、STA チケットが生成されます。情報は XML BLOB として格納され、設定済みの事前共有キーを使用してオプションで暗号化されます。暗号化されている場合、BLOB は base64 でエンコードされて格納されます。Authenticator Gatewayは、ゲートウェイ仮想サーバ上に構成されている STA サーバの 1 つを使用します。

  6. XML BLOB の形式は次のとおりです。

    <Value name=”IPAddress”>ipaddr</Value>\n<Value name=”Port”>port</Value>n
    
    <Value name=”`Username`”>username</Value>\n<Value name=”Password”>pwd</Value>
    <!--NeedCopy-->
    
  7. /rdpproxy/ リクエストで取得されたrdptargetproxyは’fulladdress’ として配置され、STA チケット (STA AuthID の前に) がloadbalanceinfoとして.rdp ファイルに配置されます。

  8. .rdpファイルはクライアントのエンドポイントに送り返されます。

  9. ネイティブ RDP クライアントが起動し、RDPListener Gatewayに接続します。STA チケットは最初の x.224 パケットで送信されます。

  10. RDPListener GatewayはSTAチケットを検証し、RDPTargetおよびRDPUser情報を取得します。使用する STA サーバは、loadbalanceinfoに存在する「AuthID」を使用して取得されます。

  11. Gateway セッションは、承認/監査ポリシーを格納するために作成されます。ユーザーのセッションが存在する場合、そのセッションは再利用されます。

  12. RDPListener GatewayRDPTargetに接続し、CREDSSP を使用してシングルサインオンします。

前提条件

  • ユーザーはCitrix Gateway Authenticatorで認証されます。

  • 最初の /rdpproxy URL と RDP クライアントは、別のRDPListener Citrix Gatewayに接続されています。

  • STA サーバを使用するAuthenticator Gatewayは、 RDPListener Gateway 情報を安全に渡します。

CLI を使用したステートレス RDP プロキシの設定

  • rdpServerプロファイルを追加します。サーバプロファイルはRDPListener Gatewayで設定されます。

    注:

    • RDPSServer プロファイルが VPN 仮想サーバーで設定されると、変更できません。また、同じ ServerProfile を別の VPN 仮想サーバーで再利用することはできません。
    • 以前VPN仮想サーバー上で構成されていた rdpIP と rdpPort は、rdpServerProfile の一部です。 rdp Profileの名前がrdp ClientProfileに変更され、パラメータ clientSSL が削除されます。したがって、以前の設定は機能しません。
     add rdpServer Profile [profilename] -rdpIP [IPV4 address of the RDP listener] -rdpPort [port for terminating RDP client connections] -psk [key to decrypt RDPTarget/RDPUser information, needed while using STA].
     <!--NeedCopy-->
    

    RDPSServer プロファイルは、次のコマンドを使用して VPN 仮想サーバー上に構成します。

     add vpn vserver v1 SSL [publicIP] [portforterminatingvpnconnections] -rdpServerProfile [rdpServer Profile]
     <!--NeedCopy-->
    

    重要:

    • ステートレス RDP プロキシの場合、STA サーバは RDP クライアントによって送信された STAチケットを検証してRDPTarget/RDPUser情報を取得します。VPN 仮想サーバーに加えて STA サーバーをバインドする必要があります。たとえば、
         add vpn url url4 RDP2 "rdp://1.1.1.0/1.1.1.2:443" ---> here RDP is 1.1.1.0 and 1.1.1.2 is the virtual server
     <!--NeedCopy-->
    

rdp profile コマンドの名前が rdpClient profile に変更され、新しいパラメータが追加されました。MultiMonitorSupport コマンドが追加されました。また、RDP クライアントプロファイルの一部としてサポートされていないカスタムパラメータを設定するオプションが追加されました。接続は常にセキュリティで保護されているため、clientSSL パラメータは削除されました。クライアントプロファイルは、Authenticator Gatewayで設定されます。

add rdpClient profile <name> -rdpHost <optional FQDN that will be put in the RDP file as ‘fulladdress’> [-rdpUrlOverride ( ENABLE | DISABLE )] [-redirectClipboard ( ENABLE | DISABLE )] [-redirectDrives ( ENABLE | DISABLE )]

        [-redirectPrinters ( ENABLE | DISABLE )] [-keyboardHook <keyboardHook>] [-audioCaptureMode ( ENABLE | DISABLE )] [-videoPlaybackMode ( ENABLE | DISABLE )]

        [-rdpCookieValidity <positive_integer>][-multiMonitorSupport ( ENABLE | DISABLE )] [-rdpCustomParams <string>]
<!--NeedCopy-->

—rdPhost 設定は、単一のゲートウェイデプロイメントで使用されます。

  • RDP プロファイルを VPN 仮想サーバに関連付けます。

RDP プロファイルを関連付けるには、SessionAction+SessionPolicy を設定するか、グローバル VPN パラメータを設定します。

例:

add vpn sessionaction <actname> -rdpClientprofile <rdpprofilename>

add vpn sessionpolicy <polname> NS_TRUE <actname>

bind vpn vserver <vservername> -policy <polname> -priority <prioritynumber>
<!--NeedCopy-->

または

set vpn parameter –rdpClientprofile <name>
<!--NeedCopy-->

GUI を使用してステートレス RDP プロキシを構成する

ステートレス RDP プロキシの設定には、次の高レベルの手順が含まれます。詳細な手順については、「 RDP プロキシの設定」を参照してください。

  • RDP サーバープロファイルを作成する
  • RDP クライアントプロファイルを作成する
  • 仮想サーバーの作成
  • ブックマークを作成する
  • セッションプロファイルまたはポリシーを作成または編集する
  • ブックマークをバインドする

重要:

ステートレス RDP プロキシの場合は、VPN 仮想サーバーに加えて STA サーバーをバインドする必要があります。

接続カウンタ

新しい接続カウンタ ns_rdp_tot_curr_active_conn が追加されました。これは、使用中のアクティブな接続数の記録を保持します。これは、Citrix ADCシェルのnsconmsgコマンドの一部として表示できます。これらのカウンタを表示する CLI コマンドは、後で追加される予定です。

アップグレードノート

以前VPN仮想サーバー上で構成されていた rdpIP と rdpPort は、rdpServerProfile の一部です。rdp Profileの名前がrdp ClientProfileに変更され、パラメータ clientSSL が削除されます。したがって、以前の設定は機能しません。

ステートレス RDP プロキシ