web-dev-qa-db-ja.com

RemoteApp .rdpはクレデンシャルを埋め込みますか?

リモートデスクトップサービスを実行しているWindows 2008 R2サーバー(昔はターミナルサービスと呼んでいたもの)。このサーバーは、ホストされているアプリケーションへのエントリポイントです。つまり、私は、サービスとしてのソフトウェアと呼ぶことができます。サードパーティのクライアントが接続して使用しています。

RemoteAppマネージャーを使用してRemoteApp .rdpショートカットを作成し、クライアントワークステーションに配布します。これらのワークステーションは、RDSサーバーと同じドメインにはありません。ドメイン間に信頼関係はありません(存在しないでしょう)。ワークステーションとRDSサーバー間にはサイト間VPNが厳しく管理されており、サーバーへのアクセスがロックダウンされていると確信しています。

実行中のremoteAppは、独自の認証スキームを使用したERPアプリケーションです。

問題? RemoteAppサーバーに接続するときに、すべてのエンドユーザーに対してADログインを作成する必要がないようにしています。実際、remoteAppを実行していて、認証がthat appである必要があるため、ADクレデンシャルを要求しないようにしています。 ERPログインにアクセスするためにのみ使用するアカウントのADパスワード(および定期的な有効期限)の管理に巻き込まれたくないのは確かです。

ただし、RemoteAppの.rdpファイルにAD資格情報を埋め込む方法がわかりません。そのレベルでRDSサーバーのすべての認証をオフにしたくありません。

良いオプションはありますか?私の目標は、これをエンドユーザーにとって可能な限りシームレスにすることです。

明確化する質問は大歓迎です。

11
Chris_K

.rdpファイルにパスワードを埋め込むことは可能ですが、パスワードはローカルユーザーアカウントのSIDで暗号化されているため、.rdpファイルはユーザー間またはコンピューター間で交換できません。この動作は仕様によるものです。Microsoftは、侵入者が誰かのデスクトップから.rdpファイルを盗むだけでターミナルサーバーのキーを取得できるようにしたくありませんでした。

幸い、十分に文書化された回避策があります。基本的に、mstsc.exeを直接呼び出すのではなく、ユーザーが実行するバッチファイルまたはスクリプトを使用して、「オンザフライ」で.rdpファイルを作成する必要があります。スクリプトは適切な.rdpファイルを作成し、その際、mstsc.exeが現在のユーザーのコンテキストでパスワードを受け入れるようにパスワードを暗号化します。

リソース:

上記の各記事には、RDPパスワードやソースコードを暗号化するために使用できるツールへのリンクが含まれています。可能であれば、ソースコードから作業することをお勧めします。 (いつものように、あなた自身のリスクでインターネットの見知らぬ人がコンパイルしたバイナリを使用してください。)

10
Skyhawk
1
mbrownnyc