このエントリは2020/02/21現在の情報に基づきます。将来の機能追加や変更に伴い、記載内容との乖離が発生する可能性があります。
以下のエントリに記載されている通り、Azure Firewallに種々の機能がPublic Previewとして追加された。
CY2020 第一四半期に新しい Azure Firewall 認定と機能を導入 / New Azure Firewall certification and features in Q1 CY2020
https://azure.microsoft.com/blog/new-azure-firewall-certification-and-features-in-q1-cy2020/
追加された機能は以下の通り。
- Forced Tunneling (強制トンネリング)
- IPグループを利用した管理
- SNAT private IP address rangesのカスタム構成
- Azure Firewallのポート制限の緩和
Forced Tunneling (強制トンネリング)
外向け(Internet向け)トラフィックは通常だと直接Internetに出てしまうが、指定したNext hopに対してトラフィックを向ける仕組み。詳細は以下に記載がある。
Azure Firewall の強制トンネリング / Azure Firewall forced tunneling
https://docs.microsoft.com/azure/firewall/forced-tunneling
ユースケース
Internetへ出る前に、アウトバウンドのネットワークトラフィックをオンプレミスのエッジFirewallやネットワーク仮想アプライアンスに処理させることができる(何もしなければInternetへ直接出てしまう)。
現在の状況
- 2020/02/20現在Public Preview(SLAなし)
- 強制トンネリングではAzureの依存関係を満たす全てのアウトバウンドを保証できない
- デフォルトルートを持つAzureFirewallSubnetの、直接Internetへ出ないUDR (User Defined ROute) の設定が無効化される
構成上の注意点
- サービス管理用のトラフィックを一般利用のトラフィックと分離する
- Public IPと関連付けられた別の専用サブネット(AzureFirewallManagementSubnet)が必要
- このSubnetで許可される唯一のルートは、Internetへ向かうDefault Routeのみ
- BGP route propagationは無効
- オンプレミスへのルートを強制するためBGPで広報しているデフォルトルートがある場合、以下の作業が必要
- Firewall作成前に AzureFirewallSubnet と AzureFirewallManagementSubnetを作成
- Internetへのデフォルトルートを持つUDRを作成
- Virtual Network Gatewayのroute propagationの無効化
- AzureFirewallSubnet に対し、Internetへ出る前のトラフィックを処理するよう、任意のオンプレミスFirewallもしくは仮想ネットワークアプライアンスへのルートを含めるよう構成できる
- AzureFirewallSubnet で Virtual Network Gateway による route propagationを有効化している場合、BGPを使った AzureFirewallSubnet へのルートの公開も可能
- 強制トンネリングをサポートするようAzure Firewallを構成すると、構成のやり直しはできない(Firewallのその他の全てのIP設定を削除すると管理IP設定も削除され、Firewallの割り当ても解除される)
- 管理IP設定に割り当てられたPublic IPの削除はできないが、別のPublic IPを割り当てることはできる
IP Group
Azure Firewallルール内で複数のIPアドレスをまとめる仕組み。詳細は以下に記載がある。
Azure Firewall での IP グループ / IP Groups in Azure Firewall
https://docs.microsoft.com/azure/firewall/ip-groups
IP グループを作成する / Create IP Groups
https://docs.microsoft.com/azure/firewall/create-ip-group
ユースケース
以下の用途で利用できる。
- DNAT (Destination NAT) ルールにおけるSourceアドレスとして利用
- ネットワークルールにおけるSource/Destinationアドレスとして利用
- アプリケーションルールにおけるSourceアドレスとして利用
アドレスの指定方法
表現 | 例 |
---|---|
1個のアドレス | 10.0.0.0 |
CIDRで指定 | 10.1.0.0/30 |
IPアドレスレンジで指定 | 10.2.0.0-10.2.0.31 |
構成上の注意点
- Groupの指定は逐一入力するもよし、ポータルに対してであればファイルをアップロードすることで一括登録することもできる。
- 作成したGroupはサブスクリプションやリージョンを跨いで利用可能(そのため、グループ名はユニークでなければいけない)。
現在のステータスと注意点
- 2020/02/21現在Public Preview(SLAなし)
- 2020/05/28現在、全リージョンで利用可能。
SNAT private IP address rangesのカスタム構成
Azure FirewallのSNATの挙動は以下の通り。
- 全てのPublic IP向けアウトバウンドトラフィックに対しては自動でSNATする
- IANA RFC 1918のプライベートIPの範囲にDestinationアドレスがある場合はSNATしない
以下の条件のいずれかを満たす状況の場合、上記挙動では都合が悪いため、Azure Firewallを構成し、追加のカスタムIPアドレスレンジでSNATしないようにできる
- Private NetworkとしてPublic IPのレンジを使っている
- Azure FirewallのInternetトラフィックをオンプレミスのFirewallへと強制トンネリングしている
詳細は以下に記載がある。
Azure Firewall の SNAT プライベート IP アドレス範囲 / Azure Firewall SNAT private IP address ranges
https://docs.microsoft.com/azure/firewall/snat-private-range
注意点
現時点では指定はPowerShellでのみ可能(Portal、CLIではまだできない)。
Azure Firewallのポート制限の緩和
Azure Firewallの初期プレビューリリースではネットワークルールやアプリケーションルールで64000を上回るSource/Destinationポートを含めることが出来なかった。そのため、RPCベースの接続をブロック(具体的にはActive Directoryの同期に問題あり)してしまい問題が発生していた。
今回のルール緩和でネットワークルール、アプリケーションルールとも、1-65535までのポートを指定できるようになった。