Azureネットワークセキュリティグループ(NSG)の纏めと作成から割り当てまで
Azure ネットワークセキュリティグループ(NSG)の概要、セキュリティ規則で出来る事、NSG設定方法について纏めてみました。
設定方法についてはNSG作成から作成したNSGのAzure 仮想マシン(VM)やサブネットへの割り当てをやってみました。
ネットワークセキュリティグループの受信セキュリティ規則では一番多そうなVMへのRDP許可設定をやってみました。
ネットワークセキュリティグループ(NSG)とは
ネットワークセキュリティグループ(NSG)とは
NSGを一言で言うと、Azureで通信許可を行うファイアウォール的なサービスになります。
一番よく目にするのはVMへのアクセス制御を行う場合かと思います。
NSGを使うと送受信のトラフィックに対する許可、拒否設定が出来ます。
VM(ネットワークインターフェース)やサブネットに割り当てる事でAzureリソースへアクセス制御を行う事が出来ます。許可するIPや通信ポートを制限したりと言ったアクセス制御が出来ます。
ネットワークセキュリティグループ(NSG)には受信セキュリティ規則と送信セキュリティ規則がある
NSGには受信セキュリティ規則と送信セキュリティ規則があります。
-
- 受信セキュリティ規則
- 外部から内部へのアクセス制御を行います
- 例としてはインターネットや別VMからのVMへのアクセスがあります
- 送信セキュリティ規則
- 内部から外部へのアクセス制御を行います
- 例としてはVMからインターネットへのアクセス、別VMのアクセスがあります
- 受信セキュリティ規則
受信セキュリティ規則、送信セキュリティ規則 | |
受信セキュリティ規則と送信セキュリティ規則がセットで構成されています。 | ![]() |
デフォルト規則
受信セキュリティ規則、送信セキュリティ規則ともにデフォルトで規則が設定されています。
外部からのアクセスはデフォルトでは仮想ネットワーク間のみ許可されています。インターネットからのアクセスは許可されていません。
内部からのアクセスはインターネット、仮想ネットワークともに許可されています。
通信内容 | 受信セキュリティ規則 | 送信セキュリティ規則 |
仮想ネットワーク間 | 許可 ルール名:AllowVnetInBound |
許可 ルール名:AllowVnetOutBound |
Azure ロードバランサー | 許可 ルール名:AllowAzureLoadBalancerInBound |
許可(インターネットアクセスに含まれる) ルール名:AllowInternetOutBound |
インターネット | 拒否 ルール名:DenyAllInBound |
許可 ルール名:AllowInternetOutBound |
その他外部アクセス | 拒否 ルール名:DenyAllInBound |
拒否 ルール名:DenyAllOutBound |
※デフォルトルールは削除できません。自分で許可(拒否)規則を追加する事で対応します。
セキュリティ規則で出来る設定内容
セキュリティ規則ではどこかどこへどのような通信を許可(ブロック)するのか設定出来ます。
-
- 送信元の情報(IPアドレスやService Tag等)
- 宛先の情報(IPアドレスやService Tag等)
- 通信内容(ポート番号、プロトコル)
- プロトコルはAny,TCP,UDP,ICMPが選択可能
- 許可、ブロック設定
- 規則名
受信セキュリティ規則の例 | |
受信セキュリティ規則の例です。 サンプル画面は特定のIP(192.168.1.1)から仮想ネットワークにRDP通信を許可する設定になります。 優先度は1000で設定しています。 |
![]() |
Service Tag(サービスタグ)って何
Azure サービスからの IP アドレス プレフィックスのグループを示します。
受信セキュリティ規則、送信セキュリティ規則ともにサービスタグが使えます。
Azureで利用している各サービスのIPをサービスタグと言うタグで定義されています。
Azureのサービスで利用しているIPが変わってもAzure側で更新してくれるため都度設定変更する必要がありません。
サービスタグにあるAzureLoadBalancerは192.63.129.16
AzureLoadBalancerは仮想パブリック IP アドレスになります。
Azure の正常性プローブの送信元になります。
また各VMがDHCPを使ってIPを取得する際などにも利用されています。
Azureのサービスで利用されている為デフォルトで受信が許可されています。
ネットワークセキュリティグループ(NSG)は優先順位の高い方から判断される
受信セキュリティ規則、送信セキュリティ規則ともに優先順位が高い方から判断されます。
優先度が高いAny_Deny_Ruleで192.168.1.0/24からの通信をすべて拒否しています。
RDP_Permit_Ruleで許可したとしても通信は出来ない状態になります。
通信を許可する場合にはRDP_Permit_Ruleの優先度を高く(Any_Deny_Ruleよりも)に設定します。
ルール名 | 優先度 | 通信内容 | ポート番号 | 許可設定 |
Any_Deny_Rule | 900 | 192.168.1.0/24→VNET | Any | Deny |
RDP_Permit_Rule | 1000 | 192.168.1.1/32→VNET | RDP(3389) | Permit |
![]() |
ネットワークセキュリティグループ(NSG)の利用方法
NSGはサブネットやVMのネットワークインターフェースに割り当てて利用します。
ネットワークセキュリティグループ(NSG)、セキュリティ規則、割り当て
NSGの利用にあたっては3つの手順が必要になります。
-
- ネットワークセキュリティグループ(NSG)の作成
- 受信セキュリティ規則、送信セキュリティ規則作成
- サブネット、ネットワークインターフェースにNSG割り当て
ネットワークセキュリティグループ(NSG)を作成
Azure Portalを使ってNSGを作成してみます。
ネットワークセキュリティグループ作成 | |
ネットワークセキュリティグループのメニューで作成を選択します。 | ![]() |
ネットワークセキュリティグループの作成画面になります。 ※割り当てるサブネットもしくはネットワークインターフェースと同じ地域に作成する必要があります。 |
![]() |
確認画面が表示されます。 内容を確認して問題がなければ作成を選択します。 |
![]() |
セキュリティ規則の追加
受信セキュリティ規則をサンプルに操作してみます。
特定のIPからのRDP許可設定を例に受信セキュリティ規則を作成してみます。
- 追加した規則
ルール名 | 優先度 | 通信内容 | ポート番号 | 許可設定 |
RDP_Permit_Rule | 1000 | 192.168.1.1/32→VNET | RDP(3389) | Permit |
- 作業手順
受信セキュリティ規則の追加 | |
受信セキュリティ規則で追加を選択します。 受信セキュリティ規則の設定画面が表示されますので、設定値を入れます。 追加を選択します。 |
![]() |
追加されたルールが確認出来ます。 | ![]() |
サブネットへのネットワークセキュリティグループ(NSG)割り当て
仮想ネットワークでサブネットを選択して割り当てます。
サブネットへの割り当て | |
仮想ネットワークの画面でサブネットを選択します。 |
![]() |
ネットワークインターフェースへのネットワークセキュリティグループ(NSG)割り当て
ネットワークインターフェースのメニューから割り当てます。
ネットワークインターフェースへの割り当て | |
ネットワークインタフェースのメニューでネットワークセキュリティグループを選択します。
|
![]() |
割り当て先による適用範囲の違い
サブネットとネットワークインターフェースに割り当てた場合では、NSGの適用範囲が違います。
NGS割り当て対象 | 適用範囲 |
サブネット | サブネットに接続されているリソースが対象 |
ネットワークインターフェース | ネットワークインターフェースが関連付けされたVMが対象 |
サブネットとネットワークインターフェース両方にネットワークセキュリティグループ(NSG)を割り当てた場合
ネットワークインターフェースとサブネットそれぞれにNSGを割り当てる事が出来ます。
両方に割り当てた場合はそれぞれに割り当てたNSGのセキュリティ規則が適用されます。
サブネット | ネットワークインターフェース | 通信許可 |
許可 | 許可 | 許可 |
拒否 | 拒否 | |
拒否 | 許可 | 拒否 |
拒否 | 拒否 |
※サブネットに適用したNSG→ネットワークインターフェースに適用したNSGの順で処理されます。
送信元、受信先のネットワークセキュリティグループ(NSG)両方適用されます
両方のVMにNSGが設定されている場合、送信元、受信先それぞれのNSGで通信許可されている必要があります。
Azure VM作成時のネットワークセキュリティグループ(NSG)について
Azure VM作成時のNSGについてはこちらで纏めております。
併せて見て頂けると大変有難いです。
最後に
今回はネットワークセキュリティグループ(NSG)について纏めてみました。
ネットワークセキュリティグループ(NSG)は通信許可設定を行うファイアウォール的なサービスとなります。
インターネットからVMへのアクセス制御に使われるなど、運用上とても重要なサービスになります。
-
- 必要最低限のアクセス許可をしたセキュリティ規則
- 適切なリソースへ適用
この2点を意識して運用する事が重要になるかと思いました。