Firewall
The presented resiliency recommendations in this guidance include Firewall and associated Firewall settings.
Summary of Recommendations
Recommendation | Category | Impact | State | ARG Query Available |
---|---|---|---|---|
AFW-1 - Deploy Azure Firewall across multiple availability zones | Availability | High | Verified | Yes |
AFW-2 - Monitor Azure Firewall metrics | Monitoring | Medium | Verified | Yes |
AFW-3 - Configure DDoS Protection on the Azure Firewall VNet | Access & Security | High | Verified | Yes |
AFW-4 - Leverage Azure Policy inheritance model | Governance | Medium | Verified | No |
AFW-5 - Configure 2-4 PIPs for SNAT Port utilization | Availability | Medium | Preview | No |
AFW-6 - Monitor AZFW Latency Probes metric | Monitoring | Medium | Preview | No |
Recommendations Details
AFW-1 - 複数の可用性ゾーンに Azure Firewall をデプロイします
Category: Availability
Impact: High
Guidance
Azure Firewall は、1 つの可用性ゾーンにデプロイする場合と、2 つ以上の可用性ゾーンにデプロイする場合で、異なる SLA を提供します。
Resources
- Azure Well Architected Framework - Azure Firewall
- Deploy Azure Firewall across multiple availability zones
Resource Graph Query
// Azure Resource Graph Query
// List all Azure Firewalls that are not configured with multiple availability zones or deployed without a zone
resources
| where type == 'microsoft.network/azurefirewalls'
| where array_length(zones) <= 1 or isnull(zones)
| project recommendationId = "afw-1", name, id, tags, param1="multipleZones:false"
AFW-2 - Azure Firewall メトリックを監視します
Category: Monitoring
Impact: Medium
Guidance
可用性とパフォーマンスの問題に関連するメトリックを監視します。具体的には、次のようになります。
- FirewallHealth: ファイアウォールの全体的な正常性を示します。
- Throughput: ファイアウォールによって処理されたスループット。スループットが文書化された制限に近づくと、アラートがトリガーされます。
- SNATPortUtilization: 現在使用されている送信 SNAT ポートの割合。このメトリックが 100% に近づくと、アラートがトリガーされます (その時点で、送信インターネット接続などのソース NAT 接続は失敗し始めます)。512,000 を超える SNAT ポートが必要な場合は、Azure Firewall を使用して NAT ゲートウェイをデプロイすることを検討できます。ただし、NAT ゲートウェイは現時点ではゾーン展開をサポートしていないため、ゾーン冗長ファイアウォールを使用した NAT ゲートウェイの展開は推奨されません。Azure Firewall で NAT ゲートウェイを使用するには、ゾーン ファイアウォールのデプロイが必要です。また、Azure Virtual Network NAT 統合は、セキュリティ保護付き仮想ハブ ネットワーク アーキテクチャでは現在サポートされていません。
Resources
Resource Graph Query
// Azure Resource Graph Query
// List all Azure Firewalls resources in-scope, along with any metrics associated to Azure Monitor alert rules, that are not fully configured.
resources
| where type == "microsoft.network/azurefirewalls"
| project firewallId = tolower(id), name, tags
| join kind = leftouter (
resources
| where type == "microsoft.insights/metricalerts"
| mv-expand properties.scopes
| mv-expand properties.criteria.allOf
| where properties_scopes contains "azureFirewalls"
| project metricId = tolower(properties_scopes), monitoredMetric = properties_criteria_allOf.metricName, tags
| summarize monitoredMetrics = make_list(monitoredMetric) by tostring(metricId)
| project
metricId,
monitoredMetrics,
allAlertsConfigured = monitoredMetrics contains("FirewallHealth") and monitoredMetrics contains ("Throughput") and monitoredMetrics contains ("SNATPortUtilization")
) on $left.firewallId == $right.metricId
| extend alertsNotFullyConfigured = isnull(allAlertsConfigured) or not(allAlertsConfigured)
| where alertsNotFullyConfigured
| project recommendationId = "afw-3", name, id = firewallId, tags, param1 = strcat("MetricsAlerts:", monitoredMetrics)
AFW-3 - Azure Firewall VNet で DDoS Protection を構成します
Category: Access & Security
Impact: High
Guidance
DDoS 保護プランを Azure Firewall をホストしている仮想ネットワークに関連付けます。DDoS 保護プランは、DDoS 攻撃からファイアウォールを保護するための強化された軽減機能を提供します。Azure Firewall Manager は、ファイアウォール インフラストラクチャと DDoS 保護プランを作成するための統合ツールです。
Resources
Resource Graph Query
// Azure Resource Graph Query
// List all in-scope Azure Firewall resources, where the VNet is not associated to a DDoS Protection Plan
resources
| where type == "microsoft.network/azurefirewalls"
| mv-expand properties.ipConfigurations
| project name, firewallId = id, vNet = substring(properties_ipConfigurations.properties.subnet.id, 0, indexof(properties_ipConfigurations.properties.subnet, "/subnet") - 7), tags
| join kind=fullouter (
resources
| where type == "microsoft.network/ddosprotectionplans"
| mv-expand properties.virtualNetworks
| extend vNet = tostring(properties_virtualNetworks.id)
| project ddosProtectionPlan = id, vNet
)
on $left.vNet == $right.vNet
| where ddosProtectionPlan == ''
| project recommendationId = "afw-5", name, id = firewallId, tags, param1 = "ddosProtectionPlan:false"
AFW-4 - Azure Policy 継承モデルを活用します
Category: Governance
Impact: Medium
Guidance
Azure Firewall ポリシーを使用すると、ルール階層を定義し、コンプライアンスを適用できます。これは、子アプリケーション・チーム・ポリシーの上に中央の基本ポリシーをオーバーレイする階層構造を提供します。基本ポリシーの優先度が高く、子ポリシーの前に実行されます。Azure カスタム ロール定義を使用して、基本ポリシーの不注意による削除を防ぎ、サブスクリプションまたはリソース グループ内のルール コレクション グループへの選択的なアクセスを提供します。
Resources
Resource Graph Query
// under-development
AFW-5 - SNAT ポート利用のため 2 から 4 個の PIP を構成します
Category: Availability
Impact: Medium
Guidance
SNAT の枯渇を回避するために、Azure Firewall ごとに少なくとも 2 つから 4 つのパブリック IP アドレスを構成します。Azure Firewall には、パブリック IP アドレスへのすべての送信トラフィック トラフィックに対して SNAT 機能が用意されています。Azure Firewall では、追加の PIP ごとに 2,496 個の SNAT ポートが提供されます。
Resources
Resource Graphy Query/Scripts
// under development
AFW-6 - AZFW Latency Probes メトリックを監視します
Category: Monitoring
Impact: Medium
Guidance
長期間(> 30 分)にわたって 20 ミリ秒のレイテンシープローブを監視するメトリクスを作成します。レイテンシープローブが長期間にわたっている場合は、ファイアウォールインスタンスのCPUに負荷がかかり、問題が発生している可能性があることを意味します。
Resources
Resource Graphy Query/Scripts
// under development