Azure VMデフォルトのまま作ると危険なのでNSG設定しましょう

2020-06-12

Azure Portalを使って仮想マシン(VM)をそのまま作成すると、外部(インターネット)からのRDPやSSHアクセスが許可された状態になります。

仮想マシンに対するアクセス制御はネットワークセキュリティグループ(NSG)で行われrます。NSGはAzureで接続許可や拒否設定を行うものになります。

ネットワークセキュリティグループ(公式サイト)

Azure VM作成した場合に、何も変更せずに進めるとNSGやパブリックIPが自動生成されます。

      • パブリックIPが自動生成される
      • ネットワークインターフェースにNSGが作成される
      • 作成されるNSGはインターネットにAnyでRDPやSSHが許可(受信)された状態

結果、インターネットから”誰でも”仮想マシンにアクセスできる状態になります。

AzureのパブリッククラウドのグローバルIPに対しては、作成した瞬間から不正なアクセスが来ます。インターネットからのアクセスをすべて許可した状態で放置する事は非常に危険な状態になります。

今回は、実際にやってみて、メッセージが表示される意味や、VM作成作業中に接続許可IPを指定する方法を確認してみました。

ネットワークセキュリティグループ(NSG)はAzureで接続許可や拒否設定を行うものになります。

スポンサーリンク

仮想マシン(VM)をそのまま作成した際のNSG(ネットワークセキュリティグループ)設定を確認

今回は、にAzure PortalでWindowsの仮想マシン(VM)作成を作成する時にネットワークセキュリティグループに関する設定を確認します。

まず基本画面で受信ポートの規則という以下の項目が表示されます。デフォルトは選択したポートを許可するにチェックが入ってます。デフォルトでは3389を受信ポートとして許可する設定になっています。

次にネットワーク画面でも同様の画面が表示されます。こちらの画面ではNICネットワークセキュリティグループという項目が表示されています。

デフォルトはBasicを選択されてます。今回はデフォルト通りBasic設定のまま進んでみます。

この設定のまま仮想マシン(VM)を作成した後に、仮想マシンのネットワークインターフェースの設定を確認してみました。

一番優先度が高い受信規則として任意のソースからRDP許可する設定が作成されていました。

デフォルトのまま作成してしまうと、RDPでどこからでもアクセスできる状態になり、非常に危険な状態になる事がわかりました。

仮想マシン(VM)作成時にNSG(ネットワークセキュリティグループ)設定を変更

仮想マシン(VM)作成時のNSG設定変更方法確認してみました。

Azure Portalで仮想マシンを作成する場合の基本画面で受信ポートの規則という項目があります。

こちらの設定では、パブリック受信ポートを作成するかしないか。受信ポートを選択する設定が出来ます。受信接続元のIPを指定する設定はありません。以下の設定で進めます。

      • インターネットからのアクセスを許可する場合
        • パブリック受信ポート:選択したポートを許可する
        • 受信ポートを選択:RDP(3389)(Windowsの場合)

仮想マシン作成の項目にネットワークという項目があり、仮想マシンのネットワークインターフェース設定が出来ます

この中にNICネットワークセキュリティグループという項目があります。詳細を選択するとネットワークセキュリティグループの構成という項目が表示されます。新規作成をクリックします。

ネットワークセキュリティグループの設定画面が表示されます。受信規則に1000:default-allow-rdpという項目がありますのでクリックします。

default-allow-rdpという受信規則の設定画面が表示されます。

ソースがAnyになっていますのでIP Addressesに変更します。ソースIPアドレスが表示されます。自身が仮想マシンへアクセスするIPアドレスを入力します。自身のIPアドレスは、CMAN(IPアドレス確認)等のサイトで確認します。

IPアドレスを入力したら保管します。特定のIPからのみアクセス可能なネットワークセキュリティグループ(NSG)が作成されます。仮想マシン作成後にメニューでネットワークを選択し受信規則を確認してみます。

設定したIPアドレスのみからアクセス可能なNSGになっている事が確認出来ました。

Azureロードバランサーを利用した接続ポートの変更はこちら。

仮想マシン作成時にパブリック受信ポート無しにした場合

仮想マシンのNSG(ネットワークセキュリティグループ)は以下の2つが適用されます。

      • 仮想マシンが所属するサブネットに適用されたNSG
      • 仮想マシンのネットワークインターフェースに適用されたNSG

仮想マシン作成時にパブリック受信ポート無しにするとネットワークインターフェースにNSGが適用されない状態で作成されます。サブネットに適用されたNSGのみが適用されます。

サブネットにもネットワークインターフェースにもNSGがない場合はどこからもアクセスできない仮想マシンになります。

ネットワークセキュリティグループの作成やサブネットへの割り当てについてはこちら。

仮想マシン作成時にデフォルトのまま進まない方が良さそうなもの

NSGだけではなく、仮想マシン作成をそのまま進めるとこんな設定になります。

      • ディスクがPremium SSDで作成される
        • 一番お高いディスクが選択される
      • 仮想ネットワークやサブネットが作成される
        • 仮想マシンの数だけ、仮想ネットワークやサブネットが作成されてしまう。
      • パブリックIPが作成される
        • インターネットから直接アクセスする必要がない場合でも作成されてしまう。
      • 自動シャットダウンが有効になっている。
        • UTCで19時なので日本時間4時にシャットダウン

検証でお試しする場合とかPremium SSD必要ないですし、仮想ネットワークやサブネットも都度作成する必要もないのでこの編は環境に応じて設定する必要があります。

セキュリティで重要になってくる認証についてもパスフレーズ付き鍵認証が推奨されます。実際にやってみた例についてはこちら。

NSGをAnyで開けたままにしておくと漏れなく攻撃が来ます

自身の経験ですが、実際にそのままにしておくと、5分後位から秒で辞書攻撃的なアクセスが来ました。

検証環境だから、すぐ消すからとか言ってそのままにしている事を多くみかけますが、要件が無い限り、ログイン元のIPアドレスは制限するようにした方が良いかと思います。

使う時しか上げないとかって、絶対に忘れますから!!

※実際のシステムではサブネットや、すでに作成済みのネットワークセキュリティグループ(NSG)を使うケースが多いと思いますが注意しましょう。