セキュリティ運用

Remote Desktop Protocol:公開されている RDP の危険性

RDP ポートをインターネットに公開するのは本当に危険なのでしょうか?デフォルトのポートを変更したらどうなるのでしょうか?あるいは、短時間だけ公開する場合は?データはその答えをはっきりと示しています。

** 本記事は、Remote Desktop Protocol: Exposed RDP (is dangerous) の翻訳です。最新の情報は英語記事をご覧ください。**

RDP でサーバーをインターネットに公開するのは、本当にそれほど危険なことなのでしょうか?確認のため、実際にやってみました。

検証用のサーバーを立ち上げ、RDP をインターネットに公開し、15 日間放置しました。15 日後に確認したところ、ポートを公開した瞬間から 1 分も経たないうちにログイン試行が始まっていました。特定の誰かにリモートアクセスをさせるために、RDP でサーバーをインターネットに「一時的に」公開していただけだとしても、ブルートフォース (総当たり) 攻撃の試みは即座にやってきます。

さらに、アクセスの試行に最もよく使われるユーザー名の統計を取りました。その結果、「administrator」および類似した名称が上位 3 つを占めました。ソフォスが検証したシステムでは、この 15 日間、「administrator」というユーザー名だけで 866,862 件のログイン試行が失敗していました。

ユーザー名 回数
administrator 866862
administrador 152289
administrateur 111460
backup 94541
admin 88367
user 24030
scanner 18781
escaner 12455
usuario 12238
Guest 8784

図 1: 15 日間にわたり、検証用の RDP サーバーに対するブルートフォース攻撃に最も用いられた 10 個のユーザー名。「escaner」と「usuario」はそれぞれスペイン語で「スキャナー」と「ユーザー」を意味します。

確かに、この特定のアカウント名での試行回数が多いのは驚くべきことではありません。ソフォスの IR チームが扱った、公開された RDP が最初の侵入経路であった事例のほとんどで、攻撃者は管理者アカウントに対してブルートフォース攻撃をすることでアクセスを獲得しています。さらに悪いことに、RDP をインターネットに公開している組織は、パスワードポリシーが貧弱であることが多く、しばしば、ランサムウェアグループがこれらのアカウントにブルートフォースを仕掛けて侵入するのが確認されています。

上記の試行以外にも、15 日間で合計 137,500 種類のユーザー名が試行され、999 件の一意の IP アドレスからスキャンのアクティビティが発信されていることがわかりました。合計すると、15 日間で 200 万回強のログイン試行が失敗したことになります。つまり、最初の疑問への答えは「はい」になります。公開された RDP をスキャンする活動は大量に存在します。公開 RDP の悪用は、現在でも一般的な侵入経路です。RDP をインターネットに公開するのは間違いなく危険です。

デフォルトでは、RDP はポート 3389 で公開されます。では、RDP をデフォルト以外のポートで公開するのはどうでしょうか。残念ながら、まったく効果はありません。スキャナやランサムウェアグループは、どのようなポート番号であっても、RDP ポートが開いていてリスン状態であることを簡単に特定します。これを証明すべく、censys.io で 3389 以外のポートでリスンしている RDP を検索してみました。

A screen capture of Censys shows that exposed RDP ports are easily found, even at nonstandard addresses

図 2: Censys で確認できるように、非標準ポートで公開された RDP を「隠す」のは、リモートでは効果がありません。

画像で確認できる通り、曖昧さに依拠したセキュリティが機能することはありません。ポートを「一時的に」公開した最初の例と同様に、侵入がすぐに開始されます。ブルートフォースの試みは、RDP ポートを開いてから 1 分も経たないうちに始まりました。

では、管理者はどうすればいいのでしょうか。アクセスに関しては、環境へのリモートアクセスを許可する、より安全な方法があります。たとえば、MFA (多要素認証) 付きの VPN などです。(個々の企業に対する推奨事項は本記事の範囲外ですが、ソリューションが存在することは知っておいてください。)調査員の皆様のために、本シリーズの次の記事では、攻撃の詳細への理解を深めることができる複数のクエリについて見ていきます。

Remote Desktop Protocol:記事一覧

パート 1:イントロダクション ([本記事]、動画)
パート 2:公開されている RDP の危険性 (記事動画)
パート 3:調査でのクエリ活用 (記事動画)
パート 4:タイムゾーンバイアスの使い方 (記事動画)
パート 5:外部 RDP クエリの実行 (記事動画)
パート 6:4624_4625 ログインクエリの実行 (記事動画)
GitHub のクエリリポジトリ: SophosRapidResponse/OSQuery
スクリプトのリポジトリ: sophoslabs/video-transcripts
Youtube のプレイリスト: Remote Desktop Protocol: The Series