検索
連載

Azure仮想マシンへの安全なRDP接続を実現する5つの方法Microsoft Azure最新機能フォローアップ(180)

今回は、Azure仮想マシンとして実行中のパブリックIPアドレスを持つWindows仮想マシンに対し、安全にリモートデスクトップ(RDP)接続するために利用可能なオプションをまとめます。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Microsoft Azure最新機能フォローアップ」のインデックス

Microsoft Azure最新機能フォローアップ

RDP接続はセキュリティで保護されるが、ID認証が最大の穴に!

 TCPポート「3389」を使用する「リモートデスクトップ(RDP)接続」は、RDP(Remote Desktop Protocol)自身が備える証明書ベースのネットワークレベル認証やエンドツーエンド通信の暗号化によるセキュリティを提供します。

 しかし、基本的な認証方法は「ユーザー名」と「パスワード」の組み合わせという、とてもレガシーな方法です。自分のPCのRDPポートをインターネットに解放することは、極めてリスクの高いことです。ユーザー名とパスワードが分かってしまえば、世界のどこからでも接続できますし、そのままではブルートフォース攻撃(総当たり攻撃)に対して脆弱(ぜいじゃく)です。

 Windowsを実行するAzure仮想マシンのコンソールにリモート接続する標準的な方法は、RDP接続です。サイト間(S2S)/ポイント対サイト(2PS)VPN接続や、「Azure ExpressRoute」などの専用の直接接続回線を利用しない限り、単純にAzure仮想マシンのパブリックIPアドレスに対するTCPポート「3389」へのアクセスを許可することは、同じようにリスクがあります。

 Azure仮想マシンをデプロイする際に、RDP接続を許可するように設定した場合には警告が表示されます(画面1画面2)。Linuxの場合は、証明書キーではなく、パスワードによるssh(TCPポート「22」)への接続を許可することもリスクがあります。

画面1
画面1 Azure仮想マシンのWindowsに対するRDP接続。ポータルから開始すると安全なように思えるが、この仮想マシンのパブリックIPアドレスのTCPポート「3389」には世界中からアクセス可能
画面2
画面2 RDP接続用のポートを許可するように指定した場合に表示される警告

 今回は、Windowsのセキュリティ機能やMicrosoft Azureの無料または有料のサービス/機能を利用して、簡単にRDP接続における認証時の穴を狭める方法を5つ紹介します。

[方法その1]アカウントロックアウトのポリシー(追加コストなし)

 Windowsは既定で、ローカルログオン、リモートデスクトップ接続のいずれにおいても、パスワードの入力を何度でも試すことができます。誤ったパスワードが何度入力されても、ロックアウトされることはありません。これは、ブルートフォース攻撃をしようとする者にとって好都合です。

 Windowsの「ローカルセキュリティポリシー」(Secpol.msc)または「ローカルグループポリシー」(Gpedit.msc)では、「アカウントロックアウトのポリシー」を構成することができます。ローカルグループポリシーの場合は、以下の場所にあります。

  • コンピューターの構成\Windowsの設定\セキュリティの設定\アカウント ポリシー\アカウント ロックアウトのポリシー

 アカウントロックアウトのポリシーは既定では未構成であり、ユーザーがロックアウトされることはありません。このポリシーで「アカウントのロックアウトのしきい値」に「1」以上の回数を指定し、ロックアウト期間やカウンターのリセットまでの時間(既定はどちらも「30分」)を構成すると、ブルートフォース攻撃の回避に効果があります(画面3画面4)。

画面3
画面3 WindowsゲストOSでアカウントロックアウトのポリシーを「3回」に設定
画面4
画面4 4回目にパスワード認証に失敗すると、そのユーザーは30分間ロックアウトされ、ログオン不能になる

 なお、Azure仮想マシンがActive Directoryドメインのメンバーの場合は、グループポリシーを使用してドメイン全体にアカウントロックアウトのポリシーを適用する必要があることにも留意してください。

[方法その2]NSGの受信ポート規則による制御(追加コストなし)

 Azure仮想マシンに対するRDP接続は、ネットワークセキュリティグループ(NSG)の「受信ポートの規則」で許可されています。この規則のソースとして、IPアドレスやIPアドレス範囲を定義することで、特定のIPアドレスまたはIPサブネットからの接続のみに限定することができます。ソースとしては、以前はなかった「My IP address」が指定可能になったため、自分のIPアドレス(特にNAT《ネットワークアドレス変換》の背後にあるデバイスの場合)を調べる手間が省けるようになりました(画面5)。

画面5
画面5 ソースの指定に利用できるようになった「My IP address」は、現在の接続元IPアドレス(xxxx.xxx.xxx.xxx)がソース「IP Address: xxxx.xxx.xxx.xxx」として設定される

 なお、この「My IP address」は、現在のAzureポータルのセッションで検出された接続元IPアドレスであり、選択した場合、ソースとしてそのIPアドレスが固定的に設定されます。同じデバイスからの接続に使用されたIPアドレスが、次回アクセス時に変化した場合はブロックされることになるため、IPアドレスが動的に変化する場合は、毎回「My IP address」を選択して設定し直す必要があります。その手間はありますが、対象のAzure仮想マシンが少数の場合は許容できるでしょう。

[方法その3]AdminCenter拡張機能(追加コストなし、ただしプレビュー機能)

 Azure仮想マシンの「Windows Admin Center(プレビュー)」を有効にすると、ゲストOSに「AdminCenter拡張機能」(通常のWindows Admin Centerとは異なり、複数のサーバをリモート管理する機能は備えていません)がインストールされます。これにより、Azureポータルに統合されたWindows Admin Center管理ツールでのAzure仮想マシンの管理が可能になります(画面6)。

 Windows Admin Centerの「リモートデスクトップ」ツールを使用すると、ブラウザに組み込まれたWebベースのリモートデスクトップ接続機能でコンソールにアクセスすることができます(画面6)。

画面6
画面6 AdminCenter拡張機能をインストールすると、Azureポータルに組み込まれたWindows Admin Centerの機能を利用してポータル内(HTTP接続)でリモートデスクトップ接続できる

 画面サイズがウィンドウのサイズで自動調整されるため、大きなディスプレイでないと使いにくいかもしれませんが、Azureサブスクリプションアカウントの認証を経たAzureポータルへのHTTPS認証内でリモートデスクトップ接続を行うことができます。つまり、Azure仮想マシンのパブリックIPアドレスへの接続は全てブロックできますし、パブリックIPアドレスがなくてもアクセスできます。

[方法その4]Just-In-Timeアクセス(有料)

 Azure仮想マシンへの「Just-In-Timeアクセス」は、「Microsoft Defender for Cloud」の有料プラン(最初の30日間は無料)に含まれるセキュリティ機能の一つです(Microsoft Defender for Serversに含まれます)。この機能を有効化すると、接続時にアクセスを要求し、承認されると(自動承認されます)、RDPファイルのダウンロードへと進みます(画面7)。

画面7
画面7 Just-In-Timeアクセスを利用した、要求と承認に基づいた限定的なポートの許可

 アクセスを要求すると、一定期間(既定は「3時間」)、指定したソースとポートへのアクセスを許可する「受信ポートの規則」が自動作成されます。これにより、必要時に必要なソースに対してポートを許可し、それ以外は全てブロックすることが可能です。

[方法その5]Azure Bastion(有料)

 「Azure Bastion」は、完全に閉じた仮想ネットワークでも利用可能な、安全なRDPおよびSSH接続のゲートウェイとして機能します。

 Azure Bastionを仮想ネットワークにデプロイすると、仮想ネットワークとの境界のサブネットが作成され、ユーザーによる管理用が全く必要のない、ホスト(要塞《ようさい》ホスト)がデプロイされて、その中間に配置されます。ユーザーは、Azureポータルに統合された(別のウィンドウで開く)Webベースのリモートデスクトップ接続機能を用いて、安全にAzure仮想マシンにアクセスすることができます(画面8)。

画面8
画面8 Azure Bastionを使用すると、Azureポータルに対するHTTPS接続内で、Webベースのリモートでストップ接続機能を利用してAzure仮想マシンに安全にアクセスできる。インターネットから完全に分離された仮想ネットワークで特に有用

 なお、Azure Bastionについては、プレビュー開始直後に本連載第83回で紹介しましたが、2019年11月からは一般提供されています。また、現在はワンクリックでデプロイできるように、セットアップが大幅に簡素化されています。

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP 2009 to 2022(Cloud and Datacenter Management)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る