Azure
Security

Azureの仮想マシンの外部からのアクセスを制限する方法(ネットワークセキュリティグループ)

More than 1 year has passed since last update.

AzureVMのセキュリティについて

Azureの仮想マシンを管理・運用していると、
セキュリティの観点で社内からのアクセスに限定したい要望が出て来るかと思います。
他にもsshでのアクセスは禁止にしたいときや特定のポートからのアクセスを許可・拒否したい場合も出てくるかと思います。
そんな時に簡単にポートやプロトコルレベルの制限を付け加えることができるNSG(ネットワークセキュリティグループ)というものをご紹介します。

NSG(ネットワークセキュリティグループ)とは?

仮想マシン(v1)や仮想マシンに紐付いたNIC(v2)やサブネットに紐付けることでプロトコルやIPなどで受信・送信の制限を設定できるものです。
仮想マシン内でポートを開け閉めすることなく、セキュリティ規則をAzureのリソースでモジュール化できるので複数台への設定の適用も簡易になります。

利用方法

  1. 例えば仮想マシンsampleというものを作成するときに NSGの設定も付与されます。 AzurePortal左のタブから盾のアイコンを探してみましょう nsg1.png

sample-nsgをクリックしてみると以下のような画面になります。
nsg2.png
仮想マシンsampleはLinuxのマシンでしたので、デフォルトでsshのポート22は開放されています。
これがWindowsServerの場合だとPowerShellとRDPについてデフォルトでポート開放されています。
2. プロトコル(ポート)の送信・受信レベルで許可と制限ができます。ここではhttpの通信の送信(仮想マシンsampleから外部)を禁止に設定してみます
3. 「送信セキュリティ規則」をクリックした後に、「新規」をクリック
4. ルールの名前を決め、設定していく
・「優先度」...数字が小さいほどそのルールが優先されます。例えばあるIPアドレスからのhttp受信を許可するルールの優先度が100ですべてのIPアドレスからのhttp受信を拒否するルールの優先度が200の場合、前者のルールが優先されます。
・「宛先」...送信する先。「CIDR block」でIPアドレス空間を指定します。「Tag」はAzureのリソースに割り当てることができるものですが、利用しなくてもいい。
・「サービス」...以下参照
http=80,ssh=22など標準のポートが紐付けられている。
sshのポートを変更している場合などは、「カスタム」を選択することでポートを特定し制限できる
nsg5.PNG

設定が完了し以下のような画面で「OK」を押す
nsg6.png

1分ほどで以下のような送信規則が作成されたら終了
nsg7.png

ポートやアクセス制限はたいていどこの会社もきっちりとやっているし、
Azureのサービスにロックインされることを考えると積極的に利用するかどうかは判断が別れるでしょうが、
開発環境などであれば知っていることで簡単にセキュリティレベルを上げることができるのでおすすめのサービスです。