AzureロードバランサーのインバウンドNAT規則を使ってRDPポート番号を変更してみた
WindowsのAzure Virtual Machine(仮想マシン)を構築するとRDPで接続する事になるのですが通常は3389番ポートを利用します。
インターネットから仮想マシンの3389ポートには不正アクセスしてくる方がいっぱいいます。
RDPのポートを3389から13389等の別ポート番号に変更する事で不正アクセスを少しは軽減する事が出来たりします。
Azure ロードバランサー(ロードバランサー)のインバウンドNATを使うと仮想マシン側の設定変更無しにポート番号の変更が簡単に設定出来ます。
今回はAzure ロードバランサーのインバウンドNAT規則を使って、仮想マシンにアクセスするRDPのポート番号を3389から13389に変更してみました。Azure ロードバランサーはBasicのSKUで利用しています。
※不正なアクセス対応は接続元のIPを絞る事が大前提になります(こちらを参照ください)。Azure ロードバランサーのBasicは無償で利用できますがSLAが保証されていないのでその点はご留意ください。アウトバウンドNAT規則などStandardとBasicで異なる動作をする部分もあります。
リソースの設定内容
今回は仮想マシン、ロードバランサー、パブリックIP、ネットワークセキュリティグループの設定を行いました。
仮想マシンは事前に作成しておいたものを利用しています。
-
-
- 仮想マシン設定
- 仮想マシン名:RDP-Test-01
- 地域:米国東部2
- OS:Windows10
- 仮想ネットワーク/サブネット:RDP-TEST-vnet/default
- ネットワークセキュリティグループ:サブネットに設定
- パブリックIP:無し
- ネットワークセキュリティグループ:無し(サブネットに適用)
- 仮想マシン設定
-
-
-
- Azure ロードバランサー
- LB-lb名:RDP-TEST-LB
- 地域:米国東部2
- SKU:Basic
- 種類:パブリック
- インバウンド NAT 規則:有り
- インバウンドNAT規則名:RDP-TEST-NAT
- フロントエンドIPアドレス:LoadBalancerFrontEnd(動的)
- ポート:13389
- ポートマッピング:Custom
- ターゲットポート:3389
- Azure ロードバランサー
-
-
-
- ネットワークセキュリティグループ設定
- 名前:RDP-TEST
- 適用:サブネット(default)に適用
- 受信のセキュリティ規則:Port_3389を追加
- ソース:IPアドレス
- ソースIPアドレス:アクセス元のグローバルIP
- 宛先:Virtual Network
- 宛先ポート範囲:3389
- アクション:許可
- 優先度:100
- ネットワークセキュリティグループ設定
-
- パブリックIP(ロードバランサーで利用)
- 名前:Basic
- IP アドレスの割り当て:動的
- DNS名:rdp-test.eastus2.cloudapp.azure.com
- パブリックIP(ロードバランサーで利用)
-
※ネットワークセキュリティグループで許可するポートは13389ではなく3389になります。
Azureロードバランサーの新規作成と設定
新規作成
Azureロードバランサーを新規作成します。
新規作成手順 | |
Azure Portalでロードバランサーのメニューを選択し作成を開始します。 |
![]() |
ロードバランサーの作成画面で設定を進めます。ロードバランサー名、地域、種類、SKUを設定します。 今回はロードバランサーと一緒にパブリックIPも新規に作成しています。 |
![]() |
確認画面の内容を見て問題が無ければ作成をクリックします。 | ![]() |
インバウンドNAT規則を追加
次に作成したロードバランサーにインバウンドNAT規則を追加します。
仮想マシンでグローバルIPを確認
今回の仮想マシンにはグローバルIPは追加していません。
ロードバランサーのNAT規則追加後には、パブリックIPが仮想マシンに付与されている事が確認出来ます。
インバウンドNAT規則追加前後の比較 | |
ロードバランサーのインバウンドNAT規則追加前にはパブリックIPがありません。 |
![]() |
インバウンドNAT規則追加後はパブリックIPがVMに関連付けされている事が分かります。 | ![]() |
※今回のパブリックIPは動的ですので、仮想マシンが起動してない時には空白になります。
NSG(ネットワークセキュリティグループ)でRDPの通信許可設定
ネットワークセキュリティグループでインターネットから仮想マシンへのRDPの通信許可設定を行います。
通信許可するポートはRDP(ポート番号:3389)になります。
受信セキュリティ規則を追加 | |
ネットワークセキュリティグループの設定にある受信セキュリティ規則を選択します。 追加をクリックします。 |
![]() |
受信セキュリティ規則の作成画面が表示されます。 ソースは自身がアクセスするIPアドレスを入力します。(CMANのサイトなどを使って確認します。) ここのポイントは宛先ポートは3389を選択する事になります。 設定が完了したら追加をクリックします。 |
![]() |
追加が完了すると規則が追加されているのが分かります。 | ![]() |
NAT後のポート番号を使って仮想マシンにRDP接続
ポート番号13389を利用してRDP接続してみる
ポート番号13389を利用して仮想マシンに接続してみます。
リモートデスクトップ接続はIPアドレス:ポート番号で実施します。
仮想マシンへRDPで接続 | |
Windows端末でリモートデスクトップ接続を選択します。 パブリックIPアドレス:3389と入力し接続をクリックします。 |
![]() |
資格情報の確認が表示されますので、接続先仮想マシンのユーザー名、パスワードを入力します。 | ![]() |
仮想マシンの設定を一切変える事無くポート番号13389でアクセスできた事が分かりました。 | ![]() |
※設定後に3389ポートでRDP接続するとエラーになります。
動的IPの場合はパブリックIPにDNS名ラベルをつけると便利
パブリックIPが動的IPの場合VM停止のたびにIPが変わってしまいます。
毎回調べるのは面倒だったりします。DNS名ラベルをつけておくことで毎回IPを調べる事無くアクセスする事が出来ます。
DNS名ラベルを設定 | |
パブリックIPアドレスにある構成の中にDNS名ラベルと言う項目があります。ここで設定を行います。 | ![]() |
設定後はDNS名ラベルでリモートデスクトップ接続する事が出来ます。 | ![]() |
最後に
Azure ロードバランサーのインバウンドNAT規則を使うと、非常に簡単にポート番号の変更が出来る事が分かりました。
今回は仮想マシンへのRDP接続で試してみましたが他のポート番号でも利用可能です。
ネットワークセキュリティグループで制限する事は基本ですが、併せて使っても良いかもと思いました。
仮想マシンのネットワークセキュリティグループ設定についてはこちらでもやっています。
併せて見て頂けると大変有難いです。