Azureネットワークセキュリティグループ(NSG)の纏めと作成から割り当てまで
ネットワークセキュリティグループ(NSG)の概要、セキュリティ規則で出来る事、設定方法について纏めてみました。
設定方法についてはネットワークセキュリティグループ(NSG)のリソース作成から仮想マシン(Azure VM)やサブネットへの割り当てまでを纏めています。
ネットワークセキュリティグループ(NSG)の受信セキュリティ規則を使って仮想マシン(Azure VM)へのRDP許可設定をやってみました。
ネットワークセキュリティグループ(NSG)とは
ネットワークセキュリティグループ(NSG)とは
Azureでネットワークアクセスの通信許可を行うファイアウォール的なサービスになります。
一番よく目にするのは仮想マシン(Azure VM)へのアクセス制御を行う場合かと思います。
ネットワークセキュリティグループ(NSG)ではセキュリティ規則を使って送受信のトラフィックに対するアクセス許可、拒否設定が出来ます。
許可するIPや通信ポートを制限したりと言ったアクセス制御が出来ます。
仮想マシン(Azure VM)やサブネットに割り当てる事でAzureリソースへアクセス制御を行う事が出来ます。
※仮想マシン(Azure VM)への割り当てはネットワークインターフェースへの割り当てになります。
無料で利用出来る
ネットワークセキュリティグループ(NSG)の利用は無料です。
受信セキュリティ規則と送信セキュリティ規則がある
NSGには受信セキュリティ規則と送信セキュリティ規則があります。
-
- 受信セキュリティ規則
- 外部から内部へのアクセス制御を行います
- 例としてはインターネットからの仮想マシン(Azure VM)へのアクセスやがあります
- 送信セキュリティ規則
- 内部から外部へのアクセス制御を行います
- 例としては仮想マシン(Azure VM)からインターネットやAzureのサービスへのアクセスがあります
- 受信セキュリティ規則
受信セキュリティ規則、送信セキュリティ規則 | |
受信セキュリティ規則と送信セキュリティ規則がセットで構成されています。 |
デフォルト規則
受信セキュリティ規則、送信セキュリティ規則ともにデフォルトで規則が設定されています。
外部からのアクセスはデフォルトでは仮想ネットワーク間のみ許可されています。
インターネットからのアクセスは許可されていません。
内部からのアクセスはインターネット、仮想ネットワークともに許可されています。
※仮想マシン(Azure VM)と同時に作成する場合など、他リソースと一緒に作成されるネットワークセキュリティグループ(NSG)は異なります。受信のセキュリティ規則が一緒に作成されます。
通信内容 | 受信セキュリティ規則 | 送信セキュリティ規則 |
仮想ネットワーク間 | 許可 ルール名: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で設定しています。 |
アクセス拒否された場合
ネットワークセキュリティグループ(NSG)によってアクセス拒否された場合はタイムアウトになります。
ネットワークセキュリティグループ(NSG)で拒否されたというメッセージはユーザー側に表示されません。
Service Tag(サービスタグ)って何
Azure サービスからの IP アドレス プレフィックスのグループを示します。
受信セキュリティ規則、送信セキュリティ規則ともにサービスタグが使えます。
Azureで提供されているサービスのIPがサービスタグとして定義されています。
宛先サービスタグでサービス名を選択できます。
利用しているAzureサービスのIPレンジが変わっても自動的に更新されます。
ユーザー側で設定変更する必要がありません。
サービスタグのAzureLoadBalancerは192.63.129.16
AzureLoadBalancerは仮想パブリック IP アドレスです。
Azure の正常性プローブの送信元になります。
また仮想マシン(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)はサブネットや仮想マシン(Azure 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の適用範囲が違います。
NGS割り当て対象 | 適用範囲 |
サブネット | サブネットに接続されているリソースが対象 |
ネットワークインターフェース | ネットワークインターフェースが関連付けされた仮想マシン(Azure VM)が対象 |
サブネットとネットワークインターフェース両方に割り当てた場合
仮想マシン(Azure VM)のネットワークインターフェースとサブネットそれぞれにネットワークセキュリティグループ(NSG)を割り当てる事が出来ます。
両方に割り当てた場合はそれぞれに割り当てたNSGのセキュリティ規則が適用されます。
サブネット | ネットワークインターフェース | 通信許可 |
許可 | 許可 | 許可 |
拒否 | 拒否 | |
拒否 | 許可 | 拒否 |
拒否 | 拒否 |
※サブネットに適用したNSG→ネットワークインターフェースに適用したNSGの順で処理されます。
送信元、受信先のネットワークセキュリティグループ(NSG)両方適用されます
両方の仮想マシン(Azure VM)にネットワークセキュリティグループ(NSG)が設定されている場合は両方で通信許可されている必要があります。
送信側は送信セキュリティ規則、受信側は受信セキュリティ規則でアクセス許可されている必要があります。
プライベートサブネット(Azure Private Subnet)について
プライベートサブネット(Azure Private Subnet)利用時のアウトバウンド通信についてはこちらに纏めています。
仮想マシン(Azure VM)作成時のネットワークセキュリティグループ(NSG)について
仮想マシン(Azure VM)作成時のNSGについてはこちらで纏めております。
併せて見て頂けると大変有難いです。
—広告—
最後に
ネットワークセキュリティグループ(NSG)について纏めてみました。
通信許可設定を行うファイアウォール的なサービスでありとてもよく使われるサービスです。
インターネットから仮想マシン(Azure VM)へのアクセス制御に使われておりとても重要なサービスです。
-
- 送受信セキュリティ規則で許可するネットワークアクセスは必要最低限
- 仮想マシン(Azure VM)等のリソースなどに適切に適用
外部から不用意にアクセスされる事されないように注意する事が重要かと思いました。