Azure NSG(Network Security Group)とは?設定や注意点を解説
Azureの仮想ネットワーク上のトラフィックを制御するためには、Azure NSG(Network Security Group)という機能が適しています。Azure NSGを適切に設定することにより、ネットワークを脅威から保護してセキュリティを強化することが可能です。この記事では、Azure NSGの概要や設定項目、注意点などについて詳しく解説します。
この記事の目次
Azure NSGとは
Azure NSGとは、仮想ネットワーク内のAzureリソースが送受信するトラフィックを制御する機能です。設定されたルールをもとにトラフィックを評価し、許可または拒否するファイアウォールのようなものです。
適切なアクセス制御を行わないと、悪意のある第三者によってネットワークやシステムに侵入されてしまうリスクがあります。外部から内部、および内部から外部への不正なアクセスを制限することは、セキュリティを高めるための基本的な対策です。
Azure NSGのセキュリティ規則
Azure NSGではトラフィックを評価するためのルールを「セキュリティ規則」と呼び、受信と送信それぞれで設定できます。
受信セキュリティ規則
外部から内部へ向かうトラフィックの制御を行います。例えばインターネットから、仮想マシンへのアクセスなどです。
送信セキュリティ規則
内部から外部へ向かうトラフィックの制御を行います。例えば仮想マシンから、インターネットへのアクセスなどです。
既定のセキュリティ規則
NSGを作成すると、既定のセキュリティ規則が設定されています。この内容は仮想ネットワーク間の送受信はすべて許可し、インターネットからの受信は拒否、送信は許可するものです。この既定のセキュリティ規則を削除することはできませんが、新たに優先順位の高いセキュリティ規則を設定することでオーバーライドすることはできます。
Azure NSGの関連付け
作成したNSGは仮想ネットワークのサブネット、または仮想マシンのNIC(ネットワークインターフェイス)に関連付けて適用できます。また、サブネットとNIC両方に関連付けたり、1つのNSGを複数のサブネット・NICに関連付けたりすることも可能です。
NSGを関連付けない場合、そのネットワークに対してすべてのトラフィックが許可される状態になるため注意しましょう。なお、仮想ネットワーク全体にNSGを関連付けることはできません。
Azure NSGとAzure Firewallの違い
Azure NSGと同じく、トラフィックを制御する機能としてAzure Firewallがあります。
2つの大きな違いは、Azure NSGがサブネットもしくは仮想マシンのNIC(Network Interface Card)上で機能するのに対し、Azure Firewallは仮想ネットワークとインターネットの境界で機能することです。つまり、Azure Firewallの保護範囲は仮想ネットワーク全体になります。Azure Firewallで外部からの通信をまとめて制御し、内部はNSGで細かく制御するなど、組み合わせて利用することでよりセキュリティを強化することが可能です。
Azure NSGはIPアドレスやポートレベルでの制御のみ可能ですが、Azure Firewallはアプリケーションなど上位レイヤーでのフィルタリング機能や、高度なセキュリティ機能も備わっています。StandardとPremiumの2つのプランが存在し、上位プランのPremiumではIDS・IPS(侵入検知・防御)の機能が利用できます。
また、Azure NSGは無償で利用できますが、Azure Firewallは有償のオプションとなっています。
Azure NSGの設定項目
Azure NSGでセキュリティ規則を作成する際は、次の項目を設定します。
名前
作成するセキュリティ規則の名前を設定します。NSG内で一意でなければなりません。長さは最大80文字で、文字のほかに“.”、 “-”、 “_”を使用することができますが、名前の先頭は記号ではなく文字にし、末尾は文字または“_”にする必要があります。
優先度
優先度を表す100~4096の数値を設定します。数値が小さいほど優先順位は高くなり、セキュリティ規則は優先順位にしたがって処理されます。トラフィックが優先順位の高い(数値が小さい)規則に一致して処理された場合、同じ条件の優先順位の低い(数値が大きい)規則は処理されません。
ソース/宛先
送信元・宛先それぞれのIPアドレス、CIDR(例:10.0.0.0/24)、サービスタグ(AzureサービスのIPアドレスをまとめたリスト)などを設定します。
ポート範囲
個別のポート番号、またはポート番号の範囲を設定します。
方向
セキュリティ規則が受信トラフィック・送信トラフィックのどちらに適用されるかを設定します。
プロトコル
通信のプロトコルを設定します。TCP、UDP、ICMP、ESP、AH、またはすべてを意味するAnyの中から選択します。
アクション
許可または拒否を設定します。
Azure NSGの注意点
Azure NSGを運用するうえで、注意すべきポイントについて解説します。
サブネットもしくはNICのどちらかに関連付ける
NSGをサブネットとNICの両方に関連付けることは可能です。しかし、それぞれの規則が競合して予期しない問題が発生する可能性があるため、推奨されていません。また、設定を変更する場合は両方のNSGのセキュリティ規則を更新する必要があるなど、設定の手間が増えてしまいます。できるだけどちらかだけに関連付けることがおすすめです。
Anyの許可は慎重に行う
ソースや宛先を指定せずに、すべてを意味する「Any」を許可する場合は注意が必要です。どこからでもアクセスできてしまうため、本番環境では避ける方が懸命でしょう。このほかにも、Azure NSGの設定ミスはセキュリティリスクにつながる可能性が高いため、慎重に行う必要があります。
Azure環境のセキュリティを強化するなら
Azure環境のセキュリティを強化するには、Azure NSGをはじめとするセキュリティ機能を適切に設定する必要があります。Azure NSGは柔軟な設定が可能な一方で、設定ミスがあると重大なセキュリティリスクにもつながりかねません。
Azure環境のセキュリティ面に不安がある場合、ITインフラを総合的にサポートするベアサポートにご相談ください。これまで培ってきたインフラ運用のノウハウをもとに、システムの特性やセキュリティ要件に応じた最適なインフラの設計構築・運用をサポートします。
まとめ
Azure NSGとは、仮想ネットワーク内のAzureリソースが送受信するトラフィックを制御する機能です。適切に設定することで、クラウド環境のセキュリティリスクを強化することができます。ただし複数の規則が競合したり、設定ミスによって思わぬセキュリティホールが発生したりする可能性もあるため、設定は慎重に行わなければなりません。
Azure環境のセキュリティに不安を感じたら、インフラ運用のプロフェッショナルであるベアサポートに相談するのがお勧めです。用途に合わせたセキュリティ設計と運用をサポートします。ぜひ検討されてみてはいかがでしょうか。