Azure VM ネットワークセキュリティグループでの制御について
このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、AWS CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、Azure VMにネットワークセキュリティグループが割り当てられていない問題について、リスクと対策を解説します。

ポリシーの説明
仮想マシンのすべてのネットワークインターフェース(NIC)に対して、直接またはサブネット経由でネットワークセキュリティグループ(NSG)をアタッチすることで、ネットワークレベルでのアクセス制御を実現します。NSGは、Azure VMへの不正アクセスを防ぐ最も基本的かつ重要な設定であり、不要なポート開放は防ぐようにしましょう。
修復方法
コンソールでの修復手順
Azure コンソールを使用して、VMにネットワークセキュリティグループを設定します。
1. NSGの作成
- Azure Portalで「ネットワークセキュリティグループ」→「作成」を選択
- 基本設定:
- リソースグループ:VMと同じリソースグループを選択
- 名前:例「nsg-vm-web-prod」(命名規則に従う)
- リージョン:VMと同じリージョンを選択
- 「確認および作成」→「作成」
2. セキュリティルールの設定(Webサーバーの例)
- 作成したNSGを開く
- 「受信セキュリティ規則」→「追加」
- 推奨セキュリティルール:
優先度 100: AllowSSHFromBastion - ソース: Bastionサブネットまたは特定管理IP - ポート: 22 - プロトコル: TCP - アクション: Allow 優先度 200: AllowHTTPFromLoadBalancer - ソース: AzureLoadBalancer サービスタグ - ポート: 80 - プロトコル: TCP - アクション: Allow 優先度 300: AllowHTTPSFromInternet - ソース: Internet サービスタグ - ポート: 443 - プロトコル: TCP - アクション: Allow 優先度 4096: DenyAllInbound(既定ルール) - すべての未定義トラフィックを拒否
3. VMへのNSG適用(推奠:サブネットレベル)
- 「仮想ネットワーク」→ VMが所属するVNetを選択
- 「サブネット」→ VMが所属するサブネットを選択
- 「ネットワークセキュリティグループ」で作成したNSGを選択
- 「保存」

4. VMへのNSG適用(NICレベル – 特殊な場合のみ)
- 対象のVMを選択
- 「ネットワーク」→「ネットワークインターフェース」を選択
- 「ネットワークセキュリティグループ」→「編集」
- 作成したNSGを選択し「保存」


5. 適用の確認
- VMの「ネットワーク」セクションで「有効なセキュリティ規則」を確認
- Azure Network Watcherの「IPフロー検証」でトラフィックフローをテスト
- 「セキュリティグループビュー」でルールの優先順位と競合を確認
- 必要な通信が許可されていることを実際にテスト
最後に
この記事では、Azure VMにネットワークセキュリティグループが割り当てられていない問題について、リスクと対策を解説しました。
NSGは「Azureの第一の防御線」であり、ゼロトラストセキュリティモデルの基礎となるコントロールです。2024年の脅威ランドスケープを考慮すると、NSGなしでVMをインターネットに公開することは、「鍵をかけずに家を出る」ようなものです。
特に重要なのは、NSGの設定だけでなく、継続的な監視と改善です。NSG Flow LogsやTraffic Analyticsを活用し、異常なトラフィックパターンを早期に発見し、対応することが不可欠です。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。NSG未設定のVMをリアルタイムで検出し、自動修復ワークフローも提供しています。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。
CSPMについてはこちらで解説しております。併せてご覧ください。

