リモートデスクトッププロトコル(RDP)は、Microsoft社が開発した独自のプロトコルであり、ネットワーク接続を介して別のコンピュータに接続するためのグラフィカルインターフェイスをユーザーに提供します。 [ 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 ]をリッスンする。
Microsoft は現在、公式の RDP クライアント ソフトウェアをリモート デスクトップ接続(以前は「ターミナル サービス クライアント」) と呼んでいます。
このプロトコルは、 ITU-T T.128アプリケーション共有プロトコルの拡張版です。Microsoftは、一部の仕様を自社のウェブサイトで公開しています。[ 4 ]
この記事は、対応する本文をより質の高い要約にする必要があるかもしれません。 |
Windows XP以降のすべてのサーバーおよびプロフェッショナルバージョンのMicrosoft Windows [ 5 ]には、インストールされたリモートデスクトップ接続 (RDC) (「ターミナルサービス」) クライアント ( mstsc.exe ) が含まれます。そのバージョンは、オペレーティングシステムのバージョンまたは最後に適用されたWindows Service Packによって決まります。ターミナルサービスサーバーは、 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のHomeバージョンはRDPをサポートしていません。
Microsoftは、下位レベルのオペレーティングシステム向けに、新しい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は、当時Citrix MetaFrameと呼ばれていた独自のターミナルサービス製品をWindows NT 4.0上で引き続き提供できるように、CitrixにMultiWinテクノロジのライセンスを供与することを要求しました。Windows NT 4.0 Terminal Services Editionに含まれるCitrix提供のDLLは、Microsoftの著作権ではなくCitrixの著作権が依然として保持されています。Windowsのそれ以降のバージョンでは、必要なサポートが直接統合されました。 T.128アプリケーション共有技術は、英国のソフトウェア開発会社Data Connection Limitedからマイクロソフトに買収された。[ 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 ]このバージョンでは、クライアントの名前がターミナルサービスクライアントからリモートデスクトップ接続に変更されましたが、その名前は今日まで残っており、基盤となる実行ファイルはmstsc.exeのままです。
このバージョンはWindows Server 2003で導入され、コンソールモード接続、セッションディレクトリ、ローカルリソースマッピングのサポートが含まれています。また、サーバー認証とターミナルサーバー通信の暗号化のためにトランスポート層セキュリティ(TLS)1.0も導入されています。[ 8 ]このバージョンはWindows XP Professional x64 EditionおよびWindows Server 2003 x64 & x86 Editionsに組み込まれており、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リモートデスクトップ接続クライアントも提供されており、IntelおよびPowerPC Mac OSバージョン10.4.9以降をサポートしています。
このバージョンは 2008 年 2 月にリリースされ、最初にWindows Server 2008および Windows Vista Service Pack 1 に含まれ、その後 Windows XP Service Pack 3 にバックポートされました。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 ]またただし、リモート管理セッションを開始するには、接続しようとしているサーバーのAdministratorsグループのメンバーである必要があります。[ 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でも利用可能ですが、サーバーコンポーネントは利用できません。RDP 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 ] Microsoftは、この種の攻撃を軽減する方法を説明した82ページの文書を公開しています。[ 29 ]
RDPバージョン10.0はWindows 10で導入され、以下の新機能が含まれています:AutoSizeズーム(HiDPIクライアントに便利)。さらに、H.264/AVCを利用したグラフィック圧縮の改善も含まれています。[ 30 ]
Microsoft は、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 のバージョンに関係なく) を表示して、ユーザーを選択することができます。
2018年3月、マイクロソフトは、MicrosoftリモートデスクトップとWindowsリモート管理に関与するセキュリティサポートプロバイダーであるCredSSPのリモートコード実行の脆弱性であるCVE - 2018-0886に対するパッチをリリースしました。この脆弱性はPreemptによって発見されました。[ 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経由でアカウントにログインできることを発見しました。Microsoftによると、これはバグや脆弱性ではなく、設計上の問題です。[ 43 ]
リモート デスクトップ接続のリリース以降、Microsoft とその他の関係者によって、Microsoft リモート デスクトップ、rdesktop、FreeRDPなど、いくつかの追加のリモート デスクトップ プロトコル クライアントが作成されています。
Microsoftが開発したリモートデスクトップサービスに加え、Unix上のオープンソースRDPサーバーには、FreeRDP(上記参照)、ogonプロジェクト、xrdpなどがあります。Windowsリモートデスクトップ接続クライアントを使用して、これらのサーバーに接続できます。また、RDPを利用するAzure Virtual Desktopもあり、これはMicrosoft Azureプラットフォームの一部です。
OracleによるVirtualBox仮想マシン実装では、VirtualBox リモート ディスプレイ プロトコル (VRDP) も使用されています。[ 44 ]このプロトコルは、Windows に提供されているものなどのすべての RDP クライアントと互換性がありますが、オリジナルの RDP とは異なり、暗号化されていない接続やパスワードで保護されていない接続を受け入れるように設定できます。これは、自宅や会社のLANなど、安全で信頼できるネットワークで役立ちます。デフォルトでは、Microsoft の RDP サーバーは、パスワードが設定されていないユーザー アカウントへの接続を拒否します (ただし、グループ ポリシーエディター[ 45 ]で変更できます)。外部認証およびゲスト認証オプションも VRDP によって提供されています。VRDP は、ゲスト システムではなく仮想マシン (ホスト) レベルで実装されているため、ゲストとしてどのオペレーティング システムがインストールされているかは関係ありません。専用のVirtualBox 拡張パックが必要です。
マイクロソフトは、サードパーティの実装に、関連するRDP特許のライセンスを取得することを要求しています。[ 46 ] 2014年2月現在、オープンソースクライアントがこの要件をどの程度満たしているかは不明です。
セキュリティ研究者は2016年から2017年にかけて、サイバー犯罪者が地下フォーラムや専門の違法RDPショップで侵害されたRDPサーバーを販売していると報告しました。[ 47 ] [ 48 ]これらの侵害されたRDPは、他の種類の詐欺を実行したり、機密の個人または企業のデータにアクセスするための「足場」として使用される可能性があります。[ 49 ]研究者はさらに、サイバー犯罪者がRDPを使用してコンピューターに直接マルウェアを投下する事例も報告しています。[ 50 ]