Azure Virtual Networkの展開を安全にしましょう

Azure Virtual Network は、Azure のプライベート ネットワークの基本的な構成要素です。 Azure Virtual Networkは、Azureリソース同士、インターネット、オンプレミスネットワークと安全に通信するのを支援します。 セキュアな仮想ネットワーク展開は、ネットワークセグメンテーション、トラフィック検査、アイデンティティ制御、監視、レジリエント設計を用いてネットワークインフラを保護し、リソースへの不正アクセスを防ぎます。

この記事では、Azure Virtual Networkのセキュリティ推奨事項を提供します。 これらの推奨を実施することで、セキュリティ義務を果たし、展開全体のセキュリティ体制を向上させることができます。 Azureのネットワークセキュリティサービスの概要とそれらがどのように連携しているかについては、「Azureネットワークセキュリティとは何か?」をご覧ください。

この記事のセキュリティに関する推奨事項では、ゼロ トラストの原則 ("明示的に確認する"、"最小限の特権アクセスを使用する"、"侵害を想定する") が実装されています。 包括的なゼロ トラスト ガイダンスについては、 ゼロ トラスト ガイダンス センターを参照してください。

ネットワークのセキュリティ

仮想ネットワークのネットワークセキュリティは、トラフィックフローの制御、セグメンテーションの実施、外部からの脅威からの保護に焦点を当てています。 適切なネットワーク制御は、ワークロードの分離、横移動の防止、分散型サービス拒否攻撃への防御に役立ちます。

  • ネットワークセキュリティグループおよびアプリケーションセキュリティグループを用いてワークロードをセグメント化:サブネットやネットワークインターフェースにネットワークセキュリティグループ(NSG)を適用し、送信元IP、宛先IP、ポート、プロトコルに基づいて受信および送信トラフィックを制御します。 アプリケーションセキュリティグループを使って仮想マシンを論理的にグループ化し、アプリケーション構造に基づいてネットワークセキュリティポリシーを定義します。 攻撃対象を減らすために、デフォルト拒否・許可例外方式を採用しましょう。 詳細については、「ネットワーク セキュリティ グループ」を参照してください。

  • セキュリティ管理者ルールを使ってベースラインネットワークルールを強制する:Azure Virtual Network Managerのセキュリティ管理者ルールを使い、管理された仮想ネットワーク間でルールを一元的に適用し、Always allow、denly(常に許可)および拒否(den)を適用します。 これらを使って、高リスクのポートをブロックし、セグメンテーションを強制し、ワークロードレベルのNSGの誤設定が組織全体のポリシーを回避するリスクを軽減します。 詳細については、Azure Virtual Network Managerのセキュリティ管理者ルールをご覧ください。

  • Azure Firewallを導入して集中型かつステートフルな保護を実現:Azure Firewallを使って、仮想ネットワーク全体の受信・送信トラフィックを完全ステートフルなパケット検査で制御します。 集中型ファイアウォールポリシーを使って、アプリケーションやネットワークのルールを大規模に定義・管理しましょう。 脅威インテリジェンスに基づくフィルタリングを有効にしてください。 Azure Firewall Premiumと侵入検知・防止システム(IDPS)を組み合わせて、悪意のあるネットワークトラフィックを監視・ブロックしましょう。 詳細については、「 Azure Firewall」を参照してください。

  • Azure DDoSネットワーク保護を有効にする:パブリックIPリソースを持つ仮想ネットワークでAzure DDoSネットワーク保護を有効にし、分散型サービス拒否攻撃から防御します。 DDoSネットワーク保護は仮想ネットワーク全体の保護に、個別の公共IPリソースに対して保護対象のIP課金カバレッジが必要な場合はDDoS IP保護を活用してください。 詳細については、Azure DDoS Protection の概要に関する記事を参照してください。

  • サービス タグを使用してセキュリティ規則を簡略化する: 特定の IP アドレスを NSG ルールのサービス タグに置き換えて、セキュリティを維持しながら Azure サービスとの通信を許可します。 IP 範囲の変更に合じて、サービス タグが自動的に更新されます。 詳細については、「サービス タグ」を参照してください。

  • Azure Bastionを実装して安全なRDPおよびSSHアクセスを実現:Azure Bastionを使って、RDPやSSH経由で仮想マシンを公開インターネットに露出させずに安全に接続します。 BastionはVM上のパブリックIPアドレスを不要にし、攻撃面を削減します。 詳細については、「 Azure Bastion」を参照してください。

  • Azure NAT Gatewayをアウトバウンドトラフィックに実装する:Azure NAT Gatewayを使って、仮想ネットワークリソースと安全でスケーラブルな出口トラフィックに静的なアウトバウンドIPアドレスを提供します。 NATゲートウェイはポートの枯渇を防ぐのにも役立ちます。 詳細については、 Azure NAT ゲートウェイに関するページを参照してください。

  • AzureサービスにプライベートエンドポイントとPrivate Linkを使う:仮想ネットワーク内のプライベートエンドポイント経由でAzure PaaSサービスにアクセスするには、Azure Private Linkを使いましょう。 Private LinkはプライベートエンドポイントトラフィックをMicrosoftのバックボーンネットワーク上で保持します。 対象サービスが対応している場合は、パブリックネットワークアクセスを無効にするか、サービスファイアウォールを設定してパブリックアクセスを阻止してください。 詳細については、Azure Private Link に関するページを参照してください。

  • プライベートサービスアクセスにおいてプライベートエンドポイントを優先すること:サポートされている場合はプライベートエンドポイントを使用し、サービスが仮想ネットワーク内のプライベートIPアドレスで表現され、プライベートDNSやネットワークポリシーを利用できます。 サービスエンドポイントは、Private Linkが利用できない場合やサービス固有の要件が必要な場合のみ使用してください。 サービスエンドポイントを使用する大規模なIaaSからPaaSへのアクセスについては、ネットワークセキュリティペリメーター統合を備えた標準サービスエンドポイント(プレビュー版)を評価してください。ただし、プライベート接続やデータ流出保護を提供しないため、Private Linkと同等扱いしないでください。 詳細については、「プライベートエンドポイントとは何か?」「プライベートエンドポイントのネットワークポリシー管理」「仮想ネットワークサービスエンドポイント」「Azure標準サービスエンドポイント」をご覧ください。

  • 仮想ネットワークのピアリングを意図的に安全に行う:ピアリングを2つの仮想ネットワーク間の直接的かつ非推移的な接続として扱う。 必要なすべてのパスに対して明示的なピアリングを作成し、ピア接続されたアドレス空間に対してNSGおよびルートルールを適用し、ハブアンドスポーク設計でオンプレミス接続の共有が必要な場合にのみゲートウェイトランジットまたはリモートゲートウェイを有効にします。 詳細については、 Virtual Network peering および 「Virtual Network peering の作成、変更、削除」をご覧ください。

  • 既定でプライベートとしてサブネットを構成する: パブリック インターネット アクセスを必要としないサブネットの場合は、プライベート サブネットとして構成します。 必要に応じて制御されたアウトバウンドアクセスにはAzure FirewallまたはNATゲートウェイを使いましょう。 詳細については、「Azure での既定の送信アクセス」を参照してください。

  • パブリックIPアドレスの使用を制限する:Azure Front DoorやApplication Gatewayなどのサービスからの共有パブリックIPアドレスを使い、パブリックIPアドレスの数を最小限に抑えます。 パブリックIPアドレスが必要な場合は、適切なポート管理、トラフィックフィルタリング、リクエスト検証を実施してください。 詳細については、「 パブリック IP アドレス」を参照してください。

  • IPv6のデュアルスタックセキュリティ制御を明示的に計画する:IPv6を有効にする場合、デュアルスタックIPv4およびIPv6アドレス空間およびサブネットを定義し、IPv6トラフィック用のNSGルールを設定し、IPv6専用VMやAzure Firewallサポートなどの機能制限を検証します。 詳細については、Azure Virtual NetworkのIPv6を参照してください。

  • サポートされるサービス統合のためにサブネットのみを委任してください:Azureサービスを仮想ネットワークサブネットに注入する必要がある場合はサブネット委任を用いてください。 サブネットを委任する前に、サービスのネットワーク意図ポリシー、NSGサポート、ルートテーブルサポート、プライベートエンドポイントの制約を確認してください。 詳細は サブネット委任を参照してください。

  • フォレンジック分析用にパケット キャプチャを構成する: 仮想マシンでパケット キャプチャを有効にするか、VPN Gateway パケット キャプチャを使用してセキュリティ分析とインシデント調査のためにネットワーク トラフィックを記録します。 詳細については、Network WatcherのパケットキャプチャおよびVPN Gatewayのパケットキャプチャの設定をご覧ください。

アイデンティティとアクセス管理

仮想ネットワークのアイデンティティおよびアクセス管理は、誰がネットワークリソースを作成・変更・削除できるか、また特権ネットワーク運用の保護方法を制御します。 強力なアイデンティティコントロールは不正なネットワーク変更を防ぎ、ネットワークインフラのセキュリティ体制を維持します。

  • ネットワークリソースアクセスにAzure RBACを活用する:ネットワーク貢献者などの適切な組み込みロールや、仮想ネットワークや関連リソースの作成・変更・削除を誰が管理できるかを特定権限を持つカスタムロールを割り当てます。 最小限の特権の原則に従います。 詳細については、Azure RBACのネットワーク用内蔵役割をご覧ください。

  • ネットワークロールに最小権限を適用する:ネットワーク関連ロールにはノーアクセスマインドセットでロールベースのアクセス制御を設定しましょう。 ユーザーが職務に必要なネットワーク設定のみを変更できるようにしましょう。 詳細については、 Azure RBAC のベスト プラクティスに関するページを参照してください

  • Microsoft Entra IDを集中型IDに活用:ネットワークリソースや関連Azureサービスへのアクセスを管理するための中央集権型IDプロバイダーとしてMicrosoft Entra IDを活用しましょう。 各サービスに対してスタンドアロン認証情報ではなくシングルサインオンを導入し、攻撃面やパスワード要件を減らしましょう。 詳細については、「 アプリケーションへのシングル サインオン」を参照してください。

  • ネットワーク管理者向けの条件付きアクセスを実装する:条件付きアクセスポリシーを設定し、多要素認証を義務付け、ユーザーの位置、デバイスコンプライアンス、リスクレベルに基づいてネットワーク管理操作へのアクセスを制限します。 詳細については、「 条件付きアクセス」を参照してください。

  • ネットワーク管理者への多要素認証の強制:ネットワーク管理権限を持つすべてのユーザーに多要素認証を義務付け、パスワードを超えたセキュリティ層を追加し、認証情報に基づく攻撃のリスクを低減します。 詳細については、「Microsoft Entra MFA 多要素認証」を参照してください。

  • ネットワーク操作に Just-In-Time アクセスを使用する: Microsoft Entra Privileged Identity Management を実装して、ネットワーク管理ロールへの時間制限付きアクセスを提供します。 ジャストインタイムアクセスは、特権認証情報の露出ウィンドウを短縮します。 詳細については、「 Privileged Identity Management」を参照してください。

  • ネットワーク統合ワークロードにマネージドIDを使う:他のAzureサービスにアクセスする必要がある仮想ネットワークのAzureリソースに対してマネージドIDを有効にします。 マネージドIDは、ワークロードコードや設定に蓄積された認証情報を排除し、ネットワーク接続に依存するサービスの認証情報露出を削減します。 詳細については、「マネージド ID」を参照してください。

  • 専用管理アカウントと特権アクセスデバイスを使う:専用管理アカウントの標準作業手順を作成します。 ネットワーク管理者が管理作業を行う場合には、多要素認証付きの特権アクセスデバイスを使用してください。 詳細については、「 特権アクセスデバイスの保護」をご覧ください。

  • ユーザーアクセスを定期的に見直し、照合する:グループメンバーシップ、エンタープライズアプリケーションアクセス、役割割り当てを管理するために定期的なアクセスレビューを実施します。 ネットワーク管理機能へのアクセスを継続できるのはアクティブなユーザーだけであることを確認しましょう。 詳細については、「Microsoft Entra のアクセス レビュー」をご覧ください。

データ保護

仮想ネットワークのデータ保護は、ネットワークインフラを横断するデータのセキュリティ保護と、ネットワーク通信の傍受や改ざんから保護することに焦点を当てています。

  • トランスミッション中の暗号化を有効にする:すべてのネットワークトラフィックにTLS 1.2以上の暗号化プロトコル、VPN接続用のIPsec、アプリケーション通信用の暗号化プロトコルの使用を義務付けます。 Azure では、Azure データセンター間のトラフィックに対して既定で暗号化が提供されます。 詳細については、「 転送中の暗号化」を参照してください。

  • 対応するVMトラフィックに対してAzure Virtual Network暗号化を有効にする:Azure Virtual Network暗号化を使用して、同じ仮想ネットワーク内のサポートされている仮想マシン間および地域別およびグローバルピアリングされた仮想ネットワーク間でデータを暗号化します。 暗号化を有効にする前に、特にAzure Firewall、ExpressRouteゲートウェイ、Private Linkサービス、またはサポートされていないVM SKUを使用する仮想ネットワークでは、サポートされるVMサイズ、Accelerated Networkingの要件、トポロジーの制限を確認してください。 詳細については、「 Azure Virtual Network の暗号化」を参照してください。

  • ExpressRoute DirectポートでMACsecを有効にする:ExpressRoute Direct接続の場合、MACsecを有効にしてエッジルーターとMicrosoftのエッジルーター間でレイヤー2暗号化を提供し、データの機密性と完全性を確保します。 詳細については、 ExpressRoute DirectポートについてはMACsecを参照してください。

ログ記録と監視

仮想ネットワークのログ記録と監視は、トラフィックパターン、設定変更、セキュリティイベント、潜在的な脅威の可視化を提供します。 集中監視はインシデント対応、脅威検出、コンプライアンス報告を支援します。

  • トラフィック監視のための仮想ネットワークフローログを有効にする:NSGフローログの後継である仮想ネットワークフローログを設定し、仮想ネットワークを通過するIPトラフィックの情報を取得します。 フローログをAzure Storageアカウントに送信し、ユーザー割り当ての管理IDを使ってストレージアカウントに安全にアクセスできます。 トラフィックアナリティクスを有効にしてログを処理し、結果をLog Analyticsワークスペースに保存して可視化や脅威検出が可能にします。 NSG フロー ログは、2027 年 9 月 30 日に廃止されます。 2025年6月30日以降は、新しいNSGフローログを作成できません。 既存のNSGフローログ展開を仮想ネットワークフローログに移行します。 詳細については、 Virtual Network flow logsManaged Identity for virtual network flow logs、および Migrate from NSG flow log to virtual network flow log をご覧ください。

  • Azure Monitorを使ったログ収集の集中化:仮想ネットワークやネットワークセキュリティグループで診断設定を設定し、リソースログをLog Analyticsワークスペースに送信し、集中分析と相関管理を行います。 仮想ネットワークフローログをTraffic Analytics経由でLog Analyticsに送信し、ログはAzure Storageアカウントにアーカイブして長期保存します。 詳細については、ネットワークセキュリティグループについては 「仮想ネットワークの監視 」および 「Diagnostic Logging」を参照してください。

  • Microsoft Defender for Cloud を有効にする: Microsoft Defender for Cloud を使用して、仮想ネットワーク リソースのセキュリティ構成と脅威を監視します。 ネットワーク接続されたワークロードをカバーするDefender for Cloudプラン(例:Defender for Servers、Defender for Storage、Defender for Databases)を有効にして、包括的な保護を実現します。 詳しくは、 Microsoft Defender for Cloudに関するページをご覧ください。

  • セキュリティアラートと通知の設定:NSGルールの変更、異常なトラフィックパターン、ファイアウォールブロック、DDoS攻撃指標などの重要なネットワークセキュリティイベントに対してAzure Monitorアラートを設定しましょう。 アクショングループを設定してセキュリティチームに自動的に通知します。 詳細については、「 Azure Monitor アラート」を参照してください。

  • 接続調査にはNetwork Watcherの診断を使う:接続モニターは継続的なエンドポイント監視に、IPフロー検証とNSG診断はセキュリティルールの決定を検証し、次ホップはルーティングを確認し、対応仮想マシンやスケールセットではインシデント調査のためのパケットキャプチャを行う。 詳細については、Network Watcher接続モニターPacket captureをご覧ください。

  • 高度な脅威検出にMicrosoft Sentinelを活用しましょう:仮想ネットワークフローログやトラフィック分析データをMicrosoft Sentinelにストリーミングし、高度なセキュリティ分析、脅威ハンティング、自動対応を実現します。 詳細については、「トラフィック分析データをMicrosoft Sentinelに連結する」をご覧ください。

  • 特権ネットワーク活動の監視:NSGの変更、ルートテーブルの変更、ファイアウォールルールの更新など、特権ネットワーク操作のログと監視を有効にします。 Azure アクティビティ ログと Azure Monitor を使用して、管理アクションを追跡します。 詳細については、「 Azure アクティビティ ログ」を参照してください。

コンプライアンスとガバナンス

仮想ネットワークのコンプライアンスとガバナンスは、組織全体で一貫したネットワークセキュリティ管理、リソースインベントリ、ポリシーの執行、セキュリティテスト、インシデント対応を確保するのに役立ちます。

  • ガバナンスとリソースの制限に Azure Policy を使用する: Azure Policy 定義をデプロイして、仮想ネットワークのセキュリティ標準を適用します。 これらの定義は、サブネットに対するNSGを義務付けたり、特定のセキュリティルールを義務付けたり、パブリックIPアドレスの作成を阻止したりすることができます。 「 Not allowed resource types 」や 「Allowed resource types 」などの組み込みポリシー定義を使って、リソース作成を制限します。 詳細については、 仮想ネットワークの Azure Policy に関するページを参照してください。

  • 組織のためのネットワークリソースタグ:仮想ネットワーク、サブネット、NSGおよび関連リソースに一貫したタグを適用し、組織化、コスト管理、セキュリティポリシーの執行を支援します。 タグやNSGルール記述を用いて、ビジネスニーズ、期間、その他の情報をセキュリティ監査やルール管理のために記録します。 詳細については、「リソースの タグ付け」を参照してください。

  • リソース設定の変更を監視する:Azure Resource Graphを使ってサブスクリプション間でネットワークリソースをクエリ・発見しましょう。 重要なネットワーク構成に対する未承認の変更に対するアラートを設定します。 詳細については、「 Azure Resource Graph」を参照してください。

  • 標準化された構成管理を実装する: Azure Resource Manager テンプレートまたは Bicep を使用して、ネットワーク構成を一貫して定義してデプロイします。 テンプレートをバージョン管理に保存し、ネットワークの変更管理プロセスを実装します。 詳細については、「Bicepファイルの構造と構文を理解する」をご覧ください。

  • Azureのルール内で定期的なペネトレーションテストを実施しましょう:ワークロードチームの外部専門家に定期的なペネトレーションテストを実施させましょう。 Microsoft Cloudのペネトレーションテストのルール・オブ・エンゲージメントを遵守してください。 DDoSのレジリエンステストには、承認されたDDoSシミュレーションパートナーを使用してください。 詳細については、 ペネトレーションテストをご覧ください。

  • ネットワークセグメンテーションの検証:ネットワークセグメンテーションの制御を定期的にテストし、あるセグメントのリソースが意図されていない限り他のセグメントのリソースにアクセスできないようにしましょう。 Azure Virtual Network Managerのプリプロダクション環境でVirtual Network Verifierを使って、リソース間の接続性をテストし、アクセス可能でポリシーでブロックされていないか確認してください。 詳細については、「 仮想ネットワーク検証ツール」を参照してください。

  • レジリエンステストにAzure Chaos Studioを使う:Azure Chaos Studioを使ってネットワーク接続の障害をシミュレートし、障害シナリオでもセキュリティコントロールが有効であることを検証します。 詳細については、「Azure Chaos Studio fault and action libraryを参照してください。

  • Microsoft Defender for Cloudのアラートをインシデント対応に統合する:Microsoft Defender for Cloudアラートを使ってネットワークセキュリティインシデントの優先順位をつけましょう。 アラートや推奨を連続エクスポートでエクスポートし、Microsoft Sentinelにアラートをストリーミングして集中管理できます。 詳細については、「Continuous export Defender for Cloud data」をご覧ください。

  • インシデント対応の自動化:Microsoft Defender for Cloudのワークフロー自動化機能を使い、Logic Appsを通じてAzureネットワークリソースに影響を与えるセキュリティアラートや推奨事項の応答をトリガーします。 詳細については、Defender for Cloudのワークフロー自動化をご覧ください。

バックアップと回復

仮想ネットワークのバックアップと復旧は、ネットワーク構成の保存と、誤って削除された後、設定エラー、攻撃、地域的な混乱の迅速な接続回復に重点を置いています。 仮想ネットワークは従来のデータバックアップを必要としませんが、設定の保存やテスト済みの復旧手順が非常に重要です。

  • ネットワーク構成をコードとしてインフラとして管理する:BicepまたはARMテンプレートで仮想ネットワーク、サブネット、NSG、ルートテーブル、ピアリング、関連するネットワーク構成を定義し、ソース管理に格納します。 そのリポジトリをリカバリーの真実の源とみなしましょう。 ポータルエクスポートは、レビュー済みの時点スナップショットやブートストラップとしてのみ使用し、継続的な真実の情報源としては使いません。 詳細については、「Azureポータルからのテンプレートエクスポート」および「既存AzureリソースからのBicepエクスポート」をご覧ください。

  • 回復力パターンのためにVNet対VNetピアリングを活用してください:適切な場合、仮想ネットワークピアリングを備えたハブアンドスポークまたはマルチリージョン接続パターンを設計しましょう。 ピアリングは、地域隔離、ルーティング制御、テスト済みフェイルオーバー手順と組み合わせることで、レジリエントなサービス通信および災害復旧設計を支援できます。 詳細については、仮想ネットワーク ピアリングをご覧ください。

  • 攻撃による障害に対する回復力のためのDDoS防護計画を付与する:パブリックIPリソースを持つ仮想ネットワークでAzure DDoSネットワーク保護を有効にし、ボリューメトリック攻撃がサービス障害を引き起こす前に軽減します。 セカンダリまたはフェイルオーバーの仮想ネットワークにも同等のDDoS保護が施されていることを確認してください。 詳細については、Azure DDoS Protection の概要に関する記事を参照してください。

  • 接続されたリソースや顧客管理キーのバックアップ:仮想ネットワークは従来のバックアップを必要としませんが、ネットワークに接続された仮想マシンやその他のリソースは適切にAzure Backupで保護されていることを確認してください。 ネットワーク環境で顧客管理キーを暗号化に使う場合は、Azure Key Vaultに鍵をバックアップし、ソフト削除とパージ保護を有効にしてください。 詳細については、Azure Backup および Azure Key Vault backup をご覧ください。

次のステップ