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リソースの設定内容

今回はAzure VM、ロードバランサー、パブリックIP、ネットワークセキュリティグループの設定を行いました。VMは事前に作成しておいたものを利用しています。

      • Azure VM(仮想マシン)設定
        • 仮想マシン名:RDP-Test-01
        • 地域:米国東部2
        • OS:Windows10
        • 仮想ネットワーク/サブネット:RDP-TEST-vnet/default
        • ネットワークセキュリティグループ:サブネットに設定
        • パブリックIP:無し
        • ネットワークセキュリティグループ:無し(サブネットに適用)
      • Azure Load Balancer
        • LB-lb名:RDP-TEST-LB
        • 地域:米国東部2
        • SKU:Basic
        • 種類:パブリック
        • インバウンド NAT 規則:有り
          • インバウンドNAT規則名:RDP-TEST-NAT
          • フロントエンドIPアドレス:LoadBalancerFrontEnd(動的)
          • ポート:13389
          • ポートマッピング:Custom
          • ターゲットポート:3389
      • ネットワークセキュリティグループ設定
        • 名前: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

※ネットワークセキュリティグループで許可するポートは13389ではなく3389になります。

Azure Load Balancerの作成と設定

Azure Load Balancerを新規作成

最初にAzure Load Balancerを新規作成します。

Azure Load Balancer新規作成手順

Azure Portalでスロードバランサーのメニューを選択し作成を開始します。

ロードバランサーの作成画面で設定を進めます。ロードバランサー名、地域、種類、SKUを設定します。

今回はロードバランサーと一緒にパブリックIPも新規に作成しています。

確認画面の内容を見て問題が無ければ作成をクリックします。

Azure Load BalancerでインバウンドNAT規則を追加

次に作成したロードバランサーにインバウンドNAT規則を追加します。

インバウンドNAT規則の追加手順

ロードバランサーのメニューで設定にあるインバウンドNAT規則を選択します。

追加をクリックします。

インバウンドNAT規則の追加画面が表示されますので設定を行います。

ポートがロードバランサーが受信するポート番号、ターゲットポートがVM側で受信するポート番号になります。

ポートは13389にします。ポートマッピングをカスタムとしターゲットポートは3389に設定します。

設定が終わったら追加をクリックします。

追加が完了するとインバウンドNAT規則が作成されている事が分かります。

Azure VMでグローバルIPを確認

今回のAzure VMにはグローバルIPは追加していません。Azure Load Balancerの配下にある場合とそうでは無い場合でどう変わるの確認してみます。

インバウンドNAT規則追加前後の比較

ロードバランサーのインバウンドNAT規則追加前にはパブリックIPがありません。

 
インバウンドNAT規則追加後はパブリックIPがVMに関連付けされている事が分かります。

※今回のパブリックIPは動的ですので、Azure VMが起動してない時には空白になります。

ネットワークセキュリティグループでRDPの通信許可設定

ネットワークセキュリティグループでRDPの通信許可設定を行います。

受信セキュリティ規則を追加

ネットワークセキュリティグループの設定にある受信セキュリティ規則を選択します。

追加をクリックします。

受信セキュリティ規則の作成画面が表示されます。

ソースは自身がアクセスするIPアドレスを入力します。(CMANのサイトなどを使って確認します。)

ここのポイントは宛先ポートは3389を選択する事になります。

設定が完了したら追加をクリックします。

追加が完了すると規則が追加されているのが分かります。

変更後のポートを使用して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名ラベルでリモートデスクトップ接続する事が出来ます。