リモートデスクトッププロトコル(RDP)は、Microsoft Corporationが開発した独自のプロトコルで、ネットワーク接続を介して別のコンピュータに接続するためのグラフィカルインターフェイスをユーザーに提供します。 [ 1 ]ユーザーはこの目的のためにRDPクライアントソフトウェアを使用し、接続先のコンピュータはRDPサーバーソフトウェアを実行する必要があります。
Microsoft Windowsのほとんどのバージョン( Windows Mobileも含まれますが、サポートは終了しています)、Linux ( FreeRDP、Krdc、Remmina、Vinagre、rdesktopなど)、Unix、macOS、iOS、Android、その他のオペレーティングシステム用のクライアントがいくつか存在します。RDP サーバーは、Windows オペレーティングシステムのサーバー版とプロフェッショナル版に組み込まれていますが、ホーム版には組み込まれていません。Unix および OS X 用の RDP サーバーも存在します ( xrdpなど)。デフォルトでは、サーバーはTCPポート3389 [ 2 ]とUDPポート 3389 [ 3 ]でリッスンします。
マイクロソフトは現在、公式のRDPクライアントソフトウェアを「リモートデスクトップ接続」と呼んでおり、以前は「ターミナルサービスクライアント」と呼ばれていました。
このプロトコルは、 ITU-T T.128アプリケーション共有プロトコルの拡張版です。マイクロソフトは、自社のウェブサイトでいくつかの仕様を公開しています。[ 4 ]
Windows XP 以降の Microsoft Windows のすべてのサーバーおよびプロフェッショナル版[ 5 ]には、リモート デスクトップ接続 (RDC) (「ターミナル サービス」) クライアント ( mstsc.exe ) がインストールされており、そのバージョンはオペレーティングシステムまたは最後に適用されたWindows サービス パックによって決まります。ターミナル サービス サーバーは、 1998 年にリリースされたWindows NT 4.0 Terminal Server Edition、Windows 2000 Server 、Windows XP Home Edition を除くすべてのWindows XPエディション、 Windows Server 2003、Windows Home Server、Windows Fundamentals for Legacy PCs、Windows Vista Ultimate、Enterprise、Business エディション、Windows Server 2008、Windows Server 2008 R2、および Windows 7 Professional 以降で公式機能としてサポートされています。Windows のホーム バージョンでは RDP はサポートされていません。
マイクロソフトは、下位バージョンのオペレーティングシステムから新しいRDPバージョンに接続するために必要なクライアントを提供しています。サーバーの改善点は下位バージョンでは利用できないため、新しいRDPバージョンで導入された機能は、下位バージョンのオペレーティングシステムから上位バージョンのRDPサーバーに接続する場合にのみ機能し、下位バージョンのオペレーティングシステム内のRDPサーバーを使用する場合には機能しません。
T.120勧告シリーズのITU-T T.128 アプリケーション共有プロトコル (草案段階では「T.share」とも呼ばれた)に基づいて、RDP の最初のバージョン (バージョン 4.0 と命名) が、Microsoft の製品Windows NT 4.0 Server, Terminal Server Editionの一部として「Terminal Services」とともに導入されました。 [ 1 ] NT 4.0 の Terminal Services Edition は、複数のユーザーとログイン セッションを同時にサポートするために、以前は Windows NT 3.51 上のCitrix WinFrameの一部として提供されていたCitrixの MultiWin テクノロジーに依存していました。Microsoft は、Windows NT 4.0 上で Citrix MetaFrame という名称の独自のターミナル サービス製品を提供し続けるために、Citrix に MultiWin テクノロジーのライセンスを供与するよう要求しました。Windows NT 4.0 Terminal Services Edition に含まれる Citrix 提供の DLL には、Microsoft の著作権ではなく Citrix の著作権がまだ付いています。後のバージョンの Windows では、必要なサポートが直接統合されました。 T.128アプリケーション共有技術は、英国のソフトウェア開発会社であるData Connection LimitedからMicrosoftが買収したものである。[ 6 ]
このバージョンはWindows 2000 Serverで導入され、ローカルプリンタへの印刷など、多くの機能のサポートが追加され、ネットワーク帯域幅の使用効率の向上を目指しました。Windows 2000 ターミナルサーバ ディスク作成ツールで利用できる RDP クライアントは、Trumpet WinSock などのサードパーティ製 TCP/IP ライブラリを使用することで、16 ビット版 Windows 3.1 でも動作することが確認されています。
このバージョンはWindows XP Professionalで導入され、24 ビットカラーとサウンドのサポートが含まれていました。Windows 2000、Windows 9x、およびWindows NT 4.0でサポートされています。[ 7 ]このバージョンでは、クライアントの名前がTerminal Services ClientからRemote Desktop Connectionに変更されました。ただし、基盤となる実行ファイルはmstsc.exeという名前のままなので、その名残は今日まで残っています。
このバージョンはWindows Server 2003で導入され、コンソール モード接続、セッション ディレクトリ、ローカル リソース マッピングのサポートが含まれています。また、サーバー認証とターミナル サーバー通信の暗号化のために Transport Layer Security (TLS) 1.0 も導入されています。[ 8 ]このバージョンはWindows XP Professional x64 Editionおよび Windows Server 2003 x64 & x86 Editionに組み込まれており、Windows XP 用としてダウンロードすることもできます。
このバージョンはWindows Vistaで導入され、Windows Presentation Foundationアプリケーション、ネットワーク レベル認証、マルチ モニター スパンニング、大規模デスクトップ サポート、TLS 1.0接続のサポートが組み込まれました。[ 9 ] RDP 6.0 クライアントは、KB925876 を介して Windows XP SP2、Windows Server 2003 SP1/SP2 (x86 および x64 エディション)、Windows XP Professional x64 Edition で使用できます。Macintosh OS X 用の Microsoft Remote Desktop Connection Client も、Intel および PowerPC Mac OS バージョン 10.4.9 以降をサポートして使用できます。
このバージョンは 2008 年 2 月にリリースされ、最初にWindows Server 2008および Service Pack 1 が適用された Windows Vista に含まれ、後に Service Pack 3 が適用された Windows XP にバックポートされました。RDP 6.1 クライアントは、KB952155 を介して、Windows XP SP2、Windows Server 2003 SP1/SP2 (x86 および x64 エディション)、および Windows XP Professional x64 Edition で使用できます。[ 10 ]リモート管理者が「コンソール」に接続する方法に関連する変更に加えて、[ 11 ]このバージョンには、個々のプログラムにリモートで接続したり、サーバーにプリンター ドライバーをインストールしなくてもサーバー上で実行されているアプリケーションでクライアントの印刷機能を利用できるようにする新しいクライアント側プリンター リダイレクト システムなど、Windows Server 2008 で導入された新機能があります。[ 12 ] [ 13 ]また、リモート管理者は、クライアント側で任意のソフトウェアや設定を自由にインストール、追加、削除できます。しかし、リモート管理セッションを開始するには、接続しようとしているサーバーの管理者グループのメンバーである必要があります。[ 14 ]
このバージョンは 2009 年 7 月に製造用にリリースされ、Windows Server 2008 R2 およびWindows 7に含まれています。[ 15 ]このリリースでは、ターミナル サービスからリモート デスクトップ サービスに変更されました。このバージョンには、Windows Media Player のリダイレクト、双方向オーディオ、マルチ モニター サポート、Aero グラス サポート、強化されたビットマップ アクセラレーション、Easy Print のリダイレクト、[ 16 ]言語バーのドッキングなどの新機能があります。RDP 7.0 クライアントは、KB969084 を介して Windows XP SP3 および Windows Vista SP1/SP2 で使用できますが、[ 17 ] Windows Server 2003 x86 および Windows Server 2003 / Windows XP Professional x64 エディションでは公式にはサポートされていません。また、Windows Server 2008 でも公式にはサポートされていません。
Aero Glass リモート使用、双方向オーディオ、Windows Media Player リダイレクト、マルチモニターサポート、リモートデスクトップ イージープリントなどの RDP 7.0 機能のほとんどは、Windows 7 Enterprise または Ultimate エディションでのみ利用可能です。[ 18 ] [ 19 ]
RDP 7.1 は、2010 年に Windows 7 Service Pack 1 および Windows Server 2008 R2 SP1 に同梱されました。このバージョンでは、仮想化 GPU のサポートとホスト側エンコーディングを提供するRemoteFXが導入されました。
このバージョンはWindows 8およびWindows Server 2012でリリースされました。このバージョンには、アダプティブグラフィックス (プログレッシブレンダリングおよび関連技術)、トランスポートプロトコルとしての TCP または UDP の自動選択、マルチタッチサポート、vGPU の DirectX 11 サポート、 vGPU サポートとは独立したUSB リダイレクトのサポートなどの新機能があります。 [ 20 ] [ 21 ] RDP 8.0 接続の場合、RDP クライアントの接続バーに「接続品質」ボタンが表示されます。これをクリックすると、UDP が使用されているかどうかなど、接続に関する詳細情報が表示されます。[ 22 ]
RDP 8.0 クライアントおよびサーバー コンポーネントは、KB2592687 を通じて Windows 7 SP1 および Windows Server 2008 R2 SP1 で利用できます。RDP 8.0 クライアントは Windows Server 2008 R2 SP1 でも利用できますが、サーバー コンポーネントは利用できません。RDC 8.0 クライアントは、TLS 1.2 標準を使用したセッション暗号化をサポートしています。[ 23 ]アドオンには、前提条件としてDTLSプロトコルがインストールされている必要があります。[ 22 ]更新プログラムをインストールした後、Windows 7 マシン間で RDP 8.0 プロトコルを有効にするには、グループ ポリシーエディターを使用して追加の構成手順が必要です。[ 24 ]
RDP 8.0 の新機能として、RDP セッションのネストに対する限定的なサポートがあります。ただし、これは Windows 8 と Server 2012 でのみ動作し、Windows 7 と Server 2008 R2 (RDP 8.0 アップデート後でも) ではこの機能はサポートされていません。[ 25 ]
RDP 7 にあった、管理者が RDP 接続を監視 (スヌープ) できる「シャドウ」機能は、RDP 8 で削除されました。Aero Glass リモート機能 (Windows 7 マシン同士の接続に適用) も RDP 8 で削除されました。[ 21 ] [ 22 ]
このバージョンは、Windows 8.1およびWindows Server 2012 R2でリリースされました。RDP 8.1 クライアントは、RDP 8.0 クライアントと同様に、KB2923545 を介して Windows 7 SP1 および Windows Server 2008 R2 SP1 で使用できますが、Windows 7 用の RDP 8.0 更新プログラムとは異なり、Windows 7 に RDP 8.1 サーバー コンポーネントを追加しません。さらに、Windows 7 で RDP 8.0 サーバー機能が必要な場合は、RDP 8.1 更新プログラムをインストールする前に、KB 2592687 (RDP 8.0 クライアントおよびサーバー コンポーネント) 更新プログラムをインストールする必要があります。[ 26 ] [ 27 ]
RDP バージョン 8.1 でセッション シャドウイングのサポートが再び追加されました。このバージョンでは、RemoteAppとして実行されているMicrosoft Office 2013のいくつかの視覚的な不具合も修正されています。[ 26 ]
RDP のバージョン 8.1 では、「制限付き管理者」モードも有効になっています。このモードにログインするには、平文のパスワードではなくハッシュ化されたパスワードを知っているだけでよいため、パス ザ ハッシュ攻撃が可能になります。[ 28 ]マイクロソフトは、この種の攻撃を軽減する方法を説明する 82 ページのドキュメントを公開しています。[ 29 ]
RDP のバージョン 10.0 はWindows 10で導入され、次の新機能が含まれています: AutoSize ズーム (HiDPI クライアントに便利)。さらに、H.264/AVC を利用したグラフィック圧縮の改善も含まれています。[ 30 ]
マイクロソフトは、2006年にRDP 6.0をリリースした際に、以下の機能を導入しました。
2010年にリリースされたRDPバージョン7.1では、以下の機能が導入されました。
RDPの最新バージョンは、 RDPトラフィックを保護するためにトランスポート層セキュリティ(TLS)バージョン1.1、1.2、および1.3をサポートしています。[ 32 ]
デフォルト設定の RDP バージョン 5.2 は中間者攻撃に対して脆弱です。管理者はトランスポート層暗号化を有効にすることでこのリスクを軽減できます。[ 33 ] [ 34 ]
RDPセッションは、メモリ内の認証情報収集に対しても脆弱であり、これを利用してパスザハッシュ攻撃を仕掛けることができる。[ 35 ]
2012年3月、マイクロソフトはRDPの重大なセキュリティ脆弱性に対するアップデートをリリースしました。この脆弱性により、認証されていないクライアントやコンピュータワームによってWindowsコンピュータが侵害される可能性がありました。[ 36 ]
RDPクライアントバージョン6.1を使用すると、RDP接続時にユーザー名が指定されていない場合でも、RDPサーバー上のすべてのユーザー(Windowsのバージョンに関係なく)の名前と画像を表示して、その中から1人を選択できます。
2018 年 3 月、マイクロソフトは、Preempt によって発見された、Microsoft Remote Desktop および Windows Remote Management に関係するセキュリティ サポート プロバイダーである CredSSP のリモート コード実行の脆弱性であるCVE - 2018-0886のパッチをリリースしました。 [ 37 ] [ 38 ]
2019 年 5 月、マイクロソフトは、リモート コード実行の可能性を許容する脆弱性であるCVE - 2019-0708 (" BlueKeep ") に対するセキュリティ パッチをリリースしました。マイクロソフトは、この脆弱性が「ワーム化可能」であり、広範囲にわたる混乱を引き起こす可能性があると警告していました。異例なことに、 Windows XPなど、サポートが終了した Windows のいくつかのバージョンに対してもパッチが提供されました。直ちに悪意のある悪用は発生しませんでしたが、専門家は、脆弱性が露呈したままパッチが適用されていないシステムの数から、悪用される可能性が高く、広範囲にわたる被害を引き起こす可能性があると満場一致で述べていました。[ 39 ] [ 40 ] [ 41 ]
2019年7月、マイクロソフトはHyper-Vに影響を与えるRDPの脆弱性であるCVE - 2019-0887に対するセキュリティパッチをリリースしました 。[ 42 ]
2025年4月、セキュリティ研究者が、既に失効したパスワードを使用してRDP経由でアカウントにログインできることを発見した。マイクロソフトによると、これは設計上の仕様であり、バグや脆弱性ではないとのことである。[ 43 ]
Remote Desktop Connectionのリリース以降、Microsoftおよび他の企業によって、 Microsoft Remote Desktop、rdesktop、FreeRDPなど、いくつかの追加のRemote Desktop Protocolクライアントが作成されました。
Microsoftが開発したリモートデスクトップサービスに加え、Unix上で動作するオープンソースのRDPサーバーとしては、FreeRDP(上記参照)、ogonプロジェクト、xrdpなどがあります。Windowsリモートデスクトップ接続クライアントを使用して、これらのサーバーに接続できます。また、Microsoft Azureプラットフォームの一部であるAzure Virtual DesktopもRDPを利用しています。
OracleによるVirtualBox仮想マシンの実装では、VirtualBox リモート ディスプレイ プロトコル (VRDP) も使用されています。[ 44 ]このプロトコルは、Windows に付属するものなど、すべての RDP クライアントと互換性がありますが、オリジナルの RDP とは異なり、暗号化されていない接続やパスワードで保護されていない接続を受け入れるように構成できます。これは、自宅やオフィスのLANなどの安全で信頼できるネットワークで役立つ場合があります。デフォルトでは、Microsoft の RDP サーバーは、パスワードが空のユーザー アカウントからの接続を拒否します (ただし、これはグループ ポリシーエディター[ 45 ]を使用して変更できます)。VRDP では、外部およびゲストの認証オプションも提供されています。VRDP はゲスト システムではなく仮想マシン (ホスト) レベルで実装されるため、ゲストとしてインストールされているオペレーティングシステムは関係ありません。独自のVirtualBox Extension Pack が必要です。
マイクロソフトは、サードパーティの実装に対し、関連するRDP特許のライセンス取得を義務付けている。[ 46 ] 2014年2月現在しかし、オープンソースのクライアントがこの要件をどの程度満たしているかは不明である。
セキュリティ研究者らは2016年から2017年にかけて、サイバー犯罪者がアンダーグラウンドフォーラムや専門の違法RDPショップで侵害されたRDPサーバーを販売していると報告した。[ 47 ] [ 48 ]これらの侵害されたRDPは、他の種類の詐欺を実行したり、機密性の高い個人データや企業データにアクセスしたりするための「拠点」として使用される可能性がある。[ 49 ]さらに研究者らは、サイバー犯罪者がRDPを使用してコンピュータに直接マルウェアをドロップする事例も報告している。[ 50 ]