次の方法で共有


チュートリアル: Azure portal を使用して Azure Firewall とポリシーをデプロイして構成する

アウトバウンド ネットワーク アクセスを制御することは、ネットワーク セキュリティ プラン全体の重要な要素です。 たとえば、Web サイトへのアクセスを制限することができます。 また、アクセスできるアウトバウンドの IP アドレスとポートを制限したい場合があるかもしれません。

Azure ファイアウォールとファイアウォール ポリシーを使用して、Azure サブネットからの送信ネットワーク アクセスを制御できます。 Azure Firewall とファイアウォール ポリシーを使用すると、次の構成を行うことができます。

  • アプリケーション ルール: サブネットからアクセスできる完全修飾ドメイン名 (FQDN) を定義します。
  • ネットワーク ルール: 送信元アドレス、プロトコル、宛先ポート、送信先アドレスを定義します。

ネットワーク トラフィックは、サブネットの既定ゲートウェイとしてのファイアウォールにルーティングしたときに、構成されているファイアウォール ルールに制約されます。

このチュートリアルでは、簡単にデプロイできるように、2 つのサブネットを含む簡略化された単一仮想ネットワーク (VNet) を作成します。

  • AzureFirewallSubnet - このサブネットにファイアウォールがあります。
  • Workload-SN - このサブネットにワークロード サーバーがあります。 このサブネットのネットワーク トラフィックは、ファイアウォールを通過します。

ファイアウォール ネットワーク インフラストラクチャを示す図。

運用環境のデプロイでは、ファイアウォールが独自の VNet 内にある ハブ アンド スポーク モデルを使用します。 ワークロード サーバーは、1 つ以上のサブネットを含む同じリージョンのピアリングされた VNet に配置されます。

このチュートリアルでは、以下の内容を学習します。

  • テスト ネットワーク環境を設定する
  • ファイアウォールとファイアウォール ポリシーをデプロイする
  • 既定のルートを作成する
  • www.google.com へのアクセスを許可するようにアプリケーション ルールを構成する
  • 外部 DNS サーバーへのアクセスを許可するようにネットワーク ルールを構成する
  • テスト サーバーへの受信 HTTP アクセスを許可するように NAT 規則を構成する
  • ファイアウォールをテストする

必要に応じて、 Azure PowerShell を使用してこの手順を完了できます。

前提条件

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

ネットワークのセットアップ

最初に、ファイアウォールをデプロイするために必要なリソースを含めるリソース グループを作成します。 その後、仮想ネットワーク、サブネット、およびテスト サーバーを作成します。

リソース グループを作成する

このリソース グループには、このチュートリアルのすべてのリソースが含まれます。

  1. Azure portal にサインインします。

  2. Azure portal のメニューで、[ リソース グループ ] を選択するか、任意のページから [リソース グループ ] を検索して選択し、[ 作成] を選択します。 以下の値を入力または選択します。

    設定
    サブスクリプション Azure サブスクリプションを選択します。
    リソースグループ Test-FW-RG」と入力します。
    リージョン リージョンを選択します。 作成する他のすべてのリソースも、同じリージョン内のものである必要があります。
  3. [確認と作成>作成] を選択します。

VNet を作成する

この VNet には 2 つのサブネットがあります。

Note

AzureFirewallSubnet サブネットのサイズは /26 です。 サブネットのサイズの詳細については、「Azure Firewall に関する FAQ」を参照してください。

  1. Azure portal のメニューまたは ホームで、[ リソースの作成] を選択し、[ 仮想ネットワーク] を検索して、[ 作成] を選択します。

  2. 以下の値を入力または選択します。

    設定
    サブスクリプション Azure サブスクリプションを選択します。
    リソースグループ [Test-FW-RG] を選択します。
    Name Test-FW-VN」と入力します。
    リージョン 以前使用したのと同じ場所を選択します。
  3. [ 次へ ] を 2 回選択して、[ IP アドレス ] タブに移動します。

  4. [IPv4 アドレス空間] には、既定値の 10.0.0.0/16 をそのまま使用します。

  5. [サブネット] で、[既定] を選択します。 [ サブネットの編集 ] ウィンドウで、[ サブネットの目的][Azure Firewall] に設定します。

    ファイアウォールはこのサブネット内にあり、サブネット名は AzureFirewallSubnet である 必要があります

  6. [開始アドレス] に「10.0.1.0」と入力し、[保存] を選択します

  7. [ サブネットの追加] を選択し、次の値を入力して、[ 追加] を選択します。

    設定
    サブネット名 Workload-SN
    開始アドレス 10.0.2.0/24
  8. [確認と作成>作成] を選択します。

Azure Bastion をデプロイする

テストのために Srv-Work 仮想マシンに安全に接続するために、Azure Bastion Developer エディションをデプロイします。

  1. ポータルの上部にある検索ボックスに「 Bastion 」と入力し、結果から Bastions を選択します。 [ 作成] を選択し、次の値を入力します。

    設定
    プロジェクトの詳細
    サブスクリプション Azure サブスクリプションを選択します。
    リソースグループ [Test-FW-RG] を選択します。
    インスタンスの詳細
    Name 「Test-Bastion」と入力します
    リージョン 以前使用したのと同じ場所を選択します。
    レベル [ 開発者] を選択します。
    仮想ネットワーク Test-FW-VN を選択します。
    サブネット AzureBastionSubnet は、アドレス空間 10.0.0.0/26 で自動的に作成されます。
  2. [確認と作成>作成] を選択します。

    デプロイが完了するまでに数分かかる場合があります。

仮想マシンの作成

ワークロード仮想マシンを作成し、 ワークロード SN サブネットに配置します。

  1. ポータルの上部にある検索ボックスに「 仮想マシン」と入力し、[ 仮想マシン]、[ 作成>仮想マシン] の順に選択します。

  2. 仮想マシンに次の値を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション Azure サブスクリプションを選択します。
    リソースグループ [Test-FW-RG] を選択します。
    インスタンスの詳細
    仮想マシン名 Srv-Work」と入力します。
    リージョン 以前使用したのと同じ場所を選択します。
    可用性オプション [インフラストラクチャ冗長は必要ありません] を選択します。
    セキュリティの種類 標準を選択します。
    Image Ubuntu Server 24.04 LTS -x64 Gen2 を選択する
    サイズ 仮想マシンのサイズを選択します。
    管理者アカウント
    ユーザー名 azureuser」と入力します。
    SSH 公開キーのソース [新しいキーの組を生成] を選択します。
    キーの組の名前 「Srv-Work_key」と入力します
  3. [ 受信ポート規則] で、[ パブリック受信ポート ] を [なし] に設定します。

  4. 他の既定値をそのまま使用し、[ネットワーク] タブで、Test-FW-VN / Workload-SN が選択され、[パブリック IP] が [なし] になっていることを確認します。

  5. [確認と作成>作成] を選択します。 メッセージが表示されたら、[秘密キーのダウンロード] を選択 してリソースを作成 し、キー ファイルを保存します。

  6. デプロイが完了したら、 後で使用するために Srv-Work プライベート IP アドレスを書き留めます。

Web サーバーをインストールする

仮想マシンに接続し、テスト用の Web サーバーをインストールします。

  1. Test-FW-RG リソース グループで、Srv-Work 仮想マシンを選択します。

  2. [操作]>コマンドの実行>RunShellScript を選択し、次のコマンドを入力して、[実行] を選択します。

    sudo apt-get update
    sudo apt-get install -y nginx
    echo "<html><body><h1>Azure Firewall DNAT Test</h1><p>If you can see this page, the DNAT rule is working correctly!</p></body></html>" | sudo tee /var/www/html/index.html
    
  3. スクリプトが正常に完了するまで待ちます。

ファイアウォールとポリシーをデプロイする

仮想ネットワークにファイアウォールをデプロイします。

  1. Azure portal のメニューまたは ホームで、[ リソースの作成] を選択し、[ ファイアウォール] を検索して、[ 作成] を選択します。

  2. [ ファイアウォールの作成] で、次の表を使用してファイアウォールを構成します。

    設定
    プロジェクトの詳細
    サブスクリプション Azure サブスクリプションを選択します。
    リソースグループ [Test-FW-RG] を選択します。
    インスタンスの詳細
    Name Test-FW01」と入力します。
    リージョン 以前使用したのと同じ場所を選択します。
    ファイアウォール SKU 標準を選択します。
    ファイアウォール管理 [ファイアウォール ポリシーを使用してこのファイアウォールを管理する] を選択します。
    ファイアウォール ポリシー [新規追加] を選択し、「fw-test-pol」と入力します。
    前に使用したものじリージョンを選択します。 [OK]を選択します。
    仮想ネットワークの選択 [既存のものを使用][Test-FW-VN] の順に選択します。 強制トンネリングに関する警告は無視します。 警告は後の手順で解決されます.
    パブリック IP アドレス [新規追加] を選択し、[名前] に「fw-pip」と入力します。 [OK]を選択します。
  3. [ ファイアウォール管理 NIC を有効にする ] チェック ボックスをオフにし、他の既定値をそのまま使用して、[ 確認と作成>作成] を選択します。

    このプロセスのデプロイには数分かかります。

  4. デプロイが完了したら、 Test-FW-RG に移動し、 Test-FW01 ファイアウォールを選択し、後で使用するためにプライベート IP アドレスとパブリック IP アドレスをメモします。

既定のルートを作成する

Workload-SN サブネットでは、アウトバウンドの既定ルートがファイアウォールを通過するように構成します。

  1. ルート テーブルを検索して選択し、[作成] を選択して、次の値を入力します。

    設定
    プロジェクトの詳細
    サブスクリプション Azure サブスクリプションを選択します。
    リソースグループ [Test-FW-RG] を選択します。
    インスタンスの詳細
    Name Firewall-route」と入力します。
    リージョン 以前使用したのと同じ場所を選択します。
  2. [確認と作成>作成] を選択します。

デプロイが完了したら、[ リソースに移動] を選択します。

  1. [ ファイアウォール ルート ] ウィンドウの [設定] で、[ サブネット>Associate] を選択します。

  2. [仮想ネットワーク] で [Test-FW-VN] を選択し、[サブネット] で [Workload-SN] を選択します。 [OK]を選択します。

  3. [ルート>追加] を選択し、次の値を入力します。

    設定
    ルート名 fw-dg
    変換先の型 [IP アドレス]
    宛先 IP アドレス/CIDR 範囲プレフィックス 0.0.0.0/0
    ネクストホップの種類 仮想アプライアンス
    ネクストホップ アドレス 前にメモしたファイアウォールのプライベート IP アドレス

    Note

    Azure Firewall は実際はマネージド サービスですが、この状況では仮想アプライアンスが動作します。

  4. [追加]を選択します。

アプリケーション ルールを構成する

このアプリケーション 規則は、 www.google.comへの送信アクセスを許可します。

  1. Test-FW-RG リソース グループを開き、[fw-test-pol] ファイアウォール ポリシーを選択します。

  2. > Rules] で、[アプリケーション ルール] を選択>ルール コレクションを追加します

  3. 次の値を入力します。

    設定
    Name App-Coll01
    優先度 200
    規則集合処理 許可
    ルール
    Name Allow-Google
    ソースの種類 IPアドレス
    情報源 10.0.2.0/24
    プロトコル:ポート http、https
    宛先タイプ FQDN
    行き先 www.google.com
  4. [追加]を選択します。

Azure Firewall には、既定で許可されるインフラストラクチャ FQDN 用の組み込みのルール コレクションが含まれています。 これらの FQDN はプラットフォームに固有であり、他の目的には使用できません。 詳細については、インフラストラクチャ FQDN に関する記事を参照してください。

続行する前に、アプリケーション ルールのデプロイが完了するまで待ちます。

ネットワーク ルールを構成する

このネットワーク規則は、ポート 53 (DNS) で 2 つの IP アドレスへの送信アクセスを許可します。

  1. [ネットワーク 規則] を選択>規則コレクションを追加します

  2. 次の値を入力します。

    設定
    Name Net-Coll01
    優先度 200
    規則集合処理 許可
    規則コレクション グループ デフォルトネットワークルールコレクショングループ
    ルール
    Name Allow-DNS
    ソースの種類 IPアドレス
    情報源 10.0.2.0/24
    プロトコル UDP
    ターゲット ポート 53
    変換先の型 IPアドレス
    行き先 209.244.0.3,209.244.0.4 (CenturyLink が運営するパブリック DNS サーバー)
  3. [追加]を選択します。

ネットワーク ルールのデプロイが完了するまで待ってから、続行します。

DNAT ルールを構成する

この規則は、ファイアウォールを介して Srv-Work 仮想マシン上の Web サーバーに接続します。

  1. DNAT ルールを選択>ルール コレクションを追加します

  2. 次の値を入力します。

    設定
    Name HTTP
    優先度 200
    規則コレクション グループ デフォルトDNATルールコレクショングループ
    ルール
    Name http-nat
    ソースの種類 IPアドレス
    情報源 *
    プロトコル TCP
    ターゲット ポート 80
    行き先 ファイアウォールのパブリック IP アドレス
    翻訳されたタイプ IPアドレス
    変換されたアドレス Srv-Work プライベート IP アドレス
    変換されたポート 80
  3. [追加]を選択します。

Srv-Work ネットワーク インターフェイスのプライマリおよびセカンダリ DNS アドレスを変更する

このチュートリアルのテスト目的で、サーバーのプライマリおよびセカンダリ DNS アドレスを構成します。 この構成は、一般的な Azure Firewall 要件ではありません。

  1. Test-FW-RG リソース グループで、Srv-Work 仮想マシンのネットワーク インターフェイスを選択します。
  2. [ 設定] で、 DNS サーバー>Custom を選択します。
  3. DNS サーバーとして 「209.244.0.3 」と 「209.244.0.4 」と入力し、[ 保存] を選択します。
  4. Srv-Work 仮想マシンを再起動します。

ファイアウォールをテストする

今度は、ファイアウォールをテストして、想定したように機能することを確認します。

DNAT ルールをテストする

  1. ローカル コンピューターの Web ブラウザーで、「 http://<firewall-public-ip-address>」と入力します。
  2. カスタム Web ページ : Azure Firewall DNAT テストが表示されます。 これにより、DNAT ルールが機能していることを確認できます。

アプリケーションとネットワークルールをテストする

Azure Bastion を使用して Srv-Work 仮想マシンに安全に接続し、ファイアウォール規則をテストします。

  1. Test-FW-RG リソース グループで、Srv-Work 仮想マシンを選択し、接続>Bastion 経由で接続を選択します。

  2. [Bastion] ページで、次の値を入力または選択します。

    設定
    認証の種類 ローカル ファイルから SSH 秘密キーを選択します
    ユーザー名 azureuser」と入力します。
    ローカル ファイル [ 参照 ] を選択し、VM の作成時にダウンロードした Srv-Work_key.pem ファイルを選択します。
  3. [接続] を選択します。

    新しいブラウザー タブが開き、 Srv-Work 仮想マシンへの SSH セッションが表示されます。

  4. SSH セッションで、次のコマンドを入力して Google へのアクセスをテストします。

    curl -I https://www.google.com
    

    正常な HTTP 応答 (200 OK) が表示され、アプリケーション ルールが Google へのアクセスを許可していることを示します。

  5. 次に、Microsoft へのアクセスをテストします。これはブロックする必要があります。 次のように入力します。

    curl -I https://www.microsoft.com
    

    コマンドは約 60 秒後にタイムアウトまたは失敗し、ファイアウォールがアクセスをブロックしていることを示します。

これで、ファイアウォール規則が動作していることを確認しました。

  • DNAT ルールを使用して Web サーバーにアクセスできます。
  • 1 つの許可された FQDN は参照できますが、それ以外は参照できません。
  • 構成された外部 DNS サーバーを使用して、DNS 名を解決できます。

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

次のチュートリアルのためにファイアウォール リソースを保持しておくことができます。 不要になった場合は、 Test-FW-RG リソース グループを削除して、ファイアウォール関連のすべてのリソースを削除します。

次のステップ