はじめに
Azure Firewall のデプロイ手順です。
今後、Azure Firewall のログを取得する方法や AVD と組み合わせて利用する方法などの発展形を想定して、まずは 基本的なところからの投稿です。
内容は、以下の公開情報を元に作成しています。
公開情報
前提
一番安価な Basic SKU を使用します。
Basic SKU の場合は、AzureFirewallManagementSubnet を事前作成する必要があって、その点がハマりポイントでした。私が記載した手順の通りにやっていけば、問題無いはずです。
手順は、既存の仮想ネットワークに追加する形で記載しています。
以下の記事をもとに、仮想ネットワーク を作成するか、皆さんの仮想ネットワークの構成に読み替えて確認ください。
ネットワーク設計
前提で用意した既存のネットワークに、以下のサブネットを追加して利用する設計としました。
変更点 | 役割 | 名称 | アドレス |
---|---|---|---|
- | リソースグループ | AVD-Environment | - |
- | 仮想ネットワーク (アドレス空間) |
AZ-DefaultVNet | 10.10.0.0/16 |
- | サブネット1 | Subnet1 | 10.10.10.0/24 |
- | サブネット2 | Subnet2 | 10.10.20.0/24 |
追加 | Azure Firewall サブネット |
AzureFirewallSubnet | 10.10.30.0/24 |
追加 | Azure Firewall 管理用サブネット |
AzureFirewallManagementSubnet | 10.10.40.0/24 |
Firewall Subnet の作成
Azure Firewall をデプロイするためには、専用のサブネットが必要です。
アドレス空間に空きがないと、デプロイすることができないので、サブネットを追加する余裕がない場合は、アドレス空間を追加してください(既存のアドレス空間と連続していなくても大丈夫です)
-
前提 として作成済みの 仮想ネットワーク を開きます。
左ペインから、サブネット を選択して +サブネット のボタンを押します。
- 下図の通り、サブネットの目的 欄で、Azure Firewall を選択すると、自動的に値が設定されます。
設計に合わせるために、開始アドレスを 以下のように変更をおこなって 追加 ボタンを押します。
- 以下のように追加されます。
- 続けて、もう1つサブネットを追加します。
サブネットの目的 欄で、Firewall Management (forced tunneling) を選択すると、自動的に値が設定されます。
設計に合わせるために、開始アドレスを 以下のように変更をおこなって 追加 ボタンを押します。
- 以下のように追加されれば OK です。
Azure Firewall のデプロイ
- 検索窓で ファイアウォール と入力して サービスを選択します。
- Firewall Manager が開くため 左ペインの セキュリティ を開き Azure Firewall を選択します。
その後 +作成 ボタンを押します。
- 下図の通りに値を入力していきます。
なお、リソースグループは 仮想ネットワークと同一になっている必要があります。
緑下線の (New) や (新規) となっている項目は、黄色枠の Add New や 新規 を押してウィンドウを開いて設定します。設定値は、後述していますので、参照してください。
Firewall policy のウィンドウでは、以下のように入力します。
パブリック IP アドレス のウィンドウでは、以下のように入力します。
管理パブリック IP アドレス のウィンドウでは、以下のように入力します。
-
DDoS protection では、今回は Disabled を選択します。
DDoS のサービスは有償サービスなので、Azure Firewall に慣れてから、運用フェーズに入る際に検討いただくレベルで良いと思います。
-
タグ は、特に変更はせずに 次:確認および作成 を押します。
-
確認および作成 タブでは、最終的な値を確認して、作成 を押します。
デプロイには、およそ 5 分くらい掛かりました。
- 下図が デプロイ完了の画面です。リソースに移動 を押します。
- 以下が ファイアウォール のリソース画面です。
緑枠の プライベート IP は、あとで使う為 値を控えておいてください。
ファイアウォールポリシーの画面へ移動するため、赤枠部分 を押してください。
この時点で、ファイアウォールのインスタンスが稼働しているので、課金の対象 です。しかし ファイアウォール の機能としては役立たずの状態です。このまま放置すると、お金をドブに捨てているのと同じですので、後続の手順まで一気に済ませてしまいましょう。
このあと、ファイアウォールポリシーの作成を行い、ルーティングを変更(パケットをファイアウォール経由に変更)した時に、パケットの制御が開始 されます。
この段階で、アクセス元 IP を確認しておきましょう。
仮想ネットワーク配下の VM から、 https://www.cman.jp/network/support/go_access.cgi へアクセスしてください。
以下のようなページに IP アドレスが表示されると思いますが、仮想ネットワークの NAT 用 のパブリック IP アドレス が表示されていると思います(Firewall 経由の経路に切り替わった際に 比較 しますので、控えておいてください)
ファイアウォールポリシー(FW 規則)
ファイアウォールの規則は、用途に応じてさまざまであるため、この章では サンプル の設定を行う事を目的に手順を紹介します。
- 以下が、ファイアウォールポリシーの TOP 画面です。
- 左ペインの 設定 を開き、アプリケーション規則 を選択します。そのあと +規則コレクションの追加 をクリックします。
- 以下を例に、設定を入力していきます。
- 200 = 10.10.0.0/16 のアドレスから、www.google.co.jp 宛の http,https パケットを許可
- 201 = 10.10.0.0/16 のアドレスから、www.cman.jp 宛の http,https パケットを許可
※www.cman.jp は、前章の最後に アクセス元の IP を表示するために使っていた サイト です。作業後にも、アクセス元 IP を確認できるようにするために、規則に加えています。
これで、ポリシーが作成されましたが、まだ パケットの制御は行われません。
次章の ルートテーブルの設定 を実施後に パケットの制御が行われます。
なお、以下の記事で 私が AVD 用に構成したFirewall ポリシー を紹介していますので、参考にしてみてください。
ルートテーブルの設定
最後に、ルートテーブルを作成し サブネット と ルート の紐づけを行うと、パケットの制御が開始されます。
- 検索窓で ルート と入力して ルート テーブル のサービスを選択します。
続いて +作成 をクリックします。
- 下図の通り、値を入力します。リージョンは、仮想ネットワーク に合わせましょう。
確認と作成 ボタンを押して進めます。
-
確認と作成 タブでは、設定した内容を確認して 作成 ボタンを押します。
- 以下は、デプロイが完了した画面です。リソースに移動 を押して進めます。
- 左ペインで 設定 を開き、ルート を選択して +追加 をクリックします。
- 以下の設定値を入力します。
IP アドレスが 0.0.0.0/0 の意味は、インターネットすべて に該当します。
つまり、インターネット宛のトラフィックは、Azure Firewall (10.10.30.4) へ転送(ルーティング)する・・・という意味になります。この時のネクストホップアドレスは、事前に控えておいた Azure Firewall の プライベート IP アドレスを指定してください。
- 最後に、作成した ルートテーブル を サブネットに割り当てます。
左ペインの 設定 を開き、サブネット を選択後に +関連付け を選びます。
- 以下の通り、サブネットを割り当てます。
- 以下の通り、構成が反映されれば OK です。
これで、ファイアウォール が機能し始めます。
再度、アクセス元 IP を確認しておきましょう。
仮想ネットワーク配下の VM から、 https://www.cman.jp/network/support/go_access.cgi へアクセスしてください。
以下のようなページに IP アドレスが表示されると思いますが、Azure Firewall のパブリック IP アドレス が表示されていると思います。これで パケットが Azure Firewall を経由している事が判ります。
そのあと、許可したサイト (www.google.co.jp) にはアクセスできるが、その他のサイトにはアクセスできない事を確認してください。
以上となります。
以後は、必要なサイトを ファイアウォールポリシー に記述する事で 制御 を行う事ができます。
おまけ:コスト削減のコツ
Azure Firewall をデプロイすると、それなりのコストが発生します。
検証時など、Azure Firewall を常時運用する必要が無い場合でも、課金が発生します。
それを、うまく コスト削減するための方法を 以下の記事で紹介していますので、参考にしてみてください。
Next Step
次は、ログの取得を試してみましょう。