チュートリアル: Azure DDoS Protection を使用してファイアウォールをデプロイする
この記事は、DDoS で保護された仮想ネットワークを使用して Azure Firewall を作成するのに役立ちます。 Azure DDoS Protection を使用すると、アダプティブ チューニング、攻撃アラート通知、監視などの強化された DDoS 軽減機能により、大規模な DDoS 攻撃からファイアウォールを保護できます。
重要
ネットワーク保護 SKU を使用すると、Azure DDoS Protection のコストが発生します。 超過料金は、テナントで 100 を超えるパブリック IP が保護されている場合にのみ適用されます。 今後リソースを使用しない場合は、このチュートリアルのリソースを必ず削除してください。 価格の詳細については、「Azure DDoS Protection の価格」を参照してください。 Azure DDoS 保護の詳細については、「Azure DDoS Protection とは何か?」を参照してください。
このチュートリアルでは、デプロイしやすいように、2 つのサブネットを含む簡単な VNet を 1 つ作成します。 Azure DDoS ネットワーク保護が仮想ネットワークで有効になっています。
- 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](レビュー + 作成) を選択します。
[作成] を選択します
DDoS Protection プランを作成する
ポータルの上部にある検索ボックスに、「DDoS 保護」と入力します。 検索結果から [DDoS 保護プラン] を選択し、[+ 作成] を選択します。
[DDoS 保護プランの作成] ページの [基本情報] タブで、次の情報を入力するか選択します。
設定 値 プロジェクトの詳細 サブスクリプション Azure サブスクリプションを選択します。 Resource group [Test-FW-RG] を選択します。 インスタンスの詳細 Name 「myDDoSProtectionPlan」と入力します。 リージョン リージョンを選択します。 [確認と作成] を選択し、[作成] を選択して DDoS 保護プランをデプロイします。
VNet を作成する
この VNet には 2 つのサブネットがあります。
Note
AzureFirewallSubnet サブネットのサイズは /26 です。 サブネットのサイズの詳細については、「Azure Firewall に関する FAQ」を参照してください。
Azure portal メニュー上または [ホーム] ページから [リソースの作成] を選択します。
[ネットワーク] を選択します。
仮想ネットワークを検索して選択します。
[作成] を選択し、次の値を入力または選択します。
設定 値 サブスクリプション Azure サブスクリプションを選択します。 Resource group [Test-FW-RG] を選択します。 名前 「Test-FW-VN」と入力します。 リージョン 以前使用したのと同じ場所を選択します。 Next:次へ: IP アドレス を選択します。
[IPv4 アドレス空間] には、既定値の 10.1.0.0/16 をそのまま使用します。
[サブネット] で、 [default](既定) を選択します。
[サブネット名] で、名前を AzureFirewallSubnet に変更します。 ファイアウォールはこのサブネットに配置されます。サブネット名は AzureFirewallSubnet でなければなりません。
[アドレス範囲] に「10.1.1.0/26」と入力します。
[保存] を選択します。
次に、ワークロード サーバーのサブネットを作成します。
[サブネットの追加] を選択します。
[サブネット名] に「Workload-SN」と入力します。
[サブネット アドレス範囲] に「10.1.2.0/24」と入力します。
[追加] を選択します。
[次へ: セキュリティ] を選択します。
[DDoS ネットワーク保護] で [有効] を選びます。
[DDoS 保護プラン] で myDDoSProtectionPlan を選択します。
[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」と入力します。 他の既定値をそのまま使用し、 [確認および作成] を選択します。
概要を確認し、 [作成] を選択してファイアウォールを作成します。
デプロイが完了するまでに数分かかります。
デプロイが完了したら、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] を選択します。 必ずこのルートの Workload-SN サブネットのみを選択してください。それ以外の場合、ファイアウォールが正常に動作しません。
- [OK] を選択します。
- [ルート] 、 [追加] の順に選択します。
- [ルート名] に「fw-dg」と入力します。
- [アドレス プレフィックス] に「0.0.0.0/0」と入力します。
- [次ホップの種類] で、 [仮想アプライアンス] を選択します。 Azure Firewall は実際はマネージド サービスですが、この状況では仮想アプライアンスが動作します。
- [次ホップ アドレス] に、前にメモしておいたファイアウォールのプライベート IP アドレスを入力します。
- [OK] を選択します。
アプリケーション ルールを構成する
これは、www.google.com
へのアウトバウンド アクセスを許可するアプリケーション ルールです。
- Test-FW-RG リソース グループを開き、[fw-test-pol] ファイアウォール ポリシーを選択します。
- [Application rules](アプリケーション ルール) を選択します。
- [規則コレクションの追加] を選択します。
- [名前] に「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 アドレス] を選択します。
- [送信先] に、ファイアウォールのパブリック 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 仮想マシンにサインインします。
Internet Explorer を開き、
https://www.google.com
を参照します。Internet Explorer のセキュリティ アラートで、 [OK]>[閉じる] の順に選択します。
Google のホーム ページが表示されます。
https://www.microsoft.com
を参照します。ファイアウォールによってブロックされます。
これで、ファイアウォール ルールが動作していることを確認できました。
- 1 つの許可された FQDN は参照できますが、それ以外は参照できません。
- 構成された外部 DNS サーバーを使用して DNS 名を解決できます。
リソースをクリーンアップする
ファイアウォール リソースは、次のチュートリアルのために残しておいてもかまいませんが、不要であれば、Test-FW-RG リソース グループを削除して、ファイアウォール関連のすべてのリソースを削除してください。