チュートリアル: Azure portal を使用して Azure Firewall とポリシーをデプロイして構成する
アウトバウンド ネットワーク アクセスを制御することは、ネットワーク セキュリティ プラン全体の重要な要素です。 たとえば、Web サイトへのアクセスを制限することができます。 また、アクセスできるアウトバウンドの IP アドレスとポートを制限することもできます。
Azure サブネットから外に向かうアウトバウンド ネットワーク アクセスを制御する方法の 1 つとして、Azure Firewall とファイアウォール ポリシーの使用が挙げられます。 Azure Firewall とファイアウォール ポリシーでは、次の構成を行うことができます。
- アプリケーション ルール: サブネットからアクセスできる完全修飾ドメイン名 (FQDN) を定義します。
- ネットワーク ルール: 送信元アドレス、プロトコル、宛先ポート、送信先アドレスを定義します。
ネットワーク トラフィックは、サブネットの既定ゲートウェイとしてのファイアウォールにルーティングしたときに、構成されているファイアウォール ルールに制約されます。
このチュートリアルでは、デプロイしやすいように、2 つのサブネットを含む簡単な VNet を 1 つ作成します。
- AzureFirewallSubnet - このサブネットにファイアウォールが存在します。
- Workload-SN - このサブネットにはワークロード サーバーがあります。 このサブネットのネットワーク トラフィックは、ファイアウォールを通過します。
運用環境のデプロイでは、ハブとスポーク モデルを採用して、独自の VNet にファイアウォールを配置することをお勧めします。 ワークロード サーバーは、1 つ以上のサブネットを含む同じリージョンのピアリングされた VNet に配置されます。
このチュートリアルでは、以下の内容を学習します。
- テスト ネットワーク環境を設定する
- ファイアウォールとファイアウォール ポリシーをデプロイする
- 既定のルートを作成する
- www.google.com へのアクセスを許可するようにアプリケーション ルールを構成する
- 外部 DNS サーバーへのアクセスを許可するようにネットワーク ルールを構成する
- テスト サーバーへのリモート デスクトップ接続を許可するように NAT 規則を構成する
- ファイアウォールをテストする
好みに応じて、Azure PowerShell を使ってこの手順を実行することもできます。
前提条件
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
ネットワークのセットアップ
最初に、ファイアウォールをデプロイするために必要なリソースを含めるリソース グループを作成します。 次に、VNet、サブネット、およびテスト サーバーを作成します。
リソース グループを作成する
このリソース グループには、このチュートリアルのすべてのリソースが含まれます。
Azure portal にサインインします。
Azure portal メニューで [リソース グループ] を選択するか、任意のページから [リソース グループ] を検索および選択した後で、[作成] を選択します。 次の値を入力または選択します。
設定 値 サブスクリプション Azure サブスクリプションを選択します。 Resource group 「Test-FW-RG」と入力します。 リージョン リージョンを選択します。 作成する他のすべてのリソースも、同じリージョン内のものである必要があります。 [Review + create](レビュー + 作成) を選択します。
[作成] を選択します
VNet を作成する
この VNet には 2 つのサブネットがあります。
Note
AzureFirewallSubnet サブネットのサイズは /26 です。 サブネットのサイズの詳細については、「Azure Firewall に関する FAQ」を参照してください。
Azure portal メニュー上または [ホーム] ページから [リソースの作成] を選択します。
[ネットワーク] を選択します。
仮想ネットワークを検索し、[作成] を選択します。
次の値を入力または選択します。
設定 値 サブスクリプション Azure サブスクリプションを選択します。 Resource group [Test-FW-RG] を選択します。 名前 「Test-FW-VN」と入力します。 リージョン 以前使用したのと同じ場所を選択します。 [次へ] を選択します。
[セキュリティ] タブで [次へ] を選択します。
[IPv4 アドレス空間] には、既定値の 10.0.0.0/16 をそのまま使用します。
[サブネット] で、[既定] を選択します。
[サブネットの編集] ページの [サブネットの目的] で、[Azure Firewall] を選択します。
ファイアウォールはこのサブネットに配置されます。サブネット名は AzureFirewallSubnet でなければなりません。
[開始アドレス] には、「10.0.1.0」と入力します。
[保存] を選択します。
次に、ワークロード サーバーのサブネットを作成します。
- [サブネットの追加] を選択します。
- [サブネット名] に「Workload-SN」と入力します。
- [開始アドレス] には、「10.0.2.0/24」と入力します。
- [追加] を選択します。
- [Review + create](レビュー + 作成) を選択します。
- [作成] を選択します
仮想マシンの作成
ワークロード仮想マシンを作成し、Workload-SN サブネットに配置します。
Azure portal メニュー上または [ホーム] ページから [リソースの作成] を選択します。
[Windows Server 2019 Datacenter] を選択します。
仮想マシンに次の値を入力または選択します。
設定 値 サブスクリプション Azure サブスクリプションを選択します。 Resource group [Test-FW-RG] を選択します。 仮想マシン名 「Srv-Work」と入力します。 リージョン 以前使用したのと同じ場所を選択します。 ユーザー名 ユーザー名を入力します。 Password パスワードを入力します。 [受信ポートの規則] の [パブリック受信ポート] で、 [なし] を選択します。
他の既定値をそのまま使用し、 [次へ:ディスク] を選択します。
ディスクの既定値をそのまま使用し、 [次へ:ネットワーク] を選択します。
仮想ネットワークとして Test-FW-VN が選択されていること、およびサブネットが Workload-SN であることを確認します。
[パブリック IP] で、 [なし] を選択します。
他の既定値をそのまま使用し、 [次へ:管理] を選択します。
[次へ: 監視] を選びます。
[無効] を選択して、ブート診断を無効にします。 他の既定値をそのまま使用し、 [確認および作成] を選択します。
概要ページの設定を確認して、 [作成] を選択します。
デプロイが完了したら、Srv-Work リソースを選択し、後で使用するためにプライベート IP アドレスをメモしておきます。
ファイアウォールとポリシーをデプロイする
VNet にファイアウォールをデプロイします。
Azure portal メニュー上または [ホーム] ページから [リソースの作成] を選択します。
検索ボックスに「ファイアウォール」と入力し、Enter キーを押します。
[ファイアウォール] を選択し、 [作成] を選択します。
[ファイアウォールの作成] ページで、次の表を使用してファイアウォールを構成します。
設定 値 サブスクリプション Azure サブスクリプションを選択します。 Resource group [Test-FW-RG] を選択します。 名前 「Test-FW01」と入力します。 リージョン 以前使用したのと同じ場所を選択します。 ファイアウォール管理 [ファイアウォール ポリシーを使用してこのファイアウォールを管理する] を選択します。 ファイアウォール ポリシー [新規追加] を選択し、「fw-test-pol」と入力します。
前に使用したものじリージョンを選択します。仮想ネットワークの選択 [既存のものを使用]、[Test-FW-VN] の順に選択します。 パブリック IP アドレス [新規追加] を選択し、[名前] に「fw-pip」と入力します。 [ファイアウォール管理 NIC を有効にする] チェック ボックスをオフにします。
他の既定値はそのまま使用し、[次へ: タグ] を選択します。
[次へ :確認と作成] をクリックします。
概要を確認し、 [作成] を選択してファイアウォールを作成します。
デプロイが完了するまでに数分かかります。
デプロイが完了したら、Test-FW-RG リソース グループに移動し、Test-FW01 ファイアウォールを選択します。
ファイアウォールのプライベートおよびパブリック IP アドレスをメモします。 これらのアドレスは後ほど使用します。
既定のルートを作成する
Workload-SN サブネットでは、アウトバウンドの既定ルートがファイアウォールを通過するように構成します。
Azure portal メニューで [すべてのサービス] を選択するか、または任意のページから [すべてのサービス] を検索して選択します。
[ネットワーク] で、 [ルート テーブル] を選択します。
[作成] を選択し、次の値を入力または選択します。
設定 値 サブスクリプション Azure サブスクリプションを選択します。 Resource group [Test-FW-RG] を選択します。 リージョン 以前使用したのと同じ場所を選択します。 名前 「Firewall-route」と入力します。 [Review + create](レビュー + 作成) を選択します。
[作成] を選択します
デプロイが完了したら、[リソースに移動] を選択します。
Firewall-route のページの [設定] で、[サブネット] を選択して、[関連付け] を選択します。
[仮想ネットワーク] では、[Test-FW-VN] を選択します。
[サブネット] で、 [Workload-SN] を選択します。
[OK] を選択します。
[ルート] 、 [追加] の順に選択します。
[ルート名] に「fw-dg」と入力します。
[送信先の種類] では、[IP アドレス] を選択します。
[送信先 IP アドレス/CIDR 範囲プレフィックス] に「0.0.0.0/0」と入力します。
[次ホップの種類] で、 [仮想アプライアンス] を選択します。
Azure Firewall は実際はマネージド サービスですが、この状況では仮想アプライアンスが動作します。
[次ホップ アドレス] に、前にメモしておいたファイアウォールのプライベート IP アドレスを入力します。
[追加] を選択します。
アプリケーション ルールを構成する
これは、www.google.com
へのアウトバウンド アクセスを許可するアプリケーション ルールです。
- Test-FW-RG リソース グループを開き、[fw-test-pol] ファイアウォール ポリシーを選択します。
- [設定]で、[アプリケーション ルール] を選択します。
- [規則コレクションの追加] を選択します。
- [名前] に「App-Coll01」と入力します。
- [優先度] に「200」と入力します。
- [規則コレクション アクション] で [許可] を選択します。
- [ルール] の [名前] に「Allow-Google」と入力します。
- [Source type](送信元の種類) で、 [IP アドレス] を選択します。
- [送信元] に「10.0.2.0/24」と入力します。
- [プロトコル:ポート] に「http, https」と入力します。
- [送信先の種類] として [FQDN] を選択します。
- [送信先] に「
www.google.com
」と入力します。 - [追加] を選択します。
Azure Firewall には、既定で許可されるインフラストラクチャ FQDN 用の組み込みのルール コレクションが含まれています。 これらの FQDN はプラットフォームに固有であり、他の目的には使用できません。 詳細については、インフラストラクチャ FQDN に関する記事を参照してください。
ネットワーク ルールを構成する
これは、ポート 53 (DNS) で 2 つの IP アドレスへのアウトバウンド アクセスを許可するネットワーク ルールです。
- [ネットワーク ルール] を選択します。
- [規則コレクションの追加] を選択します。
- [名前] に「Net-Coll01」と入力します。
- [優先度] に「200」と入力します。
- [規則コレクション アクション] で [許可] を選択します。
- [規則コレクション グループ] で、DefaultNetworkRuleCollectionGroup を選択します。
- [ルール] の [名前] に「Allow-DNS」と入力します。
- [Source type](送信元の種類) で、 [IP アドレス] を選択します。
- [送信元] に「10.0.2.0/24」と入力します。
- [プロトコル] で [UDP] を選択します。
- [宛先ポート] に「53」と入力します。
- [送信先の種類] として [IP アドレス] を選択します。
- [送信先] に「209.244.0.3,209.244.0.4」と入力します。
これらは、CenturyLink によって運用されるパブリック DNS サーバーです。 - [追加] を選択します。
DNAT ルールを構成する
このルールを使用すると、ファイアウォールを介して、リモート デスクトップを Srv-Work 仮想マシンに接続できます。
- [DNAT rules](DNAT ルール) を選択します。
- [規則コレクションの追加] を選択します。
- [名前] に「RDP」と入力します。
- [優先度] に「200」と入力します。
- [規則コレクション グループ] で、DefaultDnatRuleCollectionGroup を選択します。
- [ルール] の [名前] に「rdp-nat」と入力します。
- [Source type](送信元の種類) で、 [IP アドレス] を選択します。
- [送信元] に「*」と入力します。
- [プロトコル] で [TCP] を選択します。
- [宛先ポート] に「3389」と入力します。
- [送信先] に、ファイアウォールのパブリック IP アドレスを入力します。
- [Translated type] (変換される種類) で [IP アドレス] を選びます。
- [変換されたアドレス] に Srv-work のプライベート IP アドレスを入力します。
- [変換されたポート] に「3389」と入力します。
- [追加] を選択します。
Srv-Work ネットワーク インターフェイスのプライマリおよびセカンダリ DNS アドレスを変更する
このチュートリアルのテスト目的で、サーバーのプライマリおよびセカンダリ DNS アドレスを構成します。 これは、一般的な Azure Firewall 要件ではありません。
- Azure portal メニューで [リソース グループ] を選択するか、または任意のページから [リソース グループ] を検索して選択します。 [Test-FW-RG] リソース グループを選択します。
- Srv-Work 仮想マシンのネットワーク インターフェイスを選択します。
- [設定] で、 [DNS サーバー] を選択します。
- [DNS サーバー] で、 [カスタム] を選択します。
- [DNS サーバーの追加] テキスト ボックスに「209.244.0.3」と入力し、次のテキスト ボックスに「209.244.0.4」と入力します。
- [保存] を選択します。
- Srv-Work 仮想マシンを再起動します。
ファイアウォールをテストする
今度は、ファイアウォールをテストして、想定したように機能することを確認します。
リモート デスクトップをファイアウォールのパブリック IP アドレスに接続し、Srv-Work 仮想マシンにサインインします。
Microsoft Edge を開き、
https://www.google.com
を閲覧します。Internet Explorer のセキュリティ アラートで、 [OK]>[閉じる] の順に選択します。
Google のホーム ページが表示されます。
https://www.microsoft.com
を参照します。ファイアウォールによってブロックされます。
これで、ファイアウォール ルールが動作していることを確認できました。
- 1 つの許可された FQDN は参照できますが、それ以外は参照できません。
- 構成された外部 DNS サーバーを使用して DNS 名を解決できます。
リソースをクリーンアップする
ファイアウォール リソースは、次のチュートリアルのために残しておいてもかまいませんが、不要であれば、Test-FW-RG リソース グループを削除して、ファイアウォール関連のすべてのリソースを削除してください。