FQDNフィルター搭載! Azure Firewallを試す!

Azure Firewall とは、マネージドサービスとして提供されるステートフルなファイアウォールです。似たような機能としてNSGが存在しますが、サーバー単体やサブネット単位のフィルタリングには「NSG」、仮想ネットワーク全体のフィルタリングには「Azure Firewall 」を利用するのが良いです。

【特 徴】

・[80][443][1433]に限り、FQDN/URLでのフィルターが可能 (アプリケーションルール)
・送信元IP、宛先IP、宛先ポートでフィルターが可能 (ネットワークルール)
・FQDNタグ/サービスタグの利用が可能
※ネットワークルール→アプリケーションルールの順で処理される。
・SNAT & DNAT が可能 (NATルール)
・Public IP を最大250 設定可能
・脅威インテリジェンス(既知のIPやドメインを警告/ブロック)
・ホワイトリスト方式 ※暗黙のDeny
・追加費用無しで、Availability Zones (99.99%)が可能。※送受信データ費用は必要
・強制トンネリングをサポート
・デフォルトルートが Internet に設定されている。※FW管理のためInternetへの接続が必要
・BGPが有効となっており、経路学習を行う。

[サービスタグ] (アプリケーションルール)
Microsoft Active Protection Service (Windows Defender)
Windows Diagnostics
Windows Update
App Service Environment
Azure Backup
HDInsight
Windows Virtual Desktop

【SNATとポート制限】

Azure Firewallを通過するグローバルIP向けのパケットは、必ずSNAT(PAT)されます。
SNAT(PAT)に利用できる最大ポート数は下記のように求めます。

Azure Firewall PIP(Max250) x 2048Port = 512,000
※Instance(VMSS)はCPU負荷に応じて自動でスケールアウトします。
※1つのFW_PIPあたり、最大2048Portになります。
※宛先がプライベートIPの場合はSNATの対象外(デフォルト)

512,000port以上必要な場合は、NAT Gatewayを組み合わせる事で対応できます。
※最大 1,024,000ポートまで対応可能


それでは、やってみよう!!

[+新規]ー[検索:firewall]ー[Firewall]を選択

名前:表示名
サブスクリプション:Azureサービスの提供範囲
リソースグループ:グループ名(複数のリソースを1つにグループ化する機能)
場所:デプロイするAzureのリージョン
仮想ネットワーク名:表示名
アドレス空間:Azure上に展開するネットワークアドレス帯
サブネットアドレス空間:「/25」以上 ※サブネット名[AzureFirewallSubnet]が必要
パブリックIPアドレス:表示名
DNSラベル名:AzureFirewall用のFQDNを指定

これにて、作成完了!!

作成した、Azure Firewallを選択し、ルールを設定

ネットワーク ルール コレクションの追加:IPアドレス、ポート番号 フィルター
アプリケーション ルール コレクションの追加:FQDN フィルター

【ネットワーク ルール】

名前:表示名
優先度:100~65000 ※小さい数が優先
アクション:[許可 / 拒否]

【アプリケーション ルール】

名前:表示名
優先度:100~65000 ※小さい数が優先
アクション:[許可 / 拒否]


Azure Firewall を試してみた!

アプリケーションルールに[www.yahoo.co.jp]を許可設定しました。

【所感】
・FQDNキャッシュの保持時間が不明
・複数の宛先から、パーツを集めてくるWebサイトを許可するのが難しい
・サブドメインを許可する設定が欲しい。