web-dev-qa-db-ja.com

RDP:リモートデスクトップゲートウェイサーバー経由で接続する場合、リモートアプリはトラフィックをカプセル化しません

サードパーティ企業からクライアントの1つに公開されたリモートデスクトップアプリがあります。リモートデスクトップアプリは、リモートデスクトップゲートウェイサーバー(RDGW)に接続します。RDGWは、要求をリモートデスクトップサーバーファームに転送します。RDGWでは、使用頻度の最も低いサーバーが要求に応答してアプリを開きます。これは、ほとんどのシナリオで完全に正常に機能します。

今日、ユーザーを認証してRDSファームの証明書を受け入れた直後に、RemoteAppがユーザーに資格情報(ドメイン\ユーザー名とパスワード)を要求する状況(アプリが新しい顧客向けに公開されたとしましょう)に遭遇しました。 mstsc.exeは動作を停止し、キャンセルまたは閉じるボタンにまったく応答しなくなり、タスクマネージャーを介して終了する必要があります。

この問題のトラブルシューティング中に、RemoteAppがRemoteDesktopGatewayサーバーに接続する方法の違いを発見しました。私のすべての肯定的なテストシナリオでは、トラフィックは次のようにMSTSCとリモートデスクトップサーバーゲートウェイの間でHTTPSに完全にカプセル化されました。 Sucessfull Remote App connection in MS Netmon

失敗したmstscの1つでまったく同じ手順のトラフィックをログに記録すると、次のようになります。 Failing Remote App connection in MS Netmon

最初の会話(NetMonで呼び出される)は、RemoteDesktop Gatewayサーバー(HTTPS、ポート443)へのHTTPS接続であり、、その後に個別のRDP接続が続きます。 、プライベートIPアドレスを介してRDサーバー自体に接続しようとします(プライバシーとセキュリティ上の理由から、図では空白にしています)。 RDサーバーが同じ場所/サブネットにないため、2番目の接続は最終的に失敗します。そのため、mstscのプライベートアドレスに到達できません。

最初は、クライアントファイアウォールがHTTPSトラフィックを検査し、証明書を置き換えて、RDGWサーバーへのHTTPS接続が正常に切断される可能性があるためだと思いました。ファイアウォールのすべてのWebフィルタ機能を無効にした後も、問題は解決しません。また、OpenVPNトンネルを介してトラフィックをルーティングして、ファイアウォールを完全にバイパスするようにしましたが、残念ながら成功しませんでした。

成功した接続のように、mstscがHTTPSトラフィックにrdp接続をカプセル化しないように強制するにはどうすればよいですか?これはある種のフォールバック戦略ですか、それとも単なるバグですか?また、リモートアプリには貴重なログファイルがなく、RDSサーバーとRDGWサーバーが制御できないため、リモートアプリの高度なトラブルシューティングとして何を使用できますか?

EDIT(匿名の設定ファイルを追加):

redirectclipboard:i:1
redirectprinters:i:1
redirectcomports:i:0
redirectsmartcards:i:1
devicestoredirect:s:*
drivestoredirect:s:*
redirectdrives:i:1
session bpp:i:32
Prompt for credentials on client:i:1
span monitors:i:1
use multimon:i:1
remoteapplicationmode:i:1
server port:i:3389
allow font smoothing:i:1
promptcredentialonce:i:0
videoplaybackmode:i:1
audiocapturemode:i:1
gatewayusagemethod:i:2
gatewayprofileusagemethod:i:1
gatewaycredentialssource:i:0
full address:s:INTERNAL-FQDN-SERVER-HOSTNAME.CUSTOMER.NET <!! EDITED FOR ANONYMIZE REASON
alternate Shell:s:||name_of_remote_app_on_wts <!! EDITED FOR ANONYMIZE REASON
remoteapplicationprogram:s:||name_of_remote_app_on_wts <!! EDITED FOR ANONYMIZE REASON
remoteapplicationname:s:name_of_remote_app_on_wts <!! EDITED FOR ANONYMIZE REASON
remoteapplicationcmdline:s:
workspace id:s:INTERNAL-FQDN-SERVER-HOSTNAME.CUSTOMER.NET <!! EDITED FOR ANONYMIZE REASON
use redirection server name:i:1
loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.RemoteApp-EXT
alternate full address:s:INTERNAL-FQDN-SERVER-HOSTNAME.CUSTOMER.NET <!! EDITED FOR ANONYMIZE REASON
authentication level:i:2
Prompt for credentials:i:0
negotiate security layer:i:1
gatewayhostname:s:external.gateway.ourcustomer.com <!! EDITED FOR ANONYMIZE REASON
signscope:s:Full Address,Alternate Full Address,Use Redirection Server Name,Server Port,GatewayUsageMethod,GatewayProfileUsageMethod,GatewayCredentialsSource,PromptCredentialOnce,Alternate Shell,RemoteApplicationProgram,RemoteApplicationMode,RemoteApplicationName,RemoteApplicationCmdLine,RedirectDrives,RedirectPrinters,RedirectCOMPorts,RedirectSmartCards,RedirectClipboard,DevicesToRedirect,DrivesToRedirect,LoadBalanceInfo
screen mode id:i:2
winposstr:s:0,3,0,0,800,600
compression:i:1
keyboardhook:i:2
connection type:i:7
networkautodetect:i:1
bandwidthautodetect:i:1
displayconnectionbar:i:1
enableworkspacereconnect:i:0
disable wallpaper:i:0
allow desktop composition:i:0
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
audiomode:i:0
redirectposdevices:i:0
autoreconnection enabled:i:1
remoteapplicationicon:s:
Shell working directory:s:
gatewaybrokeringtype:i:0
rdgiskdcproxy:i:0
kdcproxyname:s:
4
HannesS

設定:

gatewayusagemethod:i:2 

このサービスには適していない可能性があります。

これは、「ローカルアドレスのRDゲートウェイサーバーをバイパスする」設定に対応します。

サードパーティ企業は、その設定を有効にしてRDPファイルを配信しないでください。

4
Greg Askew