ネットワーク セキュリティ グループと Windows IaaS VM を実装する

完了

Contoso 社のシステム管理者は、IaaS を使用して Microsoft Azure でホストされているすべてのサービスが、会社の厳格なセキュリティ要件を満たしていることを確認する必要があります。 ネットワーク トラフィックを適切にセキュリティで保護するには、NSG を設定します。

ネットワーク セキュリティ グループ

NSG は、受信および送信ネットワーク トラフィックをフィルター処理します。 NSG のセキュリティ規則を構成すると、特定の種類のトラフィックを許可または拒否することで、ネットワーク トラフィックを制御できます。

NSG は次のものに割り当てることができます。

  • そのインターフェイスでのみ、ネットワーク トラフィックをフィルター処理するネットワーク インターフェイス。
  • サブネット内のすべての接続されたネットワーク インターフェイスのトラフィックをフィルター処理するサブネット。

NSG は、ネットワーク インターフェイスとサブネットの両方に割り当てることもできます。 次に、各 NSG が個別に評価されます。

A graphic depicts a subnet object that contains two VMs, VM1 and VM2. VM1 is protected through the assignment of an NSG called NSG1. The entire subnet is protected by an NSG called NSG2.

受信トラフィックの場合、次の処理が行われます。

  1. 受信トラフィックは、サブネットに適用された NSG によって最初に評価されます。
  2. 受信トラフィックは、ネットワーク インターフェイスに適用された NSG によって評価されます。

ただし、送信トラフィックの場合、次の処理が行われます。

  1. VM からの送信トラフィックは、まずネットワーク インターフェイスに適用された NSG によって評価されます。
  2. VM からの送信トラフィックは、サブネットに適用された NSG によって評価されます。

ヒント

個々のネットワーク インターフェイスでなくサブネットに NSG を適用することで、管理作業を減らすことができます。これにより、指定したサブネット内のすべての VM を同じ規則のセットで保護できます。

セキュリティ規則

NSG には、フィルター処理されたネットワーク トラフィックを許可または拒否するために使用されるセキュリティ規則が含まれます。

NSG セキュリティ規則のプロパティの概要を次の表に示します。

プロパティ 説明
名前 ネットワーク セキュリティ グループ内で一意の名前。
優先順位 100 ~ 4096 の数値。 小さい数値の方が優先順位が高く、先に処理されます。
送信元または送信先 すべて、または個別の IP アドレス、クラスレス ドメイン間ルーティング (CIDR) ブロック (例: 10.0.0.0/24)、サービス タグ、またはアプリケーション セキュリティ グループ。 受信トラフィックの場合、ネットワーク セキュリティ グループが処理されるタイミングは、Azure でパブリック IP アドレスがプライベート IP アドレスに変換された後です。送信トラフィックの場合は、Azure でプライベート IP アドレスがパブリック IP アドレスに変換される前になります。
プロトコル 伝送制御プロトコル (TCP)、ユーザー データグラム プロトコル (UDP)、インターネット制御メッセージ プロトコル (ICMP)、または任意。
方向 規則が受信トラフィックまたは送信トラフィックに適用されるかどうか。
ポート範囲 個々のポートまたはポートの範囲 (たとえば、10000 から 10005)。 ワイルドカード (*) を使用することもできます。
操作 トラフィックの許可または拒否。
説明 規則の目的を説明するための省略可能なプロパティ。

注意

規則の方向を規則のプロパティとして定義することはできません。 まず、インバウンド規則またはアウトバウンド規則を作成します。

重要

ネットワーク トラフィックがネットワーク セキュリティ規則と一致すると、そのセキュリティ規則がネットワーク トラフィックに使用されます。 そのネットワーク トラフィックに対し、その後のセキュリティ規則がさらに評価されることはありません。 ただし、その他のネットワーク トラフィックは、その後のセキュリティ規則に対して評価されます。

既定セキュリティ規則

NSG には、3 つの受信セキュリティ規則および 3 つの送信セキュリティ規則があり、変更することはできません。 これらの既定の規則の目的は次のとおりです。

  • 仮想ネットワーク内および Azure ロード バランサーからの接続が許可されます。
  • インターネットへの送信方向の通信が許可されます。
  • インターネットへのすべてのトラフィックが拒否されます。

次の表では、3 つの既定の受信規則について説明します。

優先度 規則名 説明
65000 AllowVnetInbound サブネット内の VM から VM に送信されるインバウンドを許可します。
65001 AllowAzureLoadBalancerInbound 既定のロード バランサーからサブネット内の VM へのトラフィックを許可します。
65500 DenyAllInBound 外部の送信元から VM へのトラフィックを拒否します。

次の表では、既定の送信規則について説明します。

優先度 規則名 説明
65000 AllowVnetOutbound サブネット内の任意の VM から任意の VM への送信トラフィックを許可します。
65001 AllowInternetOutbound VM からインターネットに送信されるアウトバウンド トラフィックを許可します。
65500 DenyAllOutBound 内部の VM から仮想ネットワークの外部のシステムへのトラフィックを拒否します。

ヒント

既定の規則は追加できます。

Contoso 社の IT 部門が Microsoft リモート デスクトップを使用して Azure VM に接続する場合は、RDP トラフィックを許可する受信セキュリティ規則をネットワーク セキュリティ グループに追加できます。 受信 RDP は、Azure portal を使用して Azure VM を作成するときに自動的に追加できる既定の規則の 1 つです。

注意

独自のニーズに対応する優先順位の高い規則を作成することにより、既定の規則をオーバーライドできます。

拡張セキュリティ規則

簡略化するセキュリティ規則が多数ある場合は、拡張セキュリティ規則を使用できます。 拡張規則により、次のオプションを 1 つのセキュリティ規則に追加できます。

  • 複数の IP アドレス
  • 複数のポート
  • サービス タグ
  • アプリケーション セキュリティ グループ

たとえば、Contoso 社の IT 部門は、データセンター内の特定のリソースへのアクセスを制限する必要がありますが、リソースは複数のネットワーク アドレス範囲に分散されています。 拡張規則を使うと、これらの範囲をすべて 1 つの規則に追加して、ネットワーク セキュリティ グループ管理のオーバーヘッドを減らすことができます。

注意

規則のソースまたは宛先とポート範囲の各フィールドに、拡張規則を使用することもできます。

サービス タグ

サービス タグは、指定された Azure サービスからの IP アドレス プレフィックスのグループを表します。 セキュリティ規則を作成するときに、特定の IP アドレスの代わりにサービス タグを使用できます。 規則の適切なソースまたは宛先フィールドにサービス タグ名 (AzureBackup など) を指定することで、そのサービスのトラフィックを拒否または許可できます。

注意

独自のサービス タグを作成することはできません。 サービス タグに含まれるアドレス プレフィックスの管理は Microsoft が行い、アドレスが変化するとサービス タグは自動的に更新されます。これにより、ネットワーク セキュリティ規則に対する頻繁な更新の複雑さを最小限に抑えられます。

サービス タグを使用すると、次のことができます。

  • ネットワーク分離を実現し、パブリック エンドポイントを持つ Azure サービスへのアクセス時に一般のインターネットから Azure リソースを保護できます。
  • 受信または送信ネットワーク セキュリティ グループの規則を作成して、インターネットとの間のトラフィックを拒否し、Azure Cloud Services との間のトラフィックを許可します。

注意

サービス タグを使用して、ネットワーク セキュリティ グループおよび Azure Firewall でのネットワーク アクセス制御を定義できます。

次の表に、使用可能なサービス タグの例をいくつか示します。

タグ 説明
VirtualNetwork このタグは、Azure 内の (ハイブリッド接続を使っている場合は、さらにオンプレミスのネットワーク内の) あらゆる仮想ネットワーク アドレスを表します。
AzureLoadBalancer このタグは、Azure のインフラストラクチャのロード バランサーを表します。 このタグは、Azure の正常性プローブの送信元となるホストの仮想 IP アドレス (168.63.129.16) に変換されます。
インターネット 仮想ネットワーク アドレスの外にあり、パブリックに到達できるあらゆるものを表します (パブリック IP アドレスを持つリソースなど)。 このようなリソースの 1 つは、Azure App Service の Web Apps 機能です。
AzureTrafficManager このタグは Azure Traffic Manager の IP アドレスを表します。

注意

サービス タグの完全な一覧については、使用可能なサービス タグに関する記事を参照してください。

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

アプリケーション セキュリティ グループ (ASG) を使うと、ネットワーク インターフェイスをグループ化できます。 その ASG を、NSG 内の送信元または送信先の規則として使えます。

ヒント

ASG では、アプリケーション サーバーをデプロイまたは再デプロイするときにネットワーク インターフェイスを ASG に追加または削除できるため、管理が容易になります。

ASG を使用して次のことができます。

  • 特定のアプリケーションが使用するリソースのネットワーク セキュリティを構成します。 これにより、サブネットの割り当てに関係なく、VM を論理的にグループ化することができます。
  • リソース グループにセキュリティ規則を適用します。 特定のアプリケーション ワークロードをデプロイし、スケールアップする方が簡単です。 新しい VM デプロイを 1 つまたは複数の ASG に追加するだけで、その VM により、そのワークロードのセキュリティ規則が自動的に選択されます。

注意

NSG が VM に適用される場合、ASG のセキュリティ規則も VM に自動的に適用され、サンプル ASG の VM 間で完全なネットワーク接続を許可します。

ASG を使用しない場合、VM ごとに別個の規則を作成する必要があります。 たとえば、Contoso の VNet にはフロントエンド サーバーがたくさんあるとします。 次の図に示すように、IT スタッフは、ネットワーク リソースをセキュリティで保護するために NSG と ASG を実装することを決定します。

The graphic depicts a collection of web servers is protected by an NSG called ERP - SERVERS-NSG, as is a collection of SQL servers. This NSG has two rules: one which filters web traffic to port 80 and 8080, and a second that filters SQL traffic on port 1433. The web servers are protected by an ASG called WEB-SVR-ASG assigned to their NICs. The SQL servers are protected by an ASG called SQL-SVR-ASG which is assigned to their NICs. All resources are connected to the same VNet.

ASG を使用すると、Contoso は次の目的を満たすことができます。

  • Web サーバーには、ポート 80 および 8080 経由でアクセスできる必要があります。
  • データベース サーバーには、ポート 1433 経由で Web サーバーからアクセスできる必要があります。

役割でこのソリューションをシステム管理者として構成するには、次のおおまかな手順を実行する必要があります。

  1. Web サーバーのネットワーク インターフェイスを 1 つの ASG に割り当てます。
  2. データベース サーバーのネットワーク インターフェイスを別の ASG に割り当てます。
  3. 次に、ネットワーク セキュリティ グループでインバウンド規則を 2 つ作成します。
    • 1 つの規則によって、HTTP と TCP ポート 8080 のトラフィックが Web サーバー ASG 内のすべてのサーバーに対して開かれます。
    • もう 1 つの規則で、データベース サーバー ASG のすべてのサーバーへの SQL トラフィックを許可します。

重要

ネットワーク リソースを不要なトラフィックから保護するために、常に NSG を使用する必要があります。 NSG を使用すると、ネットワーク層に対するきめ細かいアクセス制御が可能になります。 同時に、すべての VM または仮想ネットワークのセキュリティ規則を構成し、有効にする複雑さを回避することができます。

注意

試用版の Azure テナントがある場合は、「ネットワーク セキュリティ グループを作成し、管理する」の演習を実行することをお勧めします。

クイック レビュー

1.

既定のネットワーク セキュリティ グループの規則の目的は何ですか。