Azure Firewall は複雑そうなイメージを持っていましたが、実際に触ってみるとインターネット疎通であれば比較的簡単に構築できました。
本記事では、Azure VM から Azure Firewall を経由してインターネットへ接続するまでの手順を紹介します。
やりたいこと
構成はSpokeVnetにあるVMからHub VnetにあるFWを通して、インターネット(www.scsk.jp)への接続を行います。
SCSKのサイトを見に行きます。
前提
今回はAzure Firewallの構築に力点を置くため、以下は作成してある前提とします。
・Vnetの作成(Hub VnetとSpoke Vnet)
・Spoke VnetにVM作成およびbastionによるVMへのアクセス可能
・Spoke VnetとHub Vnetのピアリング
Azure Firewallの構築
1.Azureポータルから「Firewalls」で検索、作成を押下
2.ファイアウォールの作成画面>基本から設定をする
| 設定 |
値 |
| リソースグループ | 任意 |
| 名前 | Test-FW01 |
| リージョン | Japan East |
| ファイアウォールSKU | Standard |
| ファイアウォール管理 | ファイアウォールポリシーを使用してこのファイアウォールを管理する |
| Firewall polisy | (新規作成)fw-test-pol |
| 仮想ネットワークの選択 | 既存のものを使用(HUB Vnet) |
| パブリックIPアドレス | (新規追加)fw-pip |
| ファイアウォール管理NIC | チェックを外す |
デプロイまでに数分かかります。
3.Test-FW01の画面からファイアウォールポリシーを選択し(fw-test-pol)を選択する
4.Rules>アプリケーション規則より規則コレクションの追加を押下
5.規則コレクションの追加を設定
| 設定 | 値 |
| Name | App-Coll01 |
| 規則コレクションの種類 | アプリケーション |
| 規則コレクションアクション | 許可 |
| 規則コレクショングループ | DefaultApplicationRuleCollectionGroup |
| 規則 | 値 |
| ソースの種類 | IPアドレス |
| ソース | Spoke VnetのIPレンジ |
| プロトコル | http,https |
| Destination Type | FQDN |
| ターゲット | www.scsk.jp(接続したいサイトのFQDN) |
6.ルートテーブルを作成し、ルートの追加を設定する
ルートテーブルの設定
| 設定 | 値 |
| 宛先の種類 | IPアドレス |
| 宛先IPアドレス/CIDR範囲 | 0.0.0.0/0 |
| ネクストホップの種類 | 仮想アプライアンス |
| ネクストホップアドレス | FWのプライベートIPアドレス |
7.ルートテーブルをSpoke Vnet内のサブネットに割り当てる
この設定により、VM からのインターネット向け通信は必ず Azure Firewall を経由するようになります。
インターネットへ接続
1.bastionを使用してVMにアクセス
2.VM内のブラウザから www.scsk.jp へアクセス
SCSKのサイト見れました。(本当は女優さんを表示したかった、、)
もちろん、許可していないgoogle.comは見れません。
感想
今回検証した範囲では、ホワイトリスト方式で運用する場合は許可対象サイトを継続的に管理する必要があり、運用負荷が高い印象を受けました。
特に一般的なインターネット利用を想定する場合は、ブラックリスト方式でアクセスを制御した方が現実的なケースも多そうです。
一方で、アクセス先が限定されているシステム用途であれば、ホワイトリスト方式も有効な選択肢だと感じました。
うまいFWポリシー制御については勉強のし甲斐がありそうです。







