Azure NSGとは?(概要、設定例、セキュリティ規則設定、関連付け手順)

2022-07-08Azure,Network Security Group

NSG(ネットワークセキュリティグループ)やセキュリティ規則の概要から、仮想マシンへ適用する場合までの手順を紹介しています。
セキュリティ規則の設定内容や設定例についても紹介しています。
仮想マシンへの適用例では、NSGのリソース作成、受信セキュリティ規則作成、サブネットやネットワークインターフェースへの関連付けまでの一連の手順を確認しています。

※本記事中ではネットワークセキュリティグループ(Azure Network Security Group)をNSGとして記載しています。
※本記事はAzure上の仮想マシンに適用した場合を例に記載しています。

目次 

スポンサーリンク

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)
    • アクション(許可、拒否)
    • 名前(セキュリティ規則名)

ネットワークセキュリティグループ内で同じセキュリティ規則名は利用できません。
送受信のセキュリティ規則で同じセキュリティ規則名を設定できません。

セキュリティ規則設定画面例
受信セキュリティ規則の設定画面例ネットワークセキュリティグループの受信セキュリティ規則設定画面 送信セキュリティ規則の設定画面例ネットワークセキュリティグループの送信セキュリティ規則設定画面

各項目での選択肢の例です。
標準で多くのサービスが定義されています。

選択肢の例

各項目の選択肢の例です。
My IP addressはAzure PortalにアクセスしているIPアドレスが設定されます。
サービスで定義されてないポートを許可する場合は、Customを指定します。
Application security groupについては公式サイトの情報を参照ください。

アプリケーション セキュリティ グループ

ネットワークセキュリティグループのセキュリティ規則設定画面でのソース選択肢
ネットワークセキュリティグループのセキュリティ規則設定画面での宛先選択肢
ネットワークセキュリティグループのセキュリティ規則設定画面でのサービス選択肢

Service Tag(サービスタグ)とは?

Azure サービスのIP アドレス プレフィックスのグループを示します。
特定のAzureサービスからアクセスを許可したい場合などに利用します。
受信セキュリティ規則、送信セキュリティ規則ともにサービスタグが使えます。

仮想ネットワーク サービス タグ

Azureで提供されているサービスのIPがサービスタグとして定義されています。
宛先サービスタグやソースサービスタグでサービス名を選択します。

AzureサービスのIPレンジが変わっても自動的に更新されます。
ユーザー側で設定変更する必要がありません。

サービスタグの例

Azureサービス名もしくは、Azureサービス名.リージョン名と言う形で指定する事が出来ます。
InternetやVirtualNetworkもサービスタグの1つになります。
受信セキュリティ規則、送信セキュリティ規則で利用できるサービスタグが違う場合があります。

ネットワークセキュリティグループのセキュリティ規則設定画面でのサービスタグの選択肢表示例

セキュリティ規則は優先度の数値が小さい順で処理される

受信セキュリティ規則、送信セキュリティ規則ともに優先度の数値が小さい方から判断されます。

以下の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からのリモートデスクトップ接続が許可されない場合

Denyのセキュリティ規則の方が優先順位が上にあるためリモートデスクトップ接続が許可されない状態

203.0.113.0/24からのリモートデスクトップ接続が許可される場合

Allowのセキュリティ規則の方が優先順位が上にあるためリモートデスクトップ接続が許可される状態

NSGのセキュリティ規則設定例

NSGの設定例です。
受信のセキュリティ規則でインターネットからHTTPSを許可した場合、特定のIPアドレスからリモートデスクトップアクセスを許可した場合の例を紹介しています。

NSGの設定例

インターネットからHTTPSアクセスを許可する場合

ネットワークセキュリティグループ設定例(インターネットからHTTPSアクセスを許可する場合)

特定のIPアドレスからリモートデスクトップアクセスを許可する場合

ネットワークセキュリティグループ設定例(特定のIPアドレスからリモートデスクトップアクセスを許可する場合)

セキュリティ規則のソースのIPアドレスやポートは複数(範囲)指定できる

1つのセキュリティ規則内でIPアドレスやポート範囲を複数(範囲)指定できます。

複数指定した例
IPアドレスやポート範囲は複数(範囲)指定できます。 ネットワークセキュリティグループのセキュリティ規則設定で複数のIPアドレスやポートを指定した場合

セキュリティ規則の削除

ネットワークセキュリティグループやセキュリティ規則の削除はそれぞれボタンが用意されています。

※デフォルト規則は削除できません。

削除

ネットワークセキュリティグループやセキュリティ規則の削除方法

サービスタグのAzureLoadBalancerは192.63.129.16

IP アドレス 168.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

受信セキュリティ規則の設定手順です。

受信セキュリティ規則の追加
受信セキュリティ規則で追加を選択します。
受信セキュリティ規則の設定画面が表示されます。
ソース、宛先、通信内容、アクション、優先度、セキュリティ規則名などを設定します。
追加を選択します。
受信セキュリティ規則が追加されています。
My IP addressからRDP接続を許可する受信のセキュリティ規則を追加
追加後の受信のセキュリティ規則画面(追加されたルールが表示されています。)

サブネットへの関連付け

サブネットへのNSG関連付けは、仮想ネットワークのメニューからできます。
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のみに制限する手順についてはこちらで紹介しています。

スポンサーリンク