次の方法で共有


ネットワーク セキュリティ グループによってネットワーク トラフィックをフィルター処理する方法

Azure ネットワーク セキュリティグループ (NSG) を使用して、Azure Virtual Network 内の Azure リソースとの間のネットワーク トラフィックをフィルター処理できます。 ネットワーク セキュリティ グループには、何種類かの Azure リソースとの送受信ネットワーク トラフィックを許可または拒否するセキュリティ規則が含まれています。 各規則で、送信元と送信先、ポート、およびプロトコルを指定することができます。

1 つの Azure 仮想ネットワークに、いくつかの Azure サービスのリソースをデプロイすることができます。 完全な一覧については、「仮想ネットワークにデプロイできるサービス」を参照してください。 仮想マシンの各仮想ネットワーク サブネットおよびネットワーク インターフェイスに、ゼロ個または 1 個のネットワーク セキュリティ グループを関連付けることができます。 同じネットワーク セキュリティ グループを、任意の数のサブネットとネットワーク インターフェイスに関連付けることができます。

次の図は、インターネットとの間で TCP ポート 80 を経由してネットワーク トラフィックを送受信できるようにネットワーク セキュリティ グループをデプロイするさまざまなシナリオを示しています。

NSG 処理の図。

Azure が受信規則と送信規則をどのように処理するかを理解するには、前の図を参照してください。 この図は、ネットワーク セキュリティ グループがトラフィック フィルター処理を処理する方法を示しています。

受信トラフィック

受信トラフィックの場合、Azure は、サブネットに関連付けられているネットワーク セキュリティ グループがあれば、まずその規則を処理し、次にネットワーク インターフェイスに関連付けられているネットワーク セキュリティ グループがあれば、その規則を処理します。 このプロセスにはサブネット内トラフィックも含まれます。

  • VM1: NSG1 は Subnet1 に関連付けられているため、NSG1 はセキュリティ規則を処理し、VM1Subnet1 に存在します。 DenyAllInbound の既定のセキュリティ規則は、規則でポート 80 の受信が明示的に許可されていない限り、トラフィックをブロックします。 NSG2 に関連付けられているネットワーク インターフェイスは、ブロックされたトラフィックを評価しません。 ただし、 NSG1 でセキュリティ規則でポート 80 が許可されている場合、 NSG2 はトラフィックを評価します。 仮想マシンへのポート 80 を許可するには、 NSG1NSG2 の 両方に、インターネットからのポート 80 を許可する規則を含める必要があります。

  • VM2:NSG1 の規則が処理されます。VM2Subnet1 内にあるためです。 VM2 はネットワーク インターフェイスに関連付けられたネットワーク セキュリティ グループを持たないため、NSG1 で許可されたすべてのトラフィックを受信するか、NSG1 によって拒否されたすべてのトラフィックが拒否されます。 トラフィックは、ネットワーク セキュリティ グループがサブネットに関連付けられている場合、同じサブネット内のすべてのリソースに対して許可または拒否されます。

  • VM3: Subnet2 にはネットワーク セキュリティ グループが関連付けられていないため、トラフィックはサブネットに対して許可され、NSG2 によって処理されます。NSG2 が、VM3 に接続されているネットワーク インターフェイスに関連付けられているためです。

  • VM4: ネットワーク セキュリティ グループが Subnet3 にも仮想マシンのネットワーク インターフェイスにも関連付けられていないため、VM4 へのトラフィックがブロックされます。 サブネットおよびネットワーク インターフェイスにネットワーク セキュリティ グループが関連付けられていない場合、すべてのネットワーク トラフィックがサブネットおよびネットワーク インターフェイスを介してブロックされます。 Standard パブリック IP アドレスを持つ仮想マシンは、既定でセキュリティで保護されています。 インターネットからトラフィックを流すには、仮想マシンのサブネットまたは NIC に NSG を割り当てる必要があります。 詳細については、「IP アドレスのバージョン」を参照してください。

送信トラフィック

送信トラフィックの場合、Azure はネットワーク インターフェイスに関連付けられているネットワーク セキュリティ グループがあれば、まずその規則を処理し、次にサブネットに関連付けられているネットワーク セキュリティ グループがあれば、その規則を処理します。 このプロセスにはサブネット内トラフィックも含まれます。

  • VM1:NSG2 のセキュリティ規則が処理されます。 インターネットへのポート 80 送信を拒否するセキュリティ規則を作成しない限り、NSG1NSG2 の両方のAllowInternetOutbound 既定セキュリティ規則によってトラフィックが許可されます。 NSG2 にあるセキュリティ規則でポート 80 が拒否される場合、トラフィックは拒否され、NSG1 によって評価されることはありません。 仮想マシンのポート 80 を拒否するには、ネットワーク セキュリティ グループのいずれかまたは両方に、インターネットへのポート 80 を拒否する規則が必要です。

  • VM2: すべてのトラフィックがネットワーク インターフェイスを介してサブネットに送信されます。VM2 に接続されているネットワーク インターフェイスに、ネットワーク セキュリティ グループが関連付けられていないためです。 NSG1 の規則が処理されます。

  • VM3: NSG2 にあるセキュリティ規則でポート 80 が拒否される場合、トラフィックが拒否されます。 NSG2 でポート 80 が拒否されない場合、ネットワーク セキュリティ グループが Subnet2 に関連付けられていないため、NSG2AllowInternetOutbound 既定セキュリティ規則によってトラフィックが許可されます。

  • VM4:ネットワーク セキュリティ グループが、仮想マシンに接続されているネットワーク インターフェイスにも Subnet3 にも関連付けられていないため、VM4 からのすべてのネットワーク トラフィックが許可されます。

サブネット内トラフィック

サブネットに関連付けられている NSG のセキュリティ規則は、その内部にある VM 間の接続に影響を与える可能性があることに注意することが重要です。 既定では、同じサブネット内の仮想マシンは、サブネット内トラフィックを許可する既定の NSG 規則に基づいて通信できます。 すべての受信トラフィックと送信トラフィックを拒否するルールを NSG1 に追加した場合、 VM1VM2 は相互に通信できません。

ネットワーク インターフェイスの有効なセキュリティ規則を表示すると、ネットワーク インターフェイスに適用されている規則の集計を簡単に確認できます。 Azure Network Watcher の [IP フローの確認] 機能を使って、ネットワーク インターフェイスの受信/送信が許可されているかどうかを確認することもできます。 IP フロー検証を使用して、通信が許可されているか拒否されているかを判断できます。 さらに IP フロー検証を使用して、トラフィックの許可または拒否を担当するネットワークのセキュリティ規則の ID を確認できます。

ヒント

特別な理由がない限り、ネットワーク セキュリティ グループをサブネットまたはネットワーク インターフェイスに関連付けることをお勧めします。両方に関連付けることは、お勧めしません。 サブネットに関連付けられているネットワーク セキュリティ グループの規則は、ネットワーク インターフェイスに関連付けられているネットワーク セキュリティ グループの規則と競合する可能性があります。 トラブルシューティングが必要な予期しない通信の問題が発生する可能性があります。

次のステップ