ネットワーク セキュリティ規則を診断する

ネットワーク セキュリティ グループを使用すると、Azure リソースとの間で送受信されるネットワーク トラフィックのフィルター処理と制御ができます。 また、Azure Virtual Network Manager を使用して Azure リソースに管理者セキュリティ規則を適用し、ネットワーク トラフィックを制御することもできます。

この記事では、Azure Network Watcher の NSG 診断を使用して、Azure トラフィックに適用されるセキュリティ規則をチェックしてトラブルシューティングする方法について説明します。 NSG 診断では、適用されたセキュリティ規則によってトラフィックが許可されているか拒否されているかをチェックします。

この記事の例では、ネットワーク セキュリティ グループが誤って構成されていることで、Azure Bastion を使用して仮想マシンに接続できないしくみを示します。

前提条件

仮想ネットワークと bastion ホストを作成する

このセクションでは、2 つのサブネットと Azure Bastion ホストを使用して仮想ネットワークを作成します。 最初のサブネットは仮想マシンに、2 番目のサブネットは Bastion ホストに使用されます。 また、ネットワーク セキュリティ グループを作成し、最初のサブネットに適用します。

  1. ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

    Azure portal での仮想ネットワークの検索方法を示すスクリーンショット。

  2. [+ 作成] を選択します。 [仮想ネットワークの作成][基本] タブで、次の値を入力するか選びます。

    設定
    プロジェクトの詳細
    サブスクリプション Azure サブスクリプションを選択します。
    リソース グループ [新規作成] を選択します。
    [名前] に「myResourceGroup」と入力します。
    [OK] を選択します。
    インスタンスの詳細
    仮想ネットワーク名 myVNet」と入力します。
    リージョン [(米国) 米国東部] を選択します。
  3. [セキュリティ] タブを選択するか、ページ下部にある [次へ] ボタンを選択します。

  4. [Azure Bastion] で、[Azure Bastion を有効にする] を選択し、次の既定値をそのまま使用します。

    設定
    Azure Bastion ホスト名 myVNet-Bastion
    Azure Bastion のパブリック IP アドレス (新規) myVNet-bastion-publicIpAddress
  5. [IP アドレス] タブを選択するか、ページ下部にある [次へ] ボタンを選択します。

  6. 既定の IP アドレス空間 10.0.0.0/16 をそのまま使用し、鉛筆アイコンを選択して既定のサブネットを編集します。 [サブネットの編集] ページで、次の値を入力します。

    設定
    サブネットの詳細
    名前 mySubnet」と入力します。
    Security
    ネットワーク セキュリティ グループ [新規作成] を選択します。
    [名前]に「mySubnet-nsg」と入力します。

    を選択します。
  7. [確認および作成] を選択します。

  8. 設定を確認し、 [作成] を選択します。

重要

時間単位の価格は、送信データの使用状況に関係なく、Bastion ホストがデプロイされた時点から開始されます。 詳細については、価格に関するページをご覧ください。 このリソースは、使用が終了したら削除することをお勧めします。

仮想マシンの作成

このセクションでは、仮想マシンとそのネットワーク インターフェイスに適用されるネットワーク セキュリティ グループを作成します。

  1. ポータルの上部にある検索ボックスに「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。

  2. [+ 作成] を選択し、[Azure 仮想マシン] を選択します。

  3. [仮想マシンの作成][基本] タブに次の値を入力するか選択します。

    設定
    プロジェクトの詳細
    サブスクリプション Azure サブスクリプションを選択します。
    リソース グループ [myResourceGroup] を選択します。
    インスタンスの詳細
    仮想マシン名 myVM」と入力します。
    リージョン [(米国) 米国東部] を選択します。
    可用性オプション [インフラストラクチャ冗長は必要ありません] を選択します。
    セキュリティの種類 [Standard] を選択します。
    Image [Windows Server 2022 Datacenter: Azure Edition - x64 Gen2] を選択します。
    サイズ サイズを選択するか、既定の設定のままにします。
    管理者アカウント
    ユーザー名 ユーザー名を入力します。
    Password パスワードを入力します。
    パスワードの確認 パスワードを再入力します。
  4. [ネットワーク] タブまたは [次へ: ディスク] を選択してから [次へ: ネットワーク] を選択します。

  5. [ネットワーク] タブで、次の値を選びます。

    設定
    ネットワーク インターフェイス
    仮想ネットワーク [myVNet] を選択します。
    Subnet [既定] を選択します。
    パブリック IP [なし] を選択します。
    NIC ネットワーク セキュリティ グループ [Basic] を選択します。
    パブリック受信ポート [なし] を選択します。
  6. [Review + create](レビュー + 作成) を選択します。

  7. 設定を確認し、 [作成] を選択します。

ネットワーク セキュリティ グループにセキュリティ規則を追加する

このセクションでは、myVM のネットワーク インターフェイスに関連付けられているネットワーク セキュリティ グループにセキュリティ規則を追加します。 この規則では、仮想ネットワークからの受信トラフィックが拒否されます。

  1. ポータルの上部にある検索ボックスに、「ネットワーク セキュリティ グループ」と入力します。 検索結果から [ネットワーク セキュリティ グループ] を選択します。

  2. ネットワーク セキュリティ グループの一覧で、[myVM-nsg] を選択します。

  3. [設定][受信セキュリティ規則] を選びます。

  4. [+ 追加] を選択します。 [ネットワーク] タブで、次の値を入力するか選びます。

    設定
    source [Service Tag](サービス タグ) を選択します。
    発信元サービス タグ [VirtualNetwork] を選択します。
    Source port ranges 「*」と入力します。
    宛先 [任意] をクリックします。
    サービス [カスタム] を選択します。
    宛先ポート範囲 「*」と入力します。
    Protocol [任意] をクリックします。
    アクション [拒否] を選択します。
    優先度 1000」と入力します。
    名前 DenyVnetInBound」と入力します。
  5. [追加] を選択します。

    スクリーンショットは、Azure portal のネットワーク セキュリティ グループに受信セキュリティ ルールを追加する方法を示しています。

Note

VirtualNetwork サービス タグは、仮想ネットワークのアドレス空間、すべての接続されたオンプレミスのアドレス空間、ピアリングされた仮想ネットワーク、仮想ネットワーク ゲートウェイに接続された仮想ネットワーク、ホストの仮想 IP アドレス、ユーザーが定義したルートで使用されるアドレス プレフィックスを表します。 詳細については、「サービス タグ」を参照してください。

仮想マシンのトラフィックに適用されるセキュリティ規則をチェックする

NSG 診断を使用して、Bastion サブネットから仮想マシンへのトラフィックに適用されるセキュリティ規則をチェックします。

  1. ポータルの上部にある検索ボックスで、Network Watcher を検索して選択します。

  2. [ネットワーク診断ツール] で、[NSG Diagnostics](NSG 診断) を選択します。

  3. [NSG diagnostics](NSG 診断) ページで、次の値を入力または選択します。

    設定
    ターゲット リソース
    ターゲット リソースの種類 [仮想マシン] を選択します。
    仮想マシン myVM 仮想マシンを選択します。
    トラフィックの詳細
    Protocol [TCP] を選択します。 その他の使用可能なオプションは、[Any][UDP][ICMP] です。
    Direction [Inbound](受信) を選択します。 その他の使用可能なオプションは、[Outbound](送信) です。
    送信元の種類 [IPv4 アドレスまたは CIDR] を選択します。 その他の使用可能なオプションは、[Service Tag](サービス タグ) です。
    IPv4 アドレスまたは CIDR 10.0.1.0/26」と入力します。これは、Bastion サブネットの IP アドレス範囲です。 使用できる値は、1 つの IP アドレス、複数の IP アドレス、1 つの IP プレフィックス、複数の IP プレフィックスです。
    宛先 IP アドレス 既定値は 10.0.0.4 のままにします。これは myVM の IP アドレスです。
    宛先ポート すべてのポートを含めるには、「*」と入力します。

    Azure portal で仮想マシンへの受信接続をテストするために必要な NSG 診断の値を示すスクリーンショット。

  4. [NSG 診断の実行] を選択してテストを実行します。 NSG 診断によるすべてのセキュリティ規則のチェックが完了すると、結果が表示されます。

    仮想マシンへの受信接続の結果に [Denied]\(拒否\) と表示されているスクリーンショット。

    結果は、Bastion サブネットからの受信接続に対して評価されるセキュリティ規則が 3 つあることを示しています。

    • GlobalRules: このセキュリティ管理規則は、Azure Virtual Network Manager を使用して仮想ネットワーク レベルで適用されます。 この規則では、Bastion サブネットから仮想マシンへの受信 TCP トラフィックが許可されます。
    • mySubnet-nsg: このネットワーク セキュリティ グループは、サブネット レベル (仮想マシンのサブネット) で適用されます。 この規則では、Bastion サブネットから仮想マシンへの受信 TCP トラフィックが許可されます。
    • myVM-nsg: このネットワーク セキュリティ グループは、ネットワーク インターフェイス (NIC) レベルで適用されます。 この規則では、Bastion サブネットから仮想マシンへの受信 TCP トラフィックが拒否されます。
  5. [myVM-nsg詳細を表示] を選択して、このネットワーク セキュリティ グループが持つセキュリティ ルールとトラフィックを拒否しているルールの詳細を表示します。

    仮想マシンへのトラフィックを拒否したネットワーク セキュリティ グループの詳細を示すスクリーンショット。

    myVM-nsg ネットワーク セキュリティ グループでは、VirtualNetwork サービス タグのアドレス空間から仮想マシンへのトラフィックが、セキュリティ規則 DenyVnetInBound によって拒否されます。 Bastion ホストは、VirtualNetwork サービス タグに含まれるアドレス範囲 10.0.1.0/26 の IP アドレスを使用して、仮想マシンに接続します。 そのため、Bastion ホストからの接続は DenyVnetInBound セキュリティ規則によって拒否されます。

Bastion サブネットからのトラフィックを許可するセキュリティ規則を追加する

Azure Bastion を使用して myVM に接続するには、Bastion サブネットからのトラフィックがネットワーク セキュリティ グループによって許可されている必要があります。 10.0.1.0/26 からのトラフィックを許可するには、DenyVnetInBound ルールよりも高い優先順位 (低い優先順位番号) を持つセキュリティ ルールを追加するか、Bastion サブネットからのトラフィックを許可するように DenyVnetInBound ルールを編集します。

仮想マシンへのトラフィックを拒否するセキュリティ規則の詳細が表示された [Network Watcher] ページで、ネットワーク セキュリティ グループにセキュリティ規則を追加できます。

  1. Network Watcher 内からセキュリティ規則を追加するには、[+ セキュリティ規則の追加] を選択し、次の値を入力または選択します。

    設定
    source [IP アドレス] を選択します。
    ソース IP アドレス/CIDR 範囲 10.0.1.0/26」と入力します。これは、Bastion サブネットの IP アドレス範囲です。
    Source port ranges 「*」と入力します。
    宛先 [任意] をクリックします。
    サービス [カスタム] を選択します。
    宛先ポート範囲 「*」と入力します。
    Protocol [任意] をクリックします。
    アクション [許可] を選択します。
    優先度 900」と入力します。これは、DenyVnetInBound 規則に使用した 1000 より高い優先度です。
    名前 AllowBastionConnections」と入力します。

    Bastion サブネットから仮想マシンへのトラフィックを許可する新しいセキュリティ規則をネットワーク セキュリティ グループに追加する方法を示すスクリーンショット。

  2. [再確認] を選択して、診断セッションをもう一度実行します。 診断セッションに、Bastion サブネットからのトラフィックが許可されていることが表示されます。

    Bastion サブネットから仮想マシンへのトラフィックを許可するセキュリティ規則を追加した後のネットワーク セキュリティ グループの詳細を示すスクリーンショット。

    セキュリティ規則 AllowBastionConnections では、10.0.1.0/26 の任意の IP アドレスから仮想マシンへのトラフィックが許可されます。 Bastion ホストでは 10.0.1.0/26 の IP アドレスを使用するため、仮想マシンへの接続は AllowBastionConnections セキュリティ規則によって許可されます。

リソースをクリーンアップする

リソース グループとそれに含まれるすべてのリソースが不要になったら、それらを削除します。

  1. ポータル上部の [検索] ボックスに「myResourceGroup」と入力します。 検索結果から [myResourceGroup] を選択します。

  2. [リソース グループの削除] を選択します。

  3. [リソース グループの削除] に「myResourceGroup」と入力し、[削除] を選択します。

  4. [削除] を選択して、リソース グループとそのすべてのリソースの削除を確認します。

次のステップ