リモートデスクトッププロトコルとは?

リモートデスクトッププロトコル(RDP)は、ユーザーが安全な方法でコンピュータにリモート接続できるようにするネットワーク通信プロトコルです。IT 管理者や DevOps 担当者がリモートでシステムのメンテナンスや修理を行うことができるほか、RDP を使用することで、技術者ではないエンドユーザーもワークステーションにリモートでアクセスすることが可能になります。

RDPとはもともとMicrosoftが開発したもので、ほとんどのWindowsマシンにプレインストールされています。さらに、オープンソース版を含む RDPクライアントが、Mac OS、Apple iOS、Android、Linux/Unixシステム向けに提供されています。例えば、Java リモートデスクトッププロトコルは Windowsターミナル サーバー用のオープンソースの Java RDPクライアントであり、Apple Remote Desktop(ARD)は Mac 用の独占的なソリューションです。

リモートデスクトッププロトコルはどのように動作する?

RDP とクラウドコンピューティングはどちらの技術もリモートワークを可能にするため混同されることがありますが、実際には、RDP とクラウドの類似点は、リモートアクセスにとどまります。

クラウド環境では、ユーザーはデスクトップコンピュータのハードディスクではなく、クラウドサーバーに保存されたファイルやアプリにアクセスします。これに対して、RDPはユーザーとデスクトップコンピュータを直接接続し、あたかもそのマシンの前に物理的に座っているかのようにファイルにアクセスしたり、アプリを実行したりすることを可能にします。この観点から、RDPを使用してリモートコンピュータに接続し、作業を行うことは、リモコンを使用してドローンを操縦することに似ていますが、RDPは無線周波数を使用するのではなく、インターネット上でデータを送信します。

RDP接続は、ユーザーが接続元のマシンにクライアントソフトウェアを、接続先のマシンにサーバーソフトウェアをインストールする必要があります。リモートマシンに接続すると、リモートユーザーはローカルで作業しているときと同じように、デスクトップのグラフィカルユーザーインターフェイス(GUI)を見て、ファイルやアプリにアクセスすることができます。

RDP クライアントとサーバーソフトウェアは、ネットワークポート 3389 を通じて通信し、TCP/IP トランスポートプロトコルを使用してマウスの動きやキーストローク、その他のデータを転送します。RDP は、送信中のすべてのデータを暗号化し、脅威者による傍受を防止します。GUI により、クライアントとサーバーの通信は高度に非対称的です。クライアントはデータ量の比較的少ないマウスとキーボードの入力のみを送信し、サーバーはデータ量の多い GUI を送信する必要があります。

RDP は何に使われる?

クラウドベースの世界でも、RDP は多くのユースケースにうまく適合しています。ここでは、最も人気なものをいくつか紹介します:

  • RDP はユーザーを特定のマシンに直接接続できるため、管理者、ヘルプデスク、テクニカルサポート担当者によるデスクトップコンピューターやサーバーのセットアップ、メンテナンス、トラブルシューティング、修理に広く使用されています。
  • RDP は、サーバーに接続する際に既製の GUI を提供するため、管理者はコマンドラインインターフェース(CLI)の代わりに GUI を使用して作業を行うことを選択できます。
  • RDP により、ユーザーはモバイルデバイスやローエンドコンピューターを使用して、はるかに高いコンピューティングパワーを持つリモートマシンにアクセスすることができます。
  • 営業やマーケティング担当者は、通常オンプレミスでしかアクセスできないプロセスやソフトウェアアプリケーションのデモに RDP を使用することができます。
  • RDP とクラウドコンピューティングは併用することができます。Microsoft Entra ID (Azure) の顧客は、Entra ID クラウドインスタンス上の仮想マシンにアクセスするために RDP を使用します。また、リモートワーカーが仮想デスクトップインターフェース(VDI)を通じてクラウド環境にアクセスできるように、RDP を使用している組織もあります。これは非技術的なユーザーにとってよりシンプルなものとなり得ます。

RDP の利点と欠点は?

RDP は、オンプレミスのサーバやコンピュータに直接接続するため、ハイブリッドクラウド環境を含むレガシーのオンプレミスインフラを持つ組織でリモートワークを可能にします。また、法的、コンプライアンス上の理由から、リモートユーザーがオンプレミスに置いておかなければならないデータにアクセスする場合にも、RDP は最適な選択肢となります。IT およびセキュリティ管理者は、一度に数人のユーザー(1 人でも可)だけに、特定のマシンへのRDP接続を制限することができます。

しかし、RDP接続 には様々な利点がある反面、以下のような欠点もあります:

  • ユーザーのキーボードとマウスの操作を暗号化してインターネット経由でリモートマシンに送信する必要があるため、とりわけクライアント側のコンピューターのインターネット接続が低速の場合、RDP接続は待ち時間の問題に悩まされます。
  • RDP は、クライアントとサーバーの両方のマシンでソフトウェアを使用する必要があります。このソフトウェアは、ほとんどのバージョンの Windows にプリインストールされていますが、それでも設定と保守が必要となります。RDP が適切に設定されず、ソフトウェアのアップデートが迅速に適用されない場合、重大なセキュリティ問題が発生する可能性があります。
  • RDP には数多くのセキュリティ上の脆弱性が存在するため、それを以下のセクションで説明します。

RDP のセキュリティ脆弱性

RDP のセキュリティにおける 2 大脆弱性は、ログインクレデンシャルの脆弱性とポート 3389 がインターネットに公開されることです。

従業員は、脆弱なパスワードの使用、安全ではないパスワードの保管、複数のアカウントでのパスワードの使い回しなどを自分たちの判断に任せて行っています。これには、RDP接続用のパスワードも含まれます。漏洩した RDP クレデンシャルは、ランサムウェア攻撃の主要なベクトルとなっています。この問題は非常に広く浸透しており、ソーシャルメディアの人気ミームでは、RDP の本当の意味は「ransomware deployment protocol(ランサムウェア展開プロトコル)」の略であるとジョークにされているほどです。

RDP 接続は、デフォルトでネットワークポート 3389 を使用するため、脅威者はこのポートを標的として、中間者攻撃とも呼ばれるオンパス攻撃を行います。オンパス攻撃では、クライアントとサーバーの間に脅威者が入り込み、往復の通信を傍受、読み取り、変更することができます。

RDP を安全に行う方法

まず、組織で本当に RDP接続の必要があるのか、それともプラットフォームに依存しないグラフィカルなデスクトップ共有システムである VNC(仮想ネットワークコンピューティング)など、RDP の代替手段を使用した方が良いのかを判断します。RDP が最善の選択肢である場合、絶対に必要とするユーザーだけにアクセスを制限し、ポート 3389 へのアクセスをロックダウンします。ポート 3389 を保護するためのオプションには、以下のものがありま:

  • ファイアウォールのルールを設定し、許可リストに記載された IP のみがポート 3389 にアクセスできるようにします。
  • ユーザーが RDP にログインする前に、仮想プライベートネットワーク(VPN)に接続することを要求します。
  • VPN の代替手段として、Keeper Connection Manager などのリモートデスクトップゲートウェイを経由して RDP に接続するようユーザーにリクエストします。リモートデスクトップゲートウェイは、VPN よりも使いやすく遅延が少ないことに加えて、セッションの記録機能を備えており、管理者は多要素認証(MFA)の使用を義務付けることができます。

以下のような包括的なパスワードセキュリティは、ポートベース攻撃に対する保護と同様に重要となります:

  • RDP だけでなく、すべてのアカウントで強力な独自のパスワードを使用するよう従業員に義務付け、MFA の使用を義務付けます。これらのポリシーを強制するために、Keeper のようなエンタープライズパスワードマネージャー(EPM)を導入します。
  • RDP パスワードの「マスキング」を検討します。これは、Keeper を含むパスワードマネージャーの機能で、ログインフォームにパスワードを自動入力しても、ユーザーはそのパスワードを見ることができません。
  • ユーザー名「Administrator」、「Admin」、またはそれに相当するものを使用しないでください。自動パスワードクラッカーの多くは、そのアカウントが最高の権限を持っているため管理ユーザー用のパスワードを推測しようとします。
  • ブルートフォースパスワード攻撃に対する防御として、rate limiting(レート制限)を使用します。これは、パスワードクラッキングボットが短時間に何百、何千ものパスワード推測を試みるのを防ぐため、推測に失敗した回数が少ないうちにユーザーをブロックします。
日本語 (JP) お問い合わせ