Azure NSGとは?(概要、設定例、セキュリティ規則設定、関連付け手順)
NSG(ネットワークセキュリティグループ)やセキュリティ規則の概要から、仮想マシンへ適用する場合までの手順を紹介しています。
セキュリティ規則の設定内容や設定例についても紹介しています。
仮想マシンへの適用例では、NSGのリソース作成、受信セキュリティ規則作成、サブネットやネットワークインターフェースへの関連付けまでの一連の手順を確認しています。
※本記事中ではネットワークセキュリティグループ(Azure Network Security Group)をNSGとして記載しています。
※本記事はAzure上の仮想マシンに適用した場合を例に記載しています。
- 1. NSGのサービス概要からセキュリティ規則の設定例まで
- 1.1. NSGとは?
- 1.2. 無料で利用できる
- 1.3. 1つのNSGを複数のリソースに関連付けできる
- 1.4. NSGと関連付けするリソースは同じ地域を選択
- 1.5. アクセス制御はセキュリティ規則で行う
- 1.6. セキュリティ規則でアクセス拒否された場合
- 1.7. デフォルト規則
- 1.8. デフォルト規則の表示、非表示
- 1.9. セキュリティ規則の設定内容
- 1.10. Service Tag(サービスタグ)とは?
- 1.11. セキュリティ規則は優先度の数値が小さい順で処理される
- 1.12. NSGのセキュリティ規則設定例
- 1.13. セキュリティ規則のソースのIPアドレスやポートは複数(範囲)指定できる
- 1.14. セキュリティ規則の削除
- 1.15. サービスタグのAzureLoadBalancerは192.63.129.16
- 2. NSGのリソース作成、セキュリティ規則作成、関連付け手順
- 3. 最後に
NSGのサービス概要からセキュリティ規則の設定例まで
NSGとは?
Azure上でネットワークアクセスの通信許可を行うファイアウォール的なサービスです。
Azure内のリソースへのアクセスを保護する役割を果たします。
一番よく目にするのは、Azure上で稼働する仮想マシンへのアクセス許可設定かと思います。
NSG使ってインターネットから仮想マシンへのアクセスを拒否や、特定のポートやIPからのアクセスのみを許可するなどの設定が可能です。
仮想マシンの場合、NSGをネットワークインターフェースやサブネットに関連付けして利用します。
送受信のセキュリティ規則を使って、トラフィックに対するアクセス許可、拒否設定を行います。
許可するIP、Azureサービス、通信ポートを指定してアクセス制御します。
無料で利用できる
NSGは無料で利用できます。
NSG自体の利用に対して、課金は発生しません。
1つのNSGを複数のリソースに関連付けできる
1つのNSGを複数のサブネットやネットワークインターフェースに関連付けできます。
NSGと関連付けするリソースは同じ地域を選択
NSGと関連付けするリソース(サブネットやネットワークインターフェース)は、NSGと同じ地域にある必要があります。
アクセス制御はセキュリティ規則で行う
NSGでのアクセス制御はセキュリティ規則で行います。
セキュリティ規則には受信セキュリティ規則と送信セキュリティ規則があります。
-
- 受信セキュリティ規則
- 外部から内部へのアクセス制御を行います
- 例としてはインターネットからの仮想マシンへのアクセスやがあります
- 送信セキュリティ規則
- 内部から外部へのアクセス制御を行います
- 例としては仮想マシンからインターネットやAzureのサービスへのアクセスがあります
- 受信セキュリティ規則
受信セキュリティ規則、送信セキュリティ規則 |
※画面例はデフォルト規則のみが設定された状態です。
セキュリティ規則でアクセス拒否された場合
NSGによって通信が拒否された場合はタイムアウトになります。
NSGで拒否されたというメッセージはユーザー側に表示されません。
デフォルト規則
デフォルトでセキュリティ規則が設定されています。
デフォルト規則は削除変更ができません。
受信セキュリティ規則では仮想ネットワークおよびAzureロードバランサーからのアクセスのみ許可されています。
インターネットからのアクセスは拒否されています。
送信のセキュリティ規則では、仮想ネットワークやインターネットへのアクセスが許可されています。
仮想マシンを作成した際には、Windows Update等の通信は出来る状態となっています。
一方でアップデート関連以外のすべての通信も許可されているおり、セキュリティ的には留意すべき設定となっています。
※仮想マシンと同時にNSG作成する場合などは、デフォルト規則と共に必要なセキュリティ規則が一緒に作成されます。
※プライベートサブネットではアウトバウンド通信の挙動が異なります。
セキュリティ規則 | 設定内容 | 動作内容 |
受信セキュリティ規則 | 優先度:65000 ルール名:AllowVnetInBound アクション:Allow |
仮想ネットワークからのアクセスを許可 |
優先度:65001 ルール名:AllowAzureLoadBalancerInBound アクション:Allow |
Azure ロードバランサーからのアクセスを許可 | |
優先度:65500 ルール名:DenyAllInBound アクション:Deny |
外部(インターネット等)からのアクセスを拒否 | |
送信セキュリティ規則 | 優先度:65000 ルール名:AllowVnetOutBound アクション:Allow |
仮想ネットワークへのアクセスを許可 |
優先度:65001 ルール名:AllowInternetOutBound アクション:Allow |
インターネットへのアクセスを許可 | |
優先度:65500 ルール名:DenyAllOutBound アクション:Deny |
外部へのアクセスを拒否 |
※デフォルトルールは削除できません。自分で許可(拒否)規則を追加する事で対応します。
デフォルト規則の表示、非表示
Azure Portalでセキュリティ規則を表示する場合に、デフォルト規則を非表示できます。
デフォルト規則の表示設定 |
デフォルト規則を非表示にした場合 |
デフォルト規則を表示にした場合 |
セキュリティ規則の設定内容
セキュリティ規則では許可や拒否する通信内容を設定します。
-
- ソース(送信元)
- IPアドレスやService Tagなど
- ソースポートの範囲
- 宛先
- IPアドレスやService Tagなど
- サービス、ポート番号
- プロトコル(TCP,UDP,ICMP,Any)
- アクション(許可、拒否)
- 名前(セキュリティ規則名)
- ソース(送信元)
ネットワークセキュリティグループ内で同じセキュリティ規則名は利用できません。
送受信のセキュリティ規則で同じセキュリティ規則名を設定できません。
セキュリティ規則設定画面例 | |
受信セキュリティ規則の設定画面例 | 送信セキュリティ規則の設定画面例 |
各項目での選択肢の例です。
標準で多くのサービスが定義されています。
選択肢の例 | |
各項目の選択肢の例です。 |
|
Service Tag(サービスタグ)とは?
Azure サービスのIP アドレス プレフィックスのグループを示します。
特定のAzureサービスからアクセスを許可したい場合などに利用します。
受信セキュリティ規則、送信セキュリティ規則ともにサービスタグが使えます。
Azureで提供されているサービスのIPがサービスタグとして定義されています。
宛先サービスタグやソースサービスタグでサービス名を選択します。
AzureサービスのIPレンジが変わっても自動的に更新されます。
ユーザー側で設定変更する必要がありません。
サービスタグの例 | |
Azureサービス名もしくは、Azureサービス名.リージョン名と言う形で指定する事が出来ます。 |
セキュリティ規則は優先度の数値が小さい順で処理される
受信セキュリティ規則、送信セキュリティ規則ともに優先度の数値が小さい方から判断されます。
以下の2つのセキュリティ規則を作成します。
-
- Deny_RDP_Inbound:203.0.113.0/24からのリモートデスクトップ接続を拒否
- Allow_RDP_Inbound:203.0.113.0/24からのリモートデスクトップ接続を拒否
この場合に以下のような動作になります。
-
- Allow_RDP_Inboundの優先度(110)>Deny_RDP_Inboundの優先度(100)の場合はリモートデスクトップ接続は許可されない
- Deny_RDP_Inboundの優先度(110)>Allow_RDP_Inboundの優先度(100)の場合はリモートデスクトップ接続は許可される
優先度の設定例 | ||||
203.0.113.0/24からのリモートデスクトップ接続が許可されない場合 |
||||
203.0.113.0/24からのリモートデスクトップ接続が許可される場合 |
NSGのセキュリティ規則設定例
NSGの設定例です。
受信のセキュリティ規則でインターネットからHTTPSを許可した場合、特定のIPアドレスからリモートデスクトップアクセスを許可した場合の例を紹介しています。
NSGの設定例 | |
インターネットからHTTPSアクセスを許可する場合 |
特定のIPアドレスからリモートデスクトップアクセスを許可する場合 |
セキュリティ規則のソースのIPアドレスやポートは複数(範囲)指定できる
1つのセキュリティ規則内でIPアドレスやポート範囲を複数(範囲)指定できます。
複数指定した例 | |
IPアドレスやポート範囲は複数(範囲)指定できます。 |
セキュリティ規則の削除
ネットワークセキュリティグループやセキュリティ規則の削除はそれぞれボタンが用意されています。
※デフォルト規則は削除できません。
削除 | ||||
サービスタグのAzureLoadBalancerは192.63.129.16
AzureLoadBalancerは仮想パブリック IP アドレスです。
仮想マシンがDHCPを使ってIPを取得する際などにも利用されています。
Azureのサービスで利用されている為、デフォルト規則で受信が許可されています。
—広告—
NSGのリソース作成、セキュリティ規則作成、関連付け手順
NSGを新規作成して、サブネットや仮想マシンのネットワークインターフェースへ関連付けする場合の手順を確認します。
NSGのリソース作成
Azure PortalでNSGを作成します。
ネットワークセキュリティグループ作成 | |
ネットワークセキュリティグループのメニューで作成を選択します。 | |
ネットワークセキュリティグループの作成画面です。 ※割り当てるサブネットもしくはネットワークインターフェースと同じ地域を選択します。 |
|
確認画面が表示されます。 内容を確認して問題がなければ作成を選択します。 |
|
受信セキュリティ規則の追加
受信セキュリティ規則を追加します。
特定のIPからのRDP許可設定を例に受信セキュリティ規則を作成してみます。
追加した規則の設定内容です。
ルール名 | 優先度 | 通信内容 | ポート番号 | 許可設定 |
Allow_IpAddress_RDP_Inbound_01 | 100 | My IP address→VNET | RDP(3389) | Permit |
受信セキュリティ規則の設定手順です。
受信セキュリティ規則の追加 | |
受信セキュリティ規則で追加を選択します。 受信セキュリティ規則の設定画面が表示されます。 ソース、宛先、通信内容、アクション、優先度、セキュリティ規則名などを設定します。 追加を選択します。 受信セキュリティ規則が追加されています。 |
|
サブネットへの関連付け
サブネットへのNSG関連付けは、仮想ネットワークのメニューからできます。
NSGのメニューからもサブネットへ関連付けできます。
サブネットへの割り当て | |
仮想ネットワークの画面でサブネットを選択します。 ネットワークセキュリティグループの画面から実施する場合は、左側のメニューでサブネットを選択します。
|
|
NSGが関連付けされているサブネットを確認
NSGが関連付けされているサブネットを確認します。
関連付けされているサブネットを確認 | |
NSGのサブネットのメニューで確認できます。 |
ネットワークインターフェースへの割り当て
仮想マシンのネットワークインターフェースへNSGを関連付けします。
関連付けは仮想マシンのネットワーク設定からできます。
ネットワークインターフェースへの関連付け | |
仮想マシンのメニューでネットワーク設定を選択します。 ネットワークインターフェースを選択します。 ネットワークインタフェースのメニューでネットワークセキュリティグループを選択します。
|
|
仮想マシンのメニューでセキュリティ規則を確認
仮想マシンに関連付けされているネットワークセキュリティグループは、ネットワーク設定のメニューで確認できます。
サブネット、ネットワークインターフェースに関連付けされているNSGのセキュリティ規則を確認できます。
セキュリティ規則を確認 |
関連付け先による違い
仮想マシンにNSGを関連付けする場合、サブネットとネットワークインターフェース2つの方法があります。
この2つの方法ではNSGの適用範囲が違います。
NGS関連付け対象 | 適用範囲 |
サブネット | サブネットに接続されているリソースに適用 |
ネットワークインターフェース | ネットワークインターフェースが関連付けされている仮想マシンに適用 |
サブネットとネットワークインターフェース両方にNSGを関連付けした場合
仮想マシンのネットワークインターフェースとサブネット両方にNSGを関連付けできます。
この場合両方のNSGのセキュリティ規則が適用されます。
サブネット | ネットワークインターフェース | 通信許可 |
許可 | 許可 | 許可 |
拒否 | 拒否 | |
拒否 | 許可 | 拒否 |
拒否 | 拒否 |
※サブネットに適用したNSG→ネットワークインターフェースに適用したNSGの順で処理されます。
仮想マシン作成時のNSGについて
NSGは仮想マシン作成と同時に作成することもできます。
仮想マシン作成時のNSG設定についてはこちらで紹介しています。
プライベートサブネットについて
仮想マシンなどのリソースからインターネットへのアウトバウンド通信を拒否するサブネットとしてプライベートサブネット(Azure Private Subnet)があります。
NSGの送信セキュリティ規則関わらず通信が拒否されます。
プライベートサブネット(Azure Private Subnet)についてはこちらで紹介しています。
最後に
NSGの機能概要からリソース作成、セキュリティ規則設定、仮想マシンで利用するための関連付け手順まで確認してみました。
通信許可設定を行うファイアウォール的なサービスでありとてもよく使われるサービスです。
インターネットから仮想マシンへのアクセス制御にも使われており、とても重要なサービスです。
間違った設定をしてしまうと、意図せぬアクセスが許可されてしまう場合もあります。
通信許可は最低限しながら使う事が重要かと思います。
引き続き色々試してみたいと思います。
仮想マシンからインターネットへのアクセスをWindows Updateのみに制限する手順についてはこちらで紹介しています。