Cloud Service
Azure Firewall
仮想ネットワークを保護するクラウドネイティブなマネージドファイアウォール。可用性とスケールが組み込まれ、L3からL7のフィルタリングと脅威防御を一元的に提供する。
- 1.VNet 全体のトラフィックを集中制御するステートフルなマネージド型ファイアウォール。
- 2.FQDN や脅威インテリジェンスで L3 から L7 のルールを一元管理できる。
- 3.AWS Network Firewall に相当し、Firewall Policy でルールを横断管理する。
解決する課題
- 複数の仮想ネットワーク(VNet)やサブネット間、オンプレミスとの通信を1か所で集中制御したい
- 送信(アウトバウンド)通信を許可した宛先 FQDN だけに限定し、データ持ち出しや不正な外部接続を防ぎたい
- ネットワークセキュリティグループ(NSG)だけでは難しいアプリケーション層(HTTP/S の FQDN や SNI)でのフィルタリングを行いたい
- 既知の悪意ある IP やドメインへの通信を脅威インテリジェンスで自動的に遮断したい
- 全トラフィックのログを集中的に取得し、コンプライアンス要件を満たしたい
主要概念と用語
Azure Firewall は VNet 内の専用サブネットに配置するステートフルなファイアウォールです。主な用語を整理します。
- AzureFirewallSubnet: ファイアウォール本体を配置する専用サブネット。この名前のサブネットが必須で、他リソースとは共有しない
- SKU(Standard / Premium / Basic): 機能と規模で分かれる階層。Standard は標準的な L3 から L7 制御、Premium は TLS インスペクションや IDPS など高度な機能、Basic は小規模・低トラフィック向け
- ルールの3種類: NAT 規則(受信トラフィックの DNAT 変換)、ネットワーク規則(IP・ポート・プロトコル単位の L3/L4 フィルタ)、アプリケーション規則(FQDN や URL 単位の L7 フィルタ)
- Firewall Policy(ファイアウォールポリシー): ルールや脅威インテリジェンス設定を束ねる独立したリソース。複数のファイアウォールで共有・継承でき、ルールの一元管理に使う
- ルールコレクショングループ / ルールコレクション: ポリシー内でルールを階層的に整理し、優先度(priority)で評価順を決める単位
- 脅威インテリジェンス(Threat Intelligence): Microsoft が提供する既知の悪意ある IP・ドメインのフィードに基づき、通信を警告のみまたは警告して遮断する機能
- IDPS(侵入検知・防止): Premium SKU で利用できる、シグネチャベースの侵入検知・防止
- 強制トンネリング(Forced Tunneling): ファイアウォール自身の送信経路をオンプレミスや別アプライアンスへ向ける構成
- DNS プロキシ: ファイアウォールを DNS プロキシとして使い、FQDN ルールの名前解決を一貫させる仕組み
仕様・制限・クォータ
- 専用サブネットが必須で、本番ではプレフィックス長に十分な余裕(一般的に /26 以上が推奨)を持たせる。Forced Tunneling を使う場合は管理用の追加サブネットも必要
- ステートフルに動作し、戻りトラフィックは自動的に許可される(双方向に個別ルールを書く必要はない)
- スループットは SKU と規模により異なり、トラフィック増加に応じて自動的にスケールする。Standard/Premium はスケールアウトに対応し、Basic は小規模向けに上限が低い
- 可用性ゾーンに対応し、複数ゾーンへ配置することで可用性を高められる(ゾーン構成は作成時に決める)
- **公衆 IP(パブリック IP)**を関連付けて送信時の SNAT に使い、規模に応じて複数 IP や IP プレフィックスでポート枯渇を緩和する
- ルール数や IP 範囲数などにサービス上限がある。多数の FQDN・IP を扱う場合は IP グループや FQDN タグでまとめる
- 具体的なスループット値・ルール上限・推奨サブネットサイズなどの数値は変動するため、必ず最新の公式ドキュメントで確認すること
NSG は NIC やサブネット単位の L3/L4 のステートフルなアクセス制御で、FQDN ベースの L7 制御や集中ログ、脅威インテリジェンスは持ちません。Azure Firewall は VNet 全体の境界(中央集権)防御を担い、NSG は各リソート近くのきめ細かい制御を担います。両者は排他ではなく併用して多層防御を構成します。
内部の仕組み
Azure Firewall は内部的に水平スケールするマネージドインスタンス群として動作し、利用者はインスタンス管理やパッチ適用を意識しません。トラフィックを集約させるため、各サブネットのルートテーブル(UDR)でファイアウォールの内部 IP を次ホップに向け、通信を強制的にファイアウォール経由にします(強制ルーティング)。
- 評価順は概ね NAT 規則 → ネットワーク規則 → アプリケーション規則で、いずれにも一致しなければ既定で拒否される
- アプリケーション規則の FQDN 判定は、平文 HTTP では Host ヘッダー、HTTPS では TLS の SNI を参照する。確実な名前解決のためにDNS プロキシを併用するのが定石
- 送信時は SNATで関連付けたパブリック IP に変換される。プライベート宛先(RFC1918 など)への通信は既定で SNAT されない
- Premium の TLS インスペクションでは、ファイアウォールが信頼された中間者として TLS を復号・再暗号化し、暗号化通信の中身まで検査・IDPS 適用できる
- ルール本体は Firewall Policy に集約され、親ポリシーを継承して地域別ポリシーを派生させる階層構造を組める
Azure Firewall は「置けば効く」ものではありません。トラフィックがファイアウォールを通るよう、各サブネットの UDR で次ホップをファイアウォールの内部 IP に向ける設計が前提です。これを忘れると通信がファイアウォールを迂回します。
設計パターン / ベストプラクティス
- ハブ&スポーク構成のハブに配置し、スポーク VNet・オンプレミス・インターネット間のトラフィックを集約する(Virtual WAN ではセキュアハブとして統合)
- 送信は FQDN ホワイトリストで許可宛先を絞り、データ持ち出し(Exfiltration)を抑止する
- ルールは Firewall Policy に集約し、共通ルールを親ポリシーで継承、地域・部門ごとに子ポリシーで上書きする
- IP グループ・FQDN タグ・サービスタグでルールを簡潔に保ち、保守性とルール上限の両面で有利にする
- DNS プロキシを有効化し、FQDN ルールとクライアントの名前解決を一致させる
- 脅威インテリジェンスを「拒否」モードで運用し、既知の悪性宛先を自動遮断する
- 高度な検査が要る場合は Premium で TLS インスペクションと IDPS を有効化する
運用・監視
- 診断設定(診断ログ)を Log Analytics / Storage / Event Hubs に送信し、ネットワーク規則・アプリケーション規則・脅威インテリジェンスのログを集中管理する
- 構造化ログ(リソース固有テーブル)を使うと、許可・拒否の分析やトラブルシュートがしやすい
- 拒否されている通信は、評価順とポリシーの優先度を切り分けて原因を特定する(どのルールコレクションで止まったかを確認)
- SNAT ポート枯渇は送信が多い環境で起きやすく、パブリック IP を増やすか IP プレフィックスを割り当てて緩和する
- **メトリック(スループット、SNAT 使用率、ルールヒット数)**を Azure Monitor で監視し、しきい値アラートを設定する
- ルール変更はポリシーをコード(IaC)で管理し、変更履歴とレビューを担保する
コスト
Azure Firewall は主に「デプロイ時間(時間課金)」と「処理データ量(GB 課金)」の組み合わせで課金されます。
| SKU | 課金の考え方 | 向いている用途 |
|---|---|---|
| Basic | 時間課金+処理データ量。低めの固定費 | 小規模・低トラフィックの環境 |
| Standard | 時間課金+処理データ量 | 一般的な L3 から L7 のフィルタリング |
| Premium | 時間課金+処理データ量。Standard より割高 | TLS インスペクションや IDPS が要る高度な検査 |
時間課金は稼働しているだけで発生します。検証用のファイアウォールは使い終わったら削除し、本番は1つを共有して複数 VNet で使い回すと無駄が減ります。実際の単価は変動するため、見積もりは公式の料金ページで確認してください。
セキュリティ
- **既定拒否(暗黙の Deny)**を前提に、必要な通信だけを許可ルールで開ける
- 脅威インテリジェンスで既知の悪性 IP・ドメインを遮断し、Premium の IDPSでシグネチャベースの攻撃検知・防止を追加する
- TLS インスペクションで暗号化通信内の脅威まで検査する(Premium)
- FQDN ホワイトリストで送信先を限定し、マルウェアの C2 通信やデータ持ち出しを抑止する
- 全トラフィックのログを集中取得し、監査・インシデント調査に備える
- NSG・Private Endpoint・Web アプリケーションファイアウォールと多層防御で組み合わせる(Azure Firewall は東西・南北の境界、WAF は HTTP アプリ層の保護を担当)
送信を全許可(any-any allow)にしたまま運用するのは NG です。それでは持ち出しや C2 通信を防げず、ファイアウォールを置く意味が薄れます。送信は FQDN ベースで必要最小限に絞り、UDR でトラフィックを確実にファイアウォール経由にしてください。
Well-Architected の観点
- セキュリティ: 集中的な境界防御、FQDN フィルタ、脅威インテリジェンス、IDPS、TLS インスペクションにより、ネットワーク層の攻撃面を体系的に縮小する。全ログの集中取得で検知・監査も強化される
- 信頼性の面では可用性ゾーン配置で耐障害性を高められ、運用の面ではポリシーの IaC 管理で変更を統制できる。コストの面では SKU 選定と1台共有で固定費を抑えるのが基本方針となる
試験で問われるポイント
- 専用サブネット名は AzureFirewallSubnet で固定。配置にはこのサブネットが必須
- ルールは NAT 規則・ネットワーク規則・アプリケーション規則の3種類で、評価順と用途を区別する
- FQDN ベースの L7 フィルタは Azure Firewall(NSG では不可)。NSG は L3/L4 のきめ細かい制御
- トラフィックをファイアウォール経由にするには UDR(ルートテーブル)の次ホップ設定が必要
- Premium SKU の差別化機能は TLS インスペクションと IDPS
- 複数ファイアウォールのルール共有・継承は Firewall Policy で行う
- 既知の悪性宛先の自動遮断は脅威インテリジェンス機能
関連サービス・比較
Azure Firewall は AWS の Network Firewall に相当します。HTTP アプリ層の保護を担う WAF(Application Gateway / Front Door 上の WAF)とは役割が異なり、両者は補完関係にあります。
| 観点 | Azure | AWS |
|---|---|---|
| ネットワーク境界ファイアウォール | Azure Firewall | Network Firewall |
| ルールの集中管理 | Firewall Policy | Firewall Manager / ルールグループ |
| FQDN/ドメインフィルタ | アプリケーション規則(FQDN) | ステートフルルール(ドメインリスト) |
| 侵入検知・防止 | IDPS(Premium) | Suricata 互換 IPS ルール |
| L3/L4 のきめ細かい制御 | NSG | セキュリティグループ / ネットワーク ACL |
| HTTP アプリ層の保護 | WAF(App Gateway / Front Door) | AWS WAF |
Azure Firewall はネットワーク全体の送受信トラフィックを制御する「境界ファイアウォール」、WAF は HTTP アプリへの SQL インジェクションや XSS などアプリ層の攻撃を防ぐ「アプリ保護」です。守る層が違うため、両方を組み合わせるのが定石です。
ハンズオン / CLI例
# リソースグループと VNet、専用サブネット(AzureFirewallSubnet)を作成
az group create --name demo-fw-rg --location japaneast
az network vnet create \
--name hub-vnet \
--resource-group demo-fw-rg \
--location japaneast \
--address-prefix 10.0.0.0/16 \
--subnet-name AzureFirewallSubnet \
--subnet-prefix 10.0.1.0/26
# ファイアウォール用のパブリック IP(Standard SKU)を作成
az network public-ip create \
--name fw-pip \
--resource-group demo-fw-rg \
--location japaneast \
--sku Standard \
--allocation-method Static
# Firewall Policy を作成し、ファイアウォール本体をデプロイ
az network firewall policy create \
--name demo-fw-policy \
--resource-group demo-fw-rg \
--location japaneast
az network firewall create \
--name demo-fw \
--resource-group demo-fw-rg \
--location japaneast \
--sku AZFW_VNet \
--tier Standard \
--firewall-policy demo-fw-policy
# ファイアウォールを VNet に接続し、パブリック IP を割り当て
az network firewall ip-config create \
--firewall-name demo-fw \
--name fw-ipconfig \
--resource-group demo-fw-rg \
--public-ip-address fw-pip \
--vnet-name hub-vnet
# 送信を許可宛先 FQDN に絞るアプリケーション規則を追加
az network firewall policy rule-collection-group create \
--name DefaultAppRuleCollectionGroup \
--policy-name demo-fw-policy \
--resource-group demo-fw-rg \
--priority 200
az network firewall policy rule-collection-group collection add-filter-collection \
--name AllowWeb \
--policy-name demo-fw-policy \
--rule-collection-group-name DefaultAppRuleCollectionGroup \
--resource-group demo-fw-rg \
--collection-priority 100 \
--action Allow \
--rule-name allow-update \
--rule-type ApplicationRule \
--source-addresses "10.0.0.0/16" \
--protocols Https=443 \
--target-fqdns "*.ubuntu.com" "*.microsoft.com"
Azure Service
Azure Firewallを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
セキュリティ・ID
比較で見る軸
クラウド: Azure / カテゴリ: セキュリティ・ID / 難易度: intermediate
導入後に効く点
FQDN や脅威インテリジェンスで L3 から L7 のルールを一元管理できる。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Azure
- カテゴリ
- セキュリティ・ID
- 難易度
- intermediate
- 関連資格
- —
- 設計柱
- security
判断チェックリスト
- 自社の用途が「セキュリティ・ID / security」に近いか確認する。
- 強みである「VNet 全体のトラフィックを集中制御するステートフルなマネージド型ファイアウォール。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。