チュートリアル: Azure portal を使用してネットワーク セキュリティ グループでネットワーク トラフィックをフィルター処理する
Azure 仮想ネットワーク内の Azure リソースが送受信するネットワーク トラフィックは、ネットワーク セキュリティ グループを使ってフィルター処理できます。
ネットワーク セキュリティ グループには、IP アドレス、ポート、およびプロトコルでネットワーク トラフィックをフィルター処理するセキュリティ規則が含まれています。 ネットワーク セキュリティ グループがサブネットに関連付けられている場合、そのサブネットにデプロイされたリソースにセキュリティ規則が適用されます。
このチュートリアルでは、次の作業を行う方法について説明します。
- ネットワーク セキュリティ グループと規則を作成する
- アプリケーション セキュリティ グループを作成する
- 仮想ネットワークを作成し、ネットワーク セキュリティ グループをサブネットに関連付ける
- 仮想マシンをデプロイし、そのネットワーク インターフェイスをアプリケーション セキュリティ グループに関連付ける
- トラフィック フィルターをテストする
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
前提条件
- Azure サブスクリプション
Azure へのサインイン
Azure portal にサインインします。
仮想ネットワークの作成
Azure portal メニューで、[+ リソースの作成]>[ネットワーキング]>[仮想ネットワーク] の順に選択するか、ポータルの検索ボックスで "仮想ネットワーク" を検索します。
[作成] を選択します
[仮想ネットワークの作成] の [基本] タブで、次の情報を入力または選択します。
設定 値 プロジェクトの詳細 サブスクリプション サブスクリプションを選択します。 Resource group [新規作成] を選択します。 「myResourceGroup」と入力します。 を選択します。 インスタンスの詳細 名前 「myVNet」と入力します。 リージョン [米国東部] を選択します。 [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。
[作成] を選択します
アプリケーション セキュリティ グループを作成する
アプリケーション セキュリティ グループ (ASG) を使用すると、Web サーバーなど、同様の機能を持つサーバーをグループ化できます。
Azure portal メニューの [+ リソースの作成]>[ネットワーキング]>[アプリケーション セキュリティ グループ] の順に選択するか、ポータルの検索ボックスで "アプリケーション セキュリティ グループ" を検索します。
[作成] を選択します
[アプリケーションのセキュリティ グループの作成] の [基本] タブで、この情報を入力または選択します。
設定 値 プロジェクトの詳細 サブスクリプション サブスクリプションを選択します。 Resource group [myResourceGroup] を選択します。 インスタンスの詳細 名前 「myAsgWebServers」と入力します。 リージョン [(米国) 米国東部] を選択します。 [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。
[作成] を選択します
上記の手順を繰り返し、次の値を指定します。
設定 値 プロジェクトの詳細 サブスクリプション サブスクリプションを選択します。 Resource group [myResourceGroup] を選択します。 インスタンスの詳細 名前 「myAsgMgmtServers」と入力します。 リージョン [(米国) 米国東部] を選択します。 [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。
[作成] を選択します
ネットワーク セキュリティ グループの作成
ネットワーク セキュリティ グループ (NSG) は、仮想ネットワーク内のネットワーク トラフィックをセキュリティで保護するものです。
Azure portal メニューの [+ リソースの作成]>[ネットワーキング]>[ネットワーク セキュリティ グループ] の順に選択するか、ポータルの検索ボックスで "ネットワーク セキュリティ グループ" を検索します。
[作成] を選択します
[ネットワーク セキュリティ グループの作成] の [基本] タブで、この情報を入力または選択します。
設定 値 プロジェクトの詳細 サブスクリプション サブスクリプションを選択します。 Resource group [myResourceGroup] を選択します。 インスタンスの詳細 名前 「myNSG」と入力します。 場所 [(米国) 米国東部] を選択します。 [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。
[作成] を選択します
ネットワーク セキュリティ グループをサブネットに関連付ける
このセクションでは、先ほど作成した仮想ネットワークのサブネットにネットワーク セキュリティ グループを関連付けます。
ポータルの検索ボックスで myNsg を検索します。
myNSG の [設定] セクションから [サブネット] を選択します。
[サブネット] ページで [+ 関連付け] を選択します。
[サブネットの関連付け] で [仮想ネットワーク] に対して [myVNet] を選択します。
[サブネット] に対して [default] (既定) を選択し、[OK] を選択します。
セキュリティ規則を作成する
myNSG の [設定] セクションから [受信セキュリティ規則] を選択します。
[受信セキュリティ規則] ページで [+ 追加] を選択します。
myAsgWebServers アプリケーション セキュリティ グループに、ポート 80 と 443 を許可するセキュリティ規則を作成します。 [受信セキュリティ規則の追加] ページで、次の情報を入力または選択します。
設定 値 source 既定値の [Any](すべて) のままにします。 Source port ranges 既定値の (*) のままにします。 到着地 [アプリケーションのセキュリティ グループ] を選択します。 宛先アプリケーションのセキュリティ グループ [myAsgWebServers] を選択します。 サービス 既定値の [Custom](カスタム) のままにします。 宛先ポート範囲 「80,443」と入力します。 Protocol [TCP] を選択します。 アクション 既定値の [Allow](許可) のままにします。 Priority 既定値の [100] のままにします。 名前 「Allow-Web-All」と入力します。 [追加] を選択します。
この情報を使用して、手順 3 から 4 をもう一度完了します。
設定 値 source 既定値の [Any](すべて) のままにします。 Source port ranges 既定値の (*) のままにします。 到着地 [アプリケーションのセキュリティ グループ] を選択します。 宛先アプリケーションのセキュリティ グループ [myAsgMgmtServers] を選択します。 サービス 既定値の [Custom](カスタム) のままにします。 宛先ポート範囲 「3389」と入力します。 Protocol [任意] をクリックします。 アクション 既定値の [Allow](許可) のままにします。 Priority 既定値の [110] のままにします。 名前 「Allow-RDP-All」と入力します。 [追加] を選択します。
注意
この記事では、myAsgMgmtServers アプリケーション セキュリティ グループに割り当てられている VM 用に、RDP (ポート 3389) がインターネットに公開されています。
運用環境では、ポート 3389 をインターネットに公開せずに、VPN、プライベート ネットワーク接続、または Azure Bastion を使用して、管理する Azure リソースに接続することをお勧めします。
Azure Bastion の詳細については、「Azure Bastion とは」を参照してください。
手順 1 から 3 を完了したら、作成した規則を確認します。 一覧は、次の例のように表示されます。
仮想マシンを作成する
仮想ネットワーク内に 2 つの仮想マシン (VM) を作成します。
最初の仮想マシンを作成する
Azure portal メニューの [+ リソースの作成]>[コンピューティング]>[仮想マシン] の順に選択するか、ポータルの検索ボックスで "仮想マシン" を検索します。
[仮想マシンの作成] の [基本] タブで、この情報を入力または選択します。
設定 値 プロジェクトの詳細 サブスクリプション サブスクリプションを選択します。 Resource group [myResourceGroup] を選択します。 インスタンスの詳細 仮想マシン名 「myVMWeb」と入力します。 リージョン [(米国) 米国東部] を選択します。 可用性のオプション 既定値の [インフラストラクチャ冗長は必要ありません] のままにします。 セキュリティの種類 規定値である [標準] のままにします。 Image [Windows Server 2019 Datacenter - Gen2] を選択します。 Azure Spot インスタンス 既定値のオフのままにします。 サイズ [Standard_D2s_V3] を選択します。 管理者アカウント ユーザー名 ユーザー名を入力します。 Password パスワードを入力します。 パスワードの確認 パスワードを再入力します。 受信ポートの規則 受信ポートの選択 [なし] を選択します。 [ネットワーク] タブを選択します。
[ネットワーク] タブで、次の情報を入力または選択します。
設定 値 ネットワーク インターフェイス 仮想ネットワーク [myVNet] を選択します。 Subnet [default (10.0.0.0/24)](既定値 (10.0.0.0/24)) を選択します。 パブリック IP 新しいパブリック IP の既定値をそのまま使用します。 NIC ネットワーク セキュリティ グループ [なし] を選択します。 [Review + create](確認と作成) タブを選択するか、ページの下部にある青色の [Review + create](確認と作成) ボタンを選択します。
[作成] を選択します VM のデプロイには数分かかることがあります。
2 番目の仮想マシンを作成する
手順 1 ~ 6 をもう一度完了します。ただし、手順 2 では、仮想マシンの名前として myVMMgmt を入力します。
VM がデプロイを完了するまで待ってから、次のセクションに進みます。
ネットワーク インターフェイスを ASG に関連付ける
VM を作成したとき、Azure では各 VM 用のネットワーク インターフェイスが作成され、それが VM に接続されました。
各 VM 用のネットワーク インターフェイスを、前に作成したアプリケーション セキュリティ グループの 1 つに追加します。
ポータルの検索ボックスで myVMWeb を検索します。
myVMWeb VM の [設定] セクションで、[ネットワーク] を選択します。
[アプリケーションのセキュリティ グループ] タブを選択し、 [アプリケーションのセキュリティ グループを構成] を選択します。
[アプリケーションのセキュリティ グループを構成] で、 [myAsgWebServers] を選択します。 [保存] を選択します。
手順 1. および 2. をもう一度実行し、myVMMgmt 仮想マシンを検索して、myAsgMgmtServers ASG を選択します。
トラフィック フィルターをテストする
ポータルの検索ボックスで myVMMgmt を検索します。
[概要] ページで [接続] ボタンを選択してから [RDP] を選択します。
[RDP ファイルのダウンロード] を選択します。
ダウンロードした RDP ファイルを開き、 [接続] を選択します。 VM の作成時に指定したユーザー名とパスワードを入力します。
[OK] を選択します。
接続処理中に証明書の警告が表示される場合があります。 警告が表示されたら、 [はい] または [続行] を選択して接続処理を続行します。
この接続は成功します。myAsgMgmtServers アプリケーション セキュリティ グループへのインターネットからのインバウンド トラフィックが、ポート 3389 で許可されているためです。
myVMMgmt のネットワーク インターフェイスが myAsgMgmtServers アプリケーション セキュリティ グループに関連付けられ、接続が許可されます。
myVMMgmt で PowerShell セッションを開きます。 次を使用して myVMWeb に接続します。
mstsc /v:myVmWeb
myVMMgmt から myVMWeb への RDP 接続は成功します。既定では、同じネットワーク内の仮想マシンが任意のポートで相互に通信できるためです。
インターネットから myVMWeb 仮想マシンへの RDP 接続を作成することはできません。 myAsgWebServers のセキュリティ規則により、インターネットからポート 3389 へのインバウンド接続は拒否されます。 既定では、インターネットからのインバウンド トラフィックはすべてのリソースに対して拒否されます。
myVMWeb 仮想マシンに Microsoft IIS をインストールするには、myVMWeb 仮想マシンの PowerShell セッションから次のコマンドを入力します。
Install-WindowsFeature -name Web-Server -IncludeManagementTools
IIS のインストールが完了したら、myVMWeb 仮想マシンから切断します。myVMMgmt 仮想マシンのリモート デスクトップ接続は保持されます。
myVMMgmt VM から切断します。
ポータルの検索ボックスで myVMWeb を検索します。
myVMWeb の [概要] ページで、VM の [パブリック IP アドレス] をメモします。 次の例に示すアドレスは 23.96.39.113 になっていますが、実際のアドレスは異なります。
インターネットから myVMWeb Web サーバーにアクセスできることを確認するには、コンピューターでインターネット ブラウザーを開き、
http://<public-ip-address-from-previous-step>
にアクセスします。
IIS の既定のページが表示されます。myAsgWebServers アプリケーション セキュリティ グループへのインターネットからのインバウンド トラフィックがポート 80 経由で許可されているためです。
myVMWeb 用に接続されているネットワーク インターフェイスが myAsgWebServers アプリケーション セキュリティ グループに関連付けられ、接続が許可されます。
リソースをクリーンアップする
リソース グループとそれに含まれるすべてのリソースが不要になったら、それらを削除します。
- ポータル上部の [検索] ボックスに「myResourceGroup」と入力します。 検索結果に [myResourceGroup] が表示されたら、それを選択します。
- [リソース グループの削除] を選択します。
- [TYPE THE RESOURCE GROUP NAME:](リソース グループ名を入力してください:) に「myResourceGroup」と入力し、 [削除] を選択します。
次のステップ
このチュートリアルでは、次の作業を行いました。
- ネットワーク セキュリティ グループを作成し、それを仮想ネットワーク サブネットに関連付けました。
- Web および管理用のアプリケーション セキュリティ グループを作成しました。
- 2 つの仮想マシンを作成し、そのネットワーク インターフェイスをアプリケーション セキュリティ グループに関連付けます。
- アプリケーション セキュリティ グループのネットワーク フィルターをテストしました。
ネットワーク セキュリティ グループについて詳しくは、ネットワーク セキュリティ グループの概要とネットワーク セキュリティ グループの管理に関する記事を参照してください。
Azure の既定では、サブネット間でトラフィックがルーティングされます。 代わりに、たとえばファイアウォールとして機能する VM を介してサブネット間でトラフィックをルーティングすることもできます。
ルート テーブルを作成する方法を学習するには、次のチュートリアルに進んでください。