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