web-dev-qa-db-ja.com

信頼できない証明書が原因でrdesktopが異常終了する

rdesktop v1.9.0を持っています。リモートのWin10ホストに接続しようとしています。 rdesktopは次のエラーで中止されます:

rdesktop -v -x -z -E -d domain -u user user.domain.com
Autoselecting keyboard map 'en-us' from locale
is_wm_active(): WM name: awes
Connecting to server using NLA...
Core(warning): Certificate received from server is NOT trusted by this system, an exception has been added by the user to trust this specific certificate.
TLS  Session info: (TLS1.2)-(ECDHE-X25519)-(RSA-SHA256)-(AES-256-GCM)

Failed to initialize NLA, do you have correct Kerberos TGT initialized ?
Failed to connect using NLA, trying with SSL
Failed to connect, CredSSP required by server (check if server has disabled old TLS versions, if yes use -V option).

接続は、暗号化されたVPNトンネルの内側に入ります。リモートホストが確実に利用可能であり、リモート証明書が信頼されていると確信しています(ただし、有効期限が切れている可能性があります)。

ウィンドウのリモートデスクトップアプリケーションを使用して、まったく同じマシンに接続できます(同じ警告が表示されますが、証明書の問題を無視して接続を続行するオプションが表示されます)。

私は読む man rdesktop数回、暗号化と証明書に関連するさまざまなオプションを試しました(例:-E)、何も役に立たないようです。どちらもインターネット検索には役立ちません。

rdesktopにリモート証明書を信頼させ、リモートホストへの接続を継続させるにはどうすればよいですか?

1
rush

いいえ、rdesktopは、証明書に何もしないがある理由で中止されます。 (他のクライアントと同様に、個々の証明書を記憶して「信頼」します。出力には、例外がすでに追加されていることが示されます。)

ここでの問題は、rdesktopが不完全なNLA(CredSSP)サポートを備えていることです。これは、パスワードベースのログインに必要なNTLM認証メカニズムをサポートしていないため、Windows MSTSCのように接続する前に資格情報を要求できません。 (そして、そのKerberosサポートも少しバグがあります。)

つまり、rdesktopは古いXP/2003ログインプロセスでのみ機能し、最初に接続を確立し、その後サーバーのログイン画面が表示されます。 FreeRDPは、最新のホストに接続するためのより適切なクライアントです(Windows 7/8/10):

xfreerdp /bpp:32 /gfx +aero +fonts /d:domain /u:user /v:user.domain.com [/cert-...]

FreeRDPを使用すると、オプション/cert-tofuを追加して「MSTSCのように「最初の接続で信頼する」証明書チェックを実装できます。また、/cert-ignoreを使用して証明書チェックを完全に無効にすることもできます。

必須 rdesktopを使用する場合、Windows 10ホストでのNLA(「ネットワークレベル認証」)要件を無効にする必要があります–攻撃対象領域が非常に高いため、一般的には推奨されません。

2
user1686