6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Microsoft Azure TechAdvent Calendar 2022

Day 18

Azure Firewall の新しい構造化されたファイヤーフォールのログ(リソース固有)を試す。

Last updated at Posted at 2022-12-17

駆け出しアーキテクトのやまぱんです。
この記事は Microsoft Azure Tech Advent Calendar 2022 の 18 日目の記事です

Azure Firewall の新しい構造化されたファイヤーフォールログ(リソース固有)を試してみました。
執筆時現在ではプレビュー機能となっています。

2023/06/15(木) 追記:GA(General Available - 一般提供)したようです。
・Announcing Azure Firewall Structured Logs General Availability
https://techcommunity.microsoft.com/t5/azure-networking-blog/announcing-azure-firewall-structured-logs-general-availability/ba-p/3847154

・Azure 構造化ファイアウォール ログ
https://learn.microsoft.com/ja-JP/azure/firewall/firewall-structured-logs

何が嬉しいか

従来の Azure Firewall の新しい構造化されたファイヤーフォールログ(リソース固有) では、見やすくするために Kusto クエリ(parse 処理)を使って整形する必要がありました。その時の記事はこちらです!

一方、今回利用する構造化されたログとは、従来のファイヤーウォールログ(Azure Diagnostics)に比べて取れるデータに大きな違いはないものの Azure Firewall が生成するログデータが一定の形式に整形されていることを指します。これにより、データの分析や可視化が容易になり、セキュリティインシデントを発見したり、トラフィックの動向を把握したりすることが容易にできます。

診断設定をする

Docs はこちらです、基本的には下記に従って設定することができますが、従来のファイヤーウォールログ(Azure Diagnostics)に比べて設定が反映されるのに時間がかかりました。(私の環境では半日ぐらいで設定が反映されてログが Log Analytics ワークスペースで確認できました。)

Azure PowerShell で有効にする

こちらはプレビュー状態ならではのお作法でGA(General Available=一般提供)後は不要になるかと思います。

Azure PowerShell
Connect-AzAccount 
Select-AzSubscription -Subscription "subscription_id or subscription_name" 
Register-AzProviderFeature -FeatureName AFWEnableStructuredLogs -ProviderNamespace Microsoft.Network
Register-AzResourceProvider -ProviderNamespace Microsoft.Network

image.png

私の環境ではコマンド一発では値が registered にならなかった(registeringで返ってきた)ので、なっていない場合はなるまで再度 Register~~ のコマンドを実施します。

Azure Firewall の診断設定を行う

今回は下記のように設定しました。
ターゲットテーブルがAzure Diagnostics ではなく、リソース固有 になっているところがポイントです。
image.png

古い診断設定がある場合は一度削除してからの作り直しをしてみてください。
私の環境ではすでに作っていた古い診断設定(Azure Diagnostics)があり、その診断設定を編集してターゲットテーブルをリソース固有 に変更しましたがなぜかうまくいきませんでした。そのため一度診断設定を削除して再度リソース固有で診断設定を新規作成することでうまくいきました。

構造化されたファイヤーフォールのログ(リソース固有)を使う

前回のファイヤーウォールログ(Azure Diagnostics) ではparse 処理 していましたが、こちらの構造化されたファイヤーウォールログを使うことで不要になったのではないかと思います。
発信元(SoutceIP)や宛先IP(DestinationIP)、Action が標準でカラムとしてあるので 少なくともこれらの情報を取る(カラムにして見やすくする)ために parse する必要はなくなりました。

AzureFirewallNetworkRuleLog / AZFWNetworkRule テーブル

kusto クエリ

Kustoクエリ
AZFWNetworkRule

結果サンプル
image.png

AzureFirewallNATRulelog / AZFWNatRule テーブル

kusto クエリ

Kustoクエリ
AZFWNatRule

image.png

その他のテーブル

上記のものも含めて AZFW~ のテーブルには下記のようなものがあります。

  • AZFWApplicationRule
  • AZFWApplicationRuleAggregation
  • AZFWDnsQuery
  • AZFWFatFlow
  • AZFWIdpsSignature
  • AZFWInternalFqdnResolutionFailure
  • AZFWNatRule
  • AZFWNatRuleAggregation
  • AZFWNetworkRule
  • AZFWNetworkRuleAggregation
  • AZFWThreatIntel

詳細は下記より対象のテーブルの説明をみてみて、ぜひ一度使ってみてください!
https://learn.microsoft.com/ja-jp/azure/azure-monitor/reference/tables/azfwapplicationrule

image.png

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?